AutoCAD Visual LISP / AutoLISP :: Search For Existing MLeader With Attribute Value

May 21, 2013

I'm working out a LISP for searching my entire drawing for a MLeader with a given value and then do something if it is found.

Currently, my code dies with 

; error: Automation Error. Description was not provided.

I do not know what is going wrong & I don't know what must be done next.
 
(DEFUN ML-SRCHSTR (TXT LBL / SS n_txt_LBL ENT P1 P2) ;|(ML-SRCHSTR TXT)|; (IF (SSGET "x" '((0 . "MULTILEADER"))) (PROGN (SETQ ss (VLA-GET-ACTIVESELECTIONSET (VLA-GET-ACTIVEDOCUMENT (VLAX-GET-ACAD-OBJECT)))) (VLAX-FORent ss(IF (VL-STRING-SEARCH txt (STRCASE (VLA-GET-TEXTSTRING ent))) (PROGN (VLA-CLEAR ss) (INITGET 1 "Yes No") (SETQ n_txt_LBL (STRCAT "
=>> " LBL " Label EXISTS! Add another " txt "? ") y_n (GETKWORD (strcat n_txt_LBL " [Yes/No]: ")) ) (IF(= y_n "Yes") (PROGN (ppa-L-

[Code]...

My MLeader has a _TagBox & it is the attribute of the _TagBox that I am trying to check/compare the "txt" value.

View 8 Replies


ADVERTISEMENT

AutoCAD Visual LISP / AutoLISP :: Read Block Attribute And Create MLeader

Oct 24, 2013

I'm looking to draw a mleader (with a leader style CLL_Anno) using the block basepoint as insertion point, read two attributes from that block and use those as the text for the mleader. for example: "attribute - attribute". Attached is dwg with blocks with attributes and leader style. (Block is "Trees", Attributes are "V_SPECIES" "V_DBH_DIM")

View 2 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Write A Lisp Routine That Invoke The Mleader Command

Oct 11, 2012

I'm trying to write a lisp routine that, when I invoke the mleader command, osmode is set to "nearest" & orthomode is set off. I then would like the original settings to be returned.

attached is what I have written so far:-

View 4 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Mleader With Xref Name?

Jan 27, 2012

I am looking for some mleader customization.Basically looking for a mleader that will add an objects name(in my case an xref or block) in the text. Attached is a picture of our current process... nothing special. basically instead of typing in text we use the insert field. In the field dialog that opens we select "object" under Field names, then under object the type button is pressed to select object(in my case and xref or block) then under property the "Name" option is chosen. This will insert the xref name in the multileader. This is not terribly hard but am curious if I can automate and save some steps.

View 1 Replies View Related

AutoCAD Visual LISP / AutoLISP :: How To Use Block With MLEADER

Sep 27, 2010

We have a block contain 10 attibs to be seen with 8 differents scales making 80 attribs!  (We use that before Annotative features). When we edit this block, we have a LISP that ask for the 10 avlues, and copy it for all the scale.

This lisp use the block ename in argument.

We start to use that  block with MLEADER, but we can not edited with our lisp (can not find the ename of the block in the MLEADER definition ).

Is that a way to find this ename, and to be able to modify (our substitute) all the attributes value.

View 3 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Mleader Style - Arrow Head Size Setting

Nov 17, 2009

I have some working code that sets the Text Style name to ROMANS inside my Mleader Style called ARROW. Here it is:

(setq dict (dictsearch (namedobjdict) "ACAD_MLEADERSTYLE") ; start setq q
dict1 (member (cons 3 "Arrow") dict) ; code 3 is Mleader Style Description
el1 (entget (cdr (assoc 350 dict1))) ; code 350 is dictionary entity handle
er (tblobjname "style" "Romans") ; new value for MLEADER Text Style
) ; end set
(entmod (subst (cons 342 er) (assoc 342 el1) el1)) ; code 342 is MmTextStyleId - write new vale to mTextStyleId

I want to modify this code so that it sets the Arrow Head Size to a specific value, say 0.125. Having a tough time figuring out the DXF codes and tblobjname to do this.

View 1 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Transfer Attribute Block Values To Another Attribute Blocks

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

AutoCAD Visual LISP / AutoLISP :: Convert Attribute Tag Into Attribute Value?

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

AutoCAD Visual LISP / AutoLISP :: Table Search With Wildcards?

Dec 9, 2011

any code that can search for a layer using wildcards?

In my specific case, I have multiple layers than begin with "MECA" followed by a job code. I'm trying to code something that will check to see which of those layers is on, then return the layer name.

View 1 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Get Filename From Outside The Search Path?

Jul 30, 2013

I'm trying to get the file name of a file outside the search path. Obviously (findfile) is not an option. The file location changes with each project so adding a search path is also not an option. I can get the path to the file but i can't seem to figure out how to get the file name. I can also get the first set of characters, as they are constant from project to project, it's just the end of the file name that changes. The file is always a PDF.

View 9 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Search A Block Quickly

Feb 2, 2012

to verify if a block exists in the drawing, use the following function, which for is too slow.Is there a faster way to search for a block?

(defun findblock (cerca / blk nomebl trovato) (setq blk (tblnext "BLOCK" 1)) (while blk(progn setq nomebl (cdr (assoc 2 blk)))(if (= nomebl cerca) (setq trovato T) ) ;-(setq blk (tblnext "BLOCK")) ) ) trovato)

View 2 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Using Multiple Search Path?

Dec 17, 2013

I'm using a Lisp which searches a certain folder and then updates all blocks, which are nested in that folder.

My issue is, that I'd like to use more than one folder on different path, where the LISP can search for this files. Is there a way to use multiple search path?

The code I'm using now to search for the blocks is: (setq dir "I:\AutoCAD Blöcke\Template\Support")

View 9 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Search And Replace Predefined Blocks

Jul 11, 2013

1) I want to search the drawing for the pre-define block names given in the program.
2) If the are there, I want to replace them with the new version.
3) Program replaces the first block it finds, then tries to insert that block.

