AutoCAD Visual LISP / AutoLISP :: Edit MTEXT Attribute Value
Dec 13, 2013
I'm having issues with updating an MTEXT attributes value using lisp.
If I insert my block (this is a titleblock) and run my lisp routine the MTEXT attribute updates fine. Once I edit the MTEXT attribute with the MTEXT editor, and then run my lisp routine again, the MTEXT attribute will not update anymore. All the single line (DTEXT) attributes update fine. The lisp routine I created has worked for years...this is the first time I've tried it with an MTEXT attribute.
View 5 Replies
ADVERTISEMENT
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
Jan 26, 2012
I'm looking for a lisp routine that i can globally change the text height and width factor of a particular block attribute. The name of the attribute tag is "TAG". I would like to be able to select all the blocks that i need to edit and then specify what text height and width factor i want to change to.
View 9 Replies
View Related
Sep 16, 2012
I need to be able to batch process a bunch of title block attributes automatically.
Block Name: Title Block
Tag Name: SH
Currently they come out with just the number 1, 2 , 3 etc I need to add a leading zero ie 01, 02, 03 etc
All the scripts I have will just replace the number with another
I just want to append the zero infront of the existing number
ie the code will need to read the existing number and decide if its less than 10. if it is less than 10, then the code just needs to append the leading 0. if its 10 or over, then do nothing.
View 4 Replies
View Related
Apr 16, 2009
Tool to combine multiple pieces of Mtext into a single Mtext with paragraphs?
View 9 Replies
View Related
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 12, 2013
I have mtext in several drawings that contains an error that'd I'd like to fix using Lisp. An example of what this text should look like is:
NOTE:
SEE DRAWING XXXX FOR DRIVE DETAILS
The fist problem is that all of the text after the note has a width factor of 0.1 and is all squished together. The second problem is that the text height of the title (the "NOTE:" part) is supposed to be larger than the actual note (the "SEE DRAWING XXXX FOR DRIVE DETAILS" PART). Is there a way to fix this using lisp? I had a lisp in progress (not done) which is:
(IF
(SETQ SSET (SSGET "X" '((0 . "MTEXT"))))
(PROGN
(SETQ COUNT -1)
(WHILE (< (SETQ COUNT (1+ COUNT)) (SSLENGTH SS))
(SETQ ENTDATA (ENTGET (SSNAME SSET COUNT)))
(SETQ ENTTEXT (CDR (ASSOC 1 ENTDATA)))
(ENTMOD (SUBST (CONS 1 (STRCAT "{\W1;" ENTTEXT "}")) (ASSOC 1 ENTDATA) ENTDATA))
The last line has no effect on the width factor of the note.
This is the entdata for this particular piece of mtext (they aren't all the same):
((-1 . <Entity name: 7ffff79ce50>) (0 . "MTEXT") (330 . <Entity name:
7ffffb069f0>) (5 . "392FD") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 .
"5") (100 . "AcDbMText") (10 676.276 751.03 0.0) (40 . 3.008) (41 . 0.0) (46 .
[Code]....
View 5 Replies
View Related
Aug 31, 2011
I have a routine, developed for me through this forum, that selects text or mtext, converts to mtext if not already, and puts a background mask with 1.1 border. I was using it fine in Map 3D 2007, but have recently switched to Civil 3D 2012 where it does not work. I get this error message:
; error: no function definition: VLAX-ENAME->VLA-OBJECT
Why does this not work in 2012? How to get it to work?
View 7 Replies
View Related
Aug 20, 2013
I'm looking for a function to return the actual text from an mtext object.if there's a carraige return I wish to replace it with a space.
View 4 Replies
View Related
Jan 11, 2006
I would like to write a routine to resize the MText limits box to the minimum size required to cover the text, for background masking purposes. From the DXF codes, I see that I can simply set code 41 to match code 42 in order to set the width. However, I cannot seem to figure out how the vertical dimension is defined. (entget) shows no change in the DXF codes after I resize the mtext box.
I do know how to figure out the height that I need, using (acet-geom-textbox), but I can't seem to figure out how to apply this height the MText entity.
View 9 Replies
View Related
Nov 19, 2013
I got this nice little lisp from [URL] .....
(defun c:mt2ml ( / oobj nobj nstrg) (vl-load-com) (setq oobj (vlax-ename->vla-object (car (nentsel "
Select source text: ")))) (if (= (vlax-get-property oobj 'ObjectName) "AcDbMText") (setq nstrg (vlax-get-property oobj 'TextString)) (exit) ) (command "_MLEADER") (while (= 1 (logand (getvar "CMDACTIVE") 1)) (command PAUSE)) (setq nobj (vlax-ename->vla-object (entlast))) (if (= (vlax-get-property nobj 'ObjectName) "AcDbMLeader") (vlax-put-property nobj 'TextString nstrg) (exit) ) (entdel (vlax-vla-object->ename oobj)) (princ))
It converts MText to a Multileader.
My goals would be as follows:
The multileader should end up on the same layer as the Mtext. (Currently it uses the current layer.)The multileader should hold the same rotation as the Mtext. (Currently it goes to zero.)The multileader should be created in the same location as the Mtext, without the user having to click. (Currently the multileader is created wherever the user clicks.)The multileader should be created without a leader. We can add one afterwards if needed, but for many we don't need a leader. (We're just using the object as mtext with a box around it.)
View 9 Replies
View Related
Oct 17, 2007
I'm finding Mleaders with Mtext don't seem to play well with command calls. All works fine until one tries to enter the mleader text. Before testing this, be sure your mleader style is set to use mtext. I recommend starting the leader with the arrow first.
Compare this mleader's text entry behavior in this basic lisp command call:(command "_.acad_dim.mleader") with the following routine that relies on an open ended command prompt (useful if you want to add more commands after calling the mleader command):
(defun c:mlx (/ cc_echo)
(prompt "
Example showing mleader mtext misbehaving")
(setq cc_echo (getvar "cmdecho"))
(setvar "cmdecho" 1)
(command "_.acad_dim.mleader")
[code]...
With qleaders, the leader and text are separate entities.
View 9 Replies
View Related
Oct 15, 2013
Lisp routine that will rotate Mtext to the same angle as the angle of a selected line and the allow you to place the mtext object where you wish.
I know there is an lisp out there called RTL that will allow you to do this with regular or Dtext, but I will not work with Mtext.
View 4 Replies
View Related
Apr 25, 2013
In my drawing I have lot of MTEXTS having unwanted spaces in between the text strings.
A lisp to remove space from MTEXT. Here i am attaching sample drawing with MTEXT which is to be modify. Magenta color MTEXT need to modify like yellow color MTEXT.
View 6 Replies
View Related
Nov 13, 2012
I’m trying to put together a loop for if nil or something other than text or mtext is accidentally selected than prompt text was not selected. This is what I have so far.
text or mtext is not selected than prompt
(defun C:ww ()
(while
(not
(and
(setq esel (entsel "
[Code]......
View 7 Replies
View Related
Dec 29, 2012
I am wanting to use autolisp to access the text in a MTEXT entity. assoc(1) gives me the first bit of text, but not the rest.Is there a way to use assoc to access each of a number of matches or do I need to write my own routine to find all the 1's?
View 5 Replies
View Related
Nov 25, 2013
I looking into a way to insert mtext with two differents sizes of the words just like the image about in autolisp.
View 9 Replies
View Related
Aug 2, 2012
i have a situation that i need to mirror a lot of MTEXT exisiting in my drawing with following needs ( as attached CAD file) :
- MIRRTEXT = 1
- original text retain not deleted.
- mirrored texts become on another layer with another color.
- mirrored texts exactly become over the original text.
View 1 Replies
View Related
Apr 9, 2012
I am not sure why this is not working.
(setq SelectionSet (ssget "C" Point1 Point2 '((-4 . "<or") (0 . "CIRCLE") (0 . "MTEXT") (-4 . "<or"))))
I want to select circles and mtext within the specified points.
View 2 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
May 31, 2013
I am working on a simple function to add/remove a non-printing stamp our drawings to specify a preliminary drawing. The issue is that I cannot seem to get AutoCAD to accept the text height in the Mtext command. Below is the code; try it and see.
(DEFUN NOT4CONSTRUCTION(/ CTR HGT PT1 PT2) (IF (EQ (GETVAR "CLAYER") "NOT4CONSTRUCTION") (SETVAR "CLAYER" "0")) (IF (EQ (GETVAR "CTAB") "MODEL") (SETQ HGT "8'-4"") (SETQ HGT "1"")) (IF (= (ASSOC 0 (TBLSEARCH "layer" "NOT4CONSTRUCTION")) nil) (PROGN (VL-CMDF "-LAYER" "M" "NOT4CONSTRUCTION" "C" "30" "" "TR" 90 "" "P" "N" "" "") (SETQ PT1(LIST (- (CAR (GETVAR "viewctr")) (/ (* (GETVAR "viewsize") (/ (CAR (GETVAR.
[code]....
View 9 Replies
View Related
Mar 19, 2012
Would like to be able to select mtext explode it get x y coords of last line of text then turn it back to mtext and then launch mtext at a @0,-0.5 justification TL width 5 and display the ribbon.
All seems to work except the (command ...)
Below is my attempt.
(prompt "Select Note")
(setq ss (ssget))
(command "explode" ss)
(setq ss (ssget "l")) ;get last line of text
(setq ent (entget (ssname ss 0))
ent1 (cdr (assoc 10 ent))) ;get x y coords
(command "undo" "1") ;set exploded mtext back to mtext
(setvar "lastpoint" ent1)
(command "mtext" "@0,-0.4" "j" "TL" "w" "5")
View 2 Replies
View Related
Feb 10, 2011
Is there a lisp or script program that will find and replace pre-defined text/mtext value of eg " issued for tender " for "issued for construction" without having to select anything.
View 9 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