Search the Community
Showing results for tags 'attin'.
iCADSolutions posted a topic in AutoLISP, Visual LISP & DCLMy condition: I use AutoCAD to do Fire Alarm plans for a client. One of the redundant things I have to do is label a device on a floor plan with the same label as the same device on a riser diagram on a layout sheet. I construct my riser after laying the devices out on the floor plan. My problem is I have to do the label twice which takes a ton of time. Once on the floor plan and the same label for that device on the riser diagram. Possible solution: 1. Go through Label the block attribute once on floor plans. The labels are sequential once inputted. 2. Extract those attributes 3. Import those attributes into the blocks on the riser diagram...but individually. I want to be able to select the block and import the data in a one-to-one ratio in sequence as I go through selecting the corresponding block on the riser diagram. Basically after I've exported the data I want, I want to import the data on a block by block basis. I want to click a block and import a string a data, the next block i select takes the next string of data in the list sequentially and so on. Does something like that exist? Is that possible? Forever grateful.
I am attempting to make a modified version of the ATTIN command in order to automate the process; removing user prompts, specifying file import location, and batch processing from a specified directory. But I have run into a wall, and I am very new to LISP (about 3 weeks new now). This is a process I developed for my company to update title-block attribute tags more uniformly, reducing user input error when doing what is sometimes hundreds of drawings. Now that I am finally teaching myself Autolisp I'm trying to take it a step further. Thus far I have eliminated or worked around (defined variables) for all of the user prompts (file location, yes_no box, etc.). I have used found code to write a script to run this lisp on all drawings in a defined directory, as well as modified the single user selection to a global search with an added parameter of "(8 . "TB_LAYER") so that it only looks at blocks with attributes on this layer. This is to avoid the "acet-alert" box when blocks that do not have matching tag names are found, which stops the batch routine, and causing an alert box loop that freezes AutoCAD. The issues I am having trouble pinpointing are that when I run this routine on a single drawing with the correct parameters, it works like a charm. It successfully updates the block with the new information without any input required from the user. However, when the script runs it I get a "No handle found" return that doesn't end the script, but doesn't successfully rewrite the attributes. I'm at a loss because the script simply opens the drawing, runs the command individually, saves, and closes the drawings. So I can't understand why it doesn't work the same way as if i ran it on a per drawing basis. Any help would be appreciated, as i said before i am very new to lisp coding, so it may be plain as day to some of you. Please be gentle attimport.lsp