View 9 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Support File Search Path

Sep 18, 2013

Some of our 64-bit users lose their custom Support File Search Paths.

After reading about it, I saw that I could add them back in by putting

(setenv "ACAD" "S:\Fonts;S:\Acad2007\Hatch_Patterns;S:\Acad2007\Lisp;S:\Acad2007\Simpson\Menu;”)

at the end of acad2013.lsp.

1.  However, I get malformed string on input error in AutoCAD.

2.  My other question is do I need to list only the custom paths or all of the built-in paths as well?

View 1 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Create Two Line MLEADER - Only Get One Line Of Text

Jul 18, 2012

I'm trying to write a lisp routine to create a two line MLEADER but i can only get one line of text. Creating the MLEADER manually from the command line i just have to hit enter after the first line of text to add a second line. How would i do this in a lisp routine?

View 2 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Tool Palette Search Path Duplicating Entries

Jul 22, 2013

I used this snip it to add the path for network  tool palettes. It works but it keeps adding the same search path every time i open a new session of AutoCAD. The list keeps getting longer with the same information. Say you want to make sure your users all have a certain tool palette.

(setq tooldir "z:\1111\2222\test]" toolpaths (vlax-get-property (vlax-get-property (vlax-get-property (vlax-get-acad-object) 'Preferences) 'Files) 'ToolPalettePath))(if (not (vl-string-search tooldir toolpaths)) (vlax-put-property (vlax-get-property (vlax-get-property (vlax-get-acad-object) 'Preferences) 'Files) 'ToolPalettePath (strcat (vl-string-right-trim ";" toolpaths) ";" tooldir) ))(setq tooldir nil toolpaths nil)

View 3 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Setting Support File Search Paths In Routine?

Nov 8, 2013

I have a simple lisp routine that loads everytime one of my users opens a new drawing, It sets the printer paths, sets the template paths and sets a bunch of environment variables

One thing I would like to add to this lisp routine is the ability to add support file search paths.

Is there a simple setenv variable for this? or is it more complicated?

View 2 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Get Attribute Value

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

AutoCAD Visual LISP / AutoLISP :: Get The Value Of Attribute

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

AutoCAD Visual LISP / AutoLISP :: Check Block Attribute Then Change Different Attribute In Block

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

AutoCAD Visual LISP / AutoLISP :: Search Database / Tables To Determine If New Layers Present In Drawing

Dec 6, 2013

Is there a way to search the database/tables/whatever to determine if new layers are present in a drawing?

I want to run a script to reconcile new layers in the sheet drawings after having cleaned the xref drawings, and the script bombs if there are no new layers present in the parent drawing.

If I could determine what triggers the layereval/layernotify sequence (tblsearch?) I could include an if or while lisp routine that would invoke the layer command and then reconcile the new layers.

View 9 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Sum Of Attribute Values

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

AutoCAD Visual LISP / AutoLISP :: How To Get Attribute Value From Block

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

AutoCAD Visual LISP / AutoLISP :: Copy One Attribute Value?

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

AutoCAD Visual LISP / AutoLISP :: Sum Attribute Tag Values

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

AutoCAD Visual LISP / AutoLISP :: How To Fix A Block Attribute

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

AutoCAD Visual LISP / AutoLISP :: Use Existing Arc As Fillet Rad

Mar 21, 2007

I have this routine for using a selected arcs rad value as a new fillet rad. If you like, a "match fillet" routine:

;Fillet Copy
;Copies the Radius of an Existing Fillet or Arc;
(defun C:filletcopy ()
(setvar "cmdecho" 0)
(setq c1 (entsel "
Select Fillet to Copy:"))
(setq c1 (entget (car c1)))
(setq rad (cdr(assoc 40 c1)))
(setvar "filletrad" rad)
(princ "
Select Lines:")
(command ".fillet" pause pause)
)

I use the routine loads but could modify so it would pick up the value of a filleted polyline? As it stands it can only select an individual arc. I would like the routine to be able to pick individual arcs and/or filleted polylines, without exploding first, if possible....

View 9 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Substituting Text With Attribute?

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

AutoCAD Visual LISP / AutoLISP :: Line Length To Attribute Tag

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

AutoCAD Visual LISP / AutoLISP :: How To Read Attribute Value Which Is A Field

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

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 View Related







Copyrights 2005-15 www.BigResource.com, All rights reserved