Visual LISP, AutoLISP and General Customization

Visual LISP, AutoLISP and General Customization

*young, steve
Message 1 of 1 (38 Views)

dealing with block attributes with lisp

38 Views, 0 Replies
03-17-2000 01:48 PM
I have a titleblock for a drawing which is composed of columns of data:
issue number, name of issue, date of issue. for example
1. issued for review march 5, 2000
2. issued for tender march 15, 2000 etc.
each of these items is an attribute to the block. (ie 6 attributes are shown
above in the two rows; there are a total of 13 such rows). If there have
only been two issues of the drawings then rows 3 to 13 will have nil
attribute values.

Essentially what I want to do is update the title block to provide an issue
number, name of issue, and date in the next available row. ie start at row
1, if the attribute is nil, then update the three attributes in this row, if
row 1 isnt nil then go to row 2, and check to see if the attribute values in
this row are nil etc until the next blank row is found.

I have read the info in the autocad customization manual, which is similar
to that included with the visual lisp help file, and I have read through
Sham Tickoo's "Customizing AutoCAD R14", but I still dont have a clear idea
of how to access attributes, check their value and update their value. Is
there a better explanation of how to access attribute values in lisp?

In particular, if I know the object name for the particular block that I
want to work on (found using ssget and ssname), and I know the name of the
tags that I want to look at, how do I check the value of the attributes for
this particular block?

Lets say the blocks name is TBLOCK, and the attribute tags are
iss_1 name_1 Date_1
iss_2 name_2 Date_2 etc

and the variable NAME holds the object name for the block, could you write a
short piece of code to change the next available row to
3. issued for construction march 30, 2000

Need installation help?

Start with some of our most frequented solutions or visit the Installation and Licensing Forum to get help installing your software.