AutoCAD Visual LISP / AutoLISP :: Extending Attribute Definition
Jul 6, 2012
I am trying to customize AutoCAd for a special domain where attribute values need to have a type. I can have a clean integrated solution by manipulating the acad.dcl or base.dcl .I am using AutoCAD 2012 . I want to extend the " define attribute" and "edit attribute" dialog boxes to promt the user for a value type when they define an attribute .I can't find the definition for these dialog boxes in acad/ base dcl files. Ideally I want to add another tile definition to these dialog boxes .If that is not possible atleast spawn a different dialog box from the "define attribute " dialog box that will collect the value type from the user.
View 2 Replies
ADVERTISEMENT
Jul 3, 2012
I wanna transfer my attribute block values to another attribute text blocks , is there any lisp for that?
Is there a possibility for sum tag values of choice attribute blocks to inside of another attribute text block ?
View 2 Replies
View Related
Dec 8, 2011
Background: Someone exploded an attribute block and copied it hundreds of times throughout a project, each time changing the Attribute Tag to match the Value they expected to appear in their drawing. The drawing must be xrefed, so the attribute definitions do not appear.
(There is only 1 attribute in the block.)
Proposed Solutions:
1:AutoLISP routine which copies Tag data from Attribute Definition into Value of Attribute Block:
Prompt-Select Attribute Definition
Copy Tag data
Prompt-Select Attribute Block
Paste data into Value
(Allow repeat to speed workflow)(*PREFERRED*)
2:AutoLISP routine which copies Tag data from Attribute Definition into Default Value and creates a new Block:
Prompt-Select Attribute Definition
Copy Tag data
Paste data into Default Value
Create New Block
(Select Multiple Objects)(Creates tons of new blocks which are messy)
View 3 Replies
View Related
Nov 8, 2011
How i can calculate bounding box of a BLOCK definition ? I know after inserting a block, we can get bounding box of a block reference.
But how can i get bounding box before insert? Assuming that i never going to scale or rotate it.
View 9 Replies
View Related
Feb 22, 2013
Can't you access the block definition via ObjectDBX.
(without the dwg file being open)
I am parsing through the blocks to find all the xrefs.
When I get to an XRef... I don't seem to find a way to check if it's an XRef.
View 4 Replies
View Related
Aug 17, 2012
The error below has appeared randomly when AutoCAD 2011 is started. There was not an error of this sort, but it suddenly appeared and some of the LISP routines will no longer work.
*Invalid attempt to access
a compiled function definition. You may want to define it using defun-q:
#<SUBR @000000003f5fda98 S:: STARTUP>
View 1 Replies
View Related
Jan 10, 2012
I D/L a lisp file (setvars.lsp) that purports to give a list of system variables that match a short string entered in a dialog box.
Unfortunately, an error arises that says 'error : no function definition: STRNUM'
I've looked at the code and can't tell what the writer was hoping to achieve.
The specific section is as follows:
(if F1
(progn
(setq RL (read-line F1))
(while RL
(if (and (wcmatch (strcase RL) (strcase (strcat "*" DESCR1 "*")))
(wcmatch (strcase RL) (strcase (strcat "*" DESCR2 "*")))
[Code] .........
There is no other mention of STRNUM in the whole of the lisp.
There is an accompanying setvars.dat, wherein apparently, the writer compiled a data file of all the system variables in AutoCAD2008, each variable being followed by an '=' and then a description of the variable.
If necessary I can post the whole lisp and dat file, but was hoping to discover the intention from the above extract and therfore where I might work out an alternative to this line.
Looking to turn a string to a real? If so, why are there two 'arguments' following the 'function' STRNUM?
View 9 Replies
View Related
Jun 3, 2013
I am trying to find a lisp that would get an attribute value (tag name = NBR_5) . I'm trying to run a simple routine that would let the user place the value from the titleblock attribute as text on a drawing. I see a ton of articles regarding getting attributes but I am not well versed in programming.
View 9 Replies
View Related
Dec 30, 2011
Is there a quick way of getting the value of an attribute?
I have an attributed block called "tp_attributes" and it has and attribute called "OrderNum".
I just want to be able to quickly grab that value.
View 3 Replies
View Related
Aug 31, 2012
select all blocks on certain layers in a drawing, check attribute CIRCUIT in each block if it starts with MS then attribute CONTROL = switched. I hope thats clear enough the way
(defun c:control()
(graphscr)
(Setq sc (ssget "X" '((0 . "INSERT")
[Code].....
View 1 Replies
View Related
Jul 29, 2005
Say I have a block that contains two attributes, one contains a value that is a number and another contains a value that is letters. I have many of these blocks placed in a drawing, could you create a lisp that would return the sum of the number value and return it to the command line along with the letter value. Something like this:
Sum--------Item
128 RP
389 TD1
2389 SP4
View 9 Replies
View Related
Jun 17, 2013
I continue with my problems.....
I get attribute value from block and put it in a list:
(repeat (setq cnt (sslength sset))
(setq attValue (GetAttributeValue (ssname sset i) "tag1"))
(setq attValue2 (GetAttributeValue (ssname sset i) "tag2"))
[Code]...
When I try to put them in a table...
(foreach item lst
(vla-setText mytable
row 0
(last item)
)
(setq row (1+ row))
)
only put one ( attValue2) at column, and i like put 2 values, each one in a column in the same row
View 9 Replies
View Related
Nov 2, 2012
i want to select a block and the lisp copies TAG1 into my clipboard (i want to paste it in excel)
View 9 Replies
View Related
Jul 17, 2013
Lisp or lisp code for sum attribute tag values and paste result to an another attribute block tag?
i attached jpg for explain to what i want to do .
View 4 Replies
View Related
Mar 29, 2012
I need fix a block attribute named "NrPunct.dwg"
MyProblem: after I insert the block “NrPunct” in my drawing ,, I cannot modify "textHeight", when I edit the ATTDEF (or attribute) with the command “DDEDIT” . Why?
You see my arrow in the picture pozamea.jpg…
View 2 Replies
View Related
Apr 29, 2013
I run into some issues where i need to change an attribute based on where a block is located on a drawing. I started this routine to select the block, and then select the text that I want to change the block attribute to. It seems like everything is working up until this point. What I want to do is then replace the first selected with the second selection. How would I go about doing that? here's my code so far:
(defun C:uf ()
(if (setq fuse (nentsel "
Select Fuse Attribute: "))
(progn
(setq en (car fuse))
(setq enlist (entget en))
(setq fuseatt(cdr (assoc 1 enlist)) ) ) )
(if (setq mt(car (entsel "
Select Text: ")))
(progn
(setq enlist2 (entget mt))
(cdr (assoc 1 enlist2))
(setq wiren(cdr (assoc 1 enlist2)) ) ) )
)
View 8 Replies
View Related
Sep 30, 2013
Is there any simple code for to sum length of lines which is i am choosing and copying result to chosen attribute tag ?
View 1 Replies
View Related
Dec 15, 2011
(cdr (assoc 1 (entget (entnext (car (entsel))))) ...
gives the string value of the attribute, but i would like to retrieve the field value attached to that attribute.
View 3 Replies
View Related
Jul 16, 2013
I am trying to update my Title Block with a LISP routine (As the title implies).
So far, this is what i have...
(defun c:aTest (/ ss att)
(if (setq ss (ssget "X" (list (cons 0 "INSERT")(cons 2 "TB_PARAMOUNT_ELC")
(cons 66 1)(if (getvar "CTAB")(cons 410 (getvar "CTAB"))
(cons 67 (- 1 (getvar "TILEMODE")))))))
(progn
(foreach ent (mapcar 'cadr (ssnamex ss))
(setq att (entnext ent))
[Code]...
The title block, block name is static. The attribute name is static.
My ultimate goal is to copy the value of one attribute and "paste" that into the value of another attribute, and itterate this through the entire project.
View 9 Replies
View Related
Jun 24, 2012
I have a block "MANAGER" with Two Attributes "CETOP" and "CEBOT" I would like a lisp to replace what ever is in those attributes with defined text, for my purposes "Text1" and "Text2". I would like a simple routine that even I can understand so I can apply it to a couple of other lisp projects I have.
View 6 Replies
View Related
Oct 30, 2012
I want to edit 1 attribute value in a block to number all my blocks (eg A001, A002, A003...) (example picture attached)
I know about the at tout and at tin but I need a lsp routine that only changes one attribute value without having to double click and go through that.
i attached a lsp routine, how to edit and remove everything except the value part.
View 9 Replies
View Related
Jul 23, 2012
significance of extra dxf 1 groups in the entity data of a multiline attribute? I am looking at one for the first time, so I don't know whether or not to expect multiple 1 groups. In the single example I have created there are two and the first one seems to be ignored. Can I count on that being the case all the time? Data for the one I'm looking at follows, and what shows up on the drawing display is only the contents of the second dotted pair with 1 as a key.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
((-1 . <Entity name: 7ec37d18>)
(0 . "ATTRIB")
(330 . <Entity name: 7ec37d10>)
(5 . "323")
(100 . "AcDbEntity")
(67 . 0)
(410 . "Model")
[code]...
View 9 Replies
View Related
Apr 24, 2012
From what I can gather the attributes of a MVBlock are on the Viewblocks inside of it.
With LISP, how can I access these attributes to get and set them?
View 5 Replies
View Related
Oct 26, 2012
Any routine where I could keep picking on my exit arrow blocks (showing how many persons exiting from each space) one-by-one and the program would add up the numbers. For example I pick on blocks with numbers of 2, 4 & 3 and I would get 9.
View 3 Replies
View Related
Apr 13, 2011
I have several lisp routines that we have used since release 12 that now dont work in 2012. They all placed blocks with attributes, allowed user to fill in and continued to finish. In 2012 the attribute dialog box does not come up and point information for block placement is filled in the attributes. Is there a system variable that changes dialog boxes in 2012?
View 7 Replies
View Related
Jan 9, 2013
I found this routine [URL]...... that changes the width of an attribute in a block. After use it, I need to use the ATTSYNC to update the other instances of the bloc in my project.
How to modify this lisp that I receive a prompt to choose if the width attribute will be change just in the selected block or in all instances of the block? In that way, I would not have to use the ATTSYNC command each time.
View 7 Replies
View Related
Jul 5, 2012
i am wondering if it is possible to alter a specific attribute in cca 250 files? I have this template which has like 50-70 attributes,but not all of them are used. I have to change only one attribute in all of the files. For instance, i have an attribute with a specisfic tag, but the content of it is ie MARK, i want to change MARK to PETER, without having to open,click,retype,save,close every file. Is it possible to automatize it somehow? maybe lisp, batch or even VB?
View 2 Replies
View Related
Aug 30, 2011
How would one modify
(= (cdr (assoc 0 data)) "ATTRIB")
in order to filter for a certain attribute tag named MYTAG
I am working with a custom LISP routine which reports out to a CSV file, an attribute extraction file - but I need my routine to ONLY evaluate blocks which have the MYTAG attribute tag. Then, if it passes that first check, it evaluates another list of Tags within those blocks - a list of tags which I have specified elsewhere in the code.
I am trying to modify my existing code as little as possible, and I think that if I do it at the line (which I've pasted above) - that will "pre-qualify" my selection set....
ATTACHED LISP IS THE FILE I AM WORKING WITH --- THE ACTUAL LINE I WANT TO MODIFY IS AT:
"(while (eq ENSUB "ATTRIB")"
View 3 Replies
View Related
Feb 3, 2012
I'm looking for a lisp routine that will globally list all the values from a specific attribute tag within a specific block. The attribute tag is "COMMENT" and the block name is "FSD".
View 9 Replies
View Related
Oct 22, 2013
I created a block with attributes on various layers to make it possible to turn them on/off by need. The I created a multileader style and set this block as a content. When I create a multileader all attributes appear on the same layer as the multileader itself (text entities in the block keep their layer). Is it possible to manage attribute's layer in multileader?
Please see the attached file.
View 5 Replies
View Related
Jan 12, 2012
I have a multileader balloon that I want to have a field that is a diesel expression that will allow me to select a block and extract the attribute value within that block. Is there anyway to do this?
View 9 Replies
View Related