Solved

LISP Routine works in 2002 but not in 2009

Posted on 2011-03-04
1
567 Views
Last Modified: 2012-05-11
Might someone here be able to take a look at the attached LISP routine, which runs successfuly in 2002, to identify why it doesn't run in 2009? (I am a rank rookie when it comes to AutoCAD, and LISP in particular.)
 
The attached LISP routine was written by a user, long gone, to restore titleblock text attributes (size, font, position, etc) and to populate a field in the upper left corner of the drawing border, based on the contents of a title block field.
 
When I run the command in 2009 it clears the contents of the titleblock, replacing the information in each attribute field with an asterisk.
 
More strangley, the command is successful in 2009 under the following circumstance: If I place a border in Drawing1.dwg and DON'T SAVE IT, then populate the titleblock fields, I am able to run the command and see the field in the upper left corner of the drawing border receive information from the 'associated' field in the title block -- just as in 2002. However, once I save Drawing1.dwg as an actual file and run the command again, the title block gets hosed. The following error appears in the command window:
Searching for block TITLE_BLOCK ...Found block TITLE_BLOCK ...; error: no function definition: FLD.

I am in the process of trying to figure out what 'no function definition: FLD' means..

The attached ZIP contains a sample drawing file, the LISP routine, and a docx file with additional information. Any help is appreciated.
 RETITLE.zip
0
Comment
Question by:tsynnott
1 Comment
 
LVL 12

Accepted Solution

by:
silverkorn earned 500 total points
Comment Utility
As per the Autodesk forums found here:
http://forums.autodesk.com/t5/Visual-LISP-AutoLISP-and-General/LISP-routine-works-in-2002-but-not-in-2009-except-when-run-in/td-p/2940524

Your problem has been resolved by inserting one of the following code snippets

 
(defun fld (code)
 (cdr (assoc code elist))
)

Open in new window


 
(defun fld(code)
(cdr (assoc code (entget e)))
)

Open in new window

0

Featured Post

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

The following article will describe how to add/edit a dimension style through AutoCAD VBA. AutoCAD VBA has its quirks and when it comes to dimensions and controlling how they look through VBA.  This is where AutoCAD can be vividly confusing. The…
In this article, we will see the basic design consideration while designing a Multi-tenant web application in a simple manner. Though, many frameworks are available in the market to develop a multi - tenant application, but do they provide data, cod…
Internet Business Fax to Email Made Easy - With eFax Corporate (http://www.enterprise.efax.com), you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, fr…
In this tutorial you'll learn about bandwidth monitoring with flows and packet sniffing with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're interested in additional methods for monitoring bandwidt…

728 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now