Solved

LISP Routine works in 2002 but not in 2009

Posted on 2011-03-04
1
571 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
1 Comment
 
LVL 12

Accepted Solution

by:
silverkorn earned 500 total points
ID: 35056704
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

[Webinar] How Hackers Steal Your Credentials

Do You Know How Hackers Steal Your Credentials? Join us and Skyport Systems to learn how hackers steal your credentials and why Active Directory must be secure to stop them. Thursday, July 13, 2017 10:00 A.M. PDT

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

If, like me, you find yourself repeatedly and tediously joining many segments (lines, arcs) in other people's drawings back into polylines that can be used more effectively in Computer Aided Machining and Laser Cutting, then this article is for you!…
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…
NetCrunch network monitor is a highly extensive platform for network monitoring and alert generation. In this video you'll see a live demo of NetCrunch with most notable features explained in a walk-through manner. You'll also get to know the philos…
Monitoring a network: why having a policy is the best policy? Michael Kulchisky, MCSE, MCSA, MCP, VTSP, VSP, CCSP outlines the enormous benefits of having a policy-based approach when monitoring medium and large networks. Software utilized in this v…

705 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