AutoCAD Visual LISP / AutoLISP :: Reactors And Objects With Fields

Mar 7, 2012

I am trying to add a reactor, where if the object i move or copy is s a block of a certain name, then i would like to run update field on the last object (being copied) or the object being moved.

View 4 Replies


ADVERTISEMENT

AutoCAD Visual LISP / AutoLISP :: Fields With Broken Or Erased Objects

Oct 17, 2011

I was hoping to use find and replace "#" with broken fields in the drawing. but it will not find the # value that the field creates when it is broken. Is the only way to find a broken field a visual check? or is there another way I am not aware of?

View 5 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Back Up To Speed On Reactors

Dec 3, 2012

I had programmed Reactors in the past... it's been very long time. Need to renew my understanding?

View 2 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Can Fields Reference Other Fields On Layout

Jul 11, 2012

I was wondering if it was possible to say have a cover sheet of a project with fields and then have the other sheets in the project have their fields populate using information from cover sheet?

View 3 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Inserting Routine Into Fields

Sep 4, 2012

I have a lisp routine:

(defun getLayout (pos / result cLayout layouts^ i len)
; pos = -1 return previuous layout name
; pos =  0 return current   layout name
; pos =  1 return next      layout name
 (cond
  ((zerop pos)
   (setq result (getvar "ctab"))
  ); case

[code]...

which basically returns either the current, previous or next tab name depending on what you call up. Any way to link this lisp to a field? I am doing some plan and profile drawings which contain match lines I would like to have the match line text automated. For example if I'm on layout called PP02 there would be two match lines in the drawing one would read MATCH LINE PP01 and the other would read MATCH LINE PP03 this lisp routine returns the correct variable but how do I loink this to a fiels?

View 1 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Custom Fields / Scales

Apr 25, 2012

I've successfully written a lisp routine to insert a scale bar dynamic block with attributes, gather the object id of a user selected viewport, and write fields to attributes for each of the numbers across the top of the typical scale bar as well as the scale name, for both architectural and civil units. I'm trying to come up with a similar dynamic blocklisp routine combination to do the same with view titles, and the associated scale callout. The catch in this case is that I'd like to display the scale as "NTS" if it isn't a proper scale. The "standardscale" object property option in the field dialog box gives me almost exactly what I want, except that non-standard scales are displayed as "CUSTOM" as opposed to "NTS". Moreover, I’d like this to update on the fly, if the viewport scale changes, the scale callout needs to change also, back and forth from “NTS” to a standard scale if need be.

is there a way to change that (CUSTOM NTS)? My research online seems to indicate that the nuts and bolts of fields are deeply rooted in ObjectARX, which is something I know very little about?

The natural followup to that question is, if I can't change "CUSTOM" to read "NTS", is there a way to wrangle this whole thing with reactors? I'm envisioning object reactors, created as a part of the insertion routine, for each individual instance of the block (there could very well be several in a layout, and multiple layouts in detail drawings), that would call another routine to evaluate the viewport scale, and if it didn’t match a list of standard scales, write NTS to the attribute. My issue is that reactors seem to only associate with one object, in this case that’d be the viewport, the reaction would cause the reactor to call the routine, but how does the routine know which block to update? Is there something from the viewport properties that I can add to the block name (or some other property) which will allow the routine to figure out which block to edit?

I’ve attached my scale bar code, and block, as reference context for how I plan to set the view title up.

View 3 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Edit A Table Where Cells Are Populated With Fields

Aug 29, 2013

I've been up and down the forums looking for some direction or programming code for this to no avail.

What I'd like to do is edit a table where the cells are populated with fields.  I'd like to copy the last row of the table to a new row (fields and all), then change the fields of the row I copied FROM to text, and lock those cells.

I'd like to copy this row including the fields to a new row beneath it.  Then edit the cells of the first row to change the fields to text, and then finally lock the cells of the first row so that only the new row would update when the field properties change.  Eventually they will be populated with data from the Vault..

View 6 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Convert Fields Into Text In Specific Attribute Tags

Jan 6, 2014

Convert Fields to text in my Title Block. I want to change some specific attributes only to convert into texts in my title block ( "MODE_A3" is my Title Block name).

For example in "MODE_A3" block having lots of tags like TAG1, TAG2, TAG3 upto TAG10 with fields. I need to change TAG3, TAG4, & TAG5 attribute fields into texts in all layouts.

View 6 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Create A Master List Of Construction Notes Then Use Blocks Attributes With Fields

Nov 16, 2012

I am looking for a way to create a master list of construction notes then use blocks attributes with fields to link to that master list. That way if the master list changed the note bubbles would change as well.

Sheet sets are being used with this project but I can't think of a way to make it work with the existing sheet set technology.

View 1 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Getting Objects Layer?

Feb 7, 2010

How can I get the layer that an entity is on. I have tried numerous method but they don't seen to be retrieving the layer information.

View 8 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Delete All OLE Objects From Drawing

Nov 26, 2012

how to delete all OLE objects from drawing by most efficient way.

There are abt 150 drawings, each has from 2 to 20 or so OLE objects which need to be deleted. OLE objects are on many paper spaces.

I tried to use qselect but it selects only what is in current space.

Would need some lisp or some other methode than all can be deleted (excluding those which resides in blocks).

Tried also yto use ssx and then erase but still it deletes only what is on current space.

Just as additional info, those OLE are all pictures, not xls files for example.

View 8 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Add Multiple Hyperlinks On Objects

Jan 11, 2013

The below adds a hyperlink to the selected object.How might it have to change to add multiple hyperlinks?

(entmod
 (append (entget (car (entsel)))
     (list
      (list -3
         (cons "PE_URL"
            (list
             (cons 1000 "..\..\90 Submittals\90-3 O&Ms\fig83-clevishanger.pdf") ; Relative Path to a pdf file.
             (cons 1002 "{")

[code]...

View 3 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Take Two Objects And Swap Their Positions?

Sep 19, 2011

I have been searching for some information on how to pass objects into a function so I can mess with their properties. Somehow I haven't been very successful. Anyway...What I want to do is take two items (light fixtures) and swap their positions on the drawing. It seems like it must be really simple, but I'm just not finding the key puzzle pieces to do it. It seems like if I could figure out how to pull two objects into the function (whether by selecting them and running the function or by selecting them after I run the function) I could very easily save the coordinates of one to variables and then just swap them.

View 9 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Exporting List Of Objects

Jan 6, 2012

How to export to a txt file a list containg all the objects on the current layer and their properties?

To be precise, I would like to export the following items from a selection of plines:

- ObjectID;
- Start Point;
- End Point;
- Vertex Points;
- Width.

View 3 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Select Objects With Given Xdata?

Jan 2, 2012

with a function like this I added some xdata, some MULTILEADER

(defun c:add_xdata () (princ "Select: ") (setq ogg (car (entsel))) (addXdata ogg "TEST" "CODICE" "1256") (addXdata ogg "TEST" "MATERIALE" "LEGNO") (addXdata ogg "TEST" "TIPO" "A"))
 
Now with the following function can only select leaders who have linked the xdata application TEST

(setq selez_all (ssget "X" '((0 . "MULTILEADER")(-3 ("TEST")))))
 
I can not, however, find a way to select all MULTILEADER who have a particular value of XData.

For example I would select all MULTILEADER with MATERIALE = "LEGNO" and TIPO = "A".

View 4 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Selecting Multiple Objects

Nov 2, 2011

How to modify this routine so that I can select multiple objects as opposed to one at a time?

(Defun c:cd ()
(setq newdim (entsel "
Select Dimension to clear:"))
(setq newdimvalue " ")
(command "dimedit" "n" newdimvalue newdim "")
(princ)
)

View 9 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Area Of Multiple Objects

Nov 3, 2008

I have a lisp I use to calculate the area of an object. The section below is the area part of it:

(setq ojt (entsel "Select object to get area of... "))

(command "area" "o" ojt)

(setq oarea (getvar "area"))

I want to modify it to add the areas of multiple objects. Unfortunately it is not as simple as;

(setq ojt (ssget "Select object to get area of... "))
(command "area" "a" "o" ojt)
(setq oarea (getvar "area"))

So how would I go about doing it?

View 7 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Possible Select All ANNOTATIVE Objects In A DWG

Jun 20, 2012

is it possible select all ANNOTATIVE objects in a DWG and  to set a Viewport/ANNO scale for all  via lisp

View 3 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Draw All Objects At Same Time?

Sep 24, 2012

I have made a lisp routine to draw lines on polyline. And here are a lot of lines on it. So using comand

"(command "line" pt1 pt2 " ")"

takes a lot of time. Is here a way to creat lines in memory or similar and only then draw them all on screen?

I have search but coudin't find any info. I do not know how to formulate a query.

View 9 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Moving Objects In The X / Y Plane Only

Jul 29, 2013

I want to move a large 3D steel file on top of a 2D architectural background. The ISSUE is that when i move it (in plan view "aka top view") the X,Y coordinates change AND the Z coordinate changes... But, I want the Z coordinate to stay the same . I wrote a LISP file that doesnt seem to work (SEE BELOW):
 
(defun C:MoveXY (/ PT1 PTB PT2)(setvar "CMDECHO" 0)(setq PT1 (getpoint "
Specify Base Point or [Displacement] Displacement: ")PTB (getpoint "
Specify second point or <use first point as displacement>: ")PT2 (list (car PTB)(cadr PTB)(cddr PT1)))(command "_.MOVE" (SSGET) "" PT1 PT2))

It seems my issue comes when i get to the command line (ssget) seems to mess it all up . How to use the ".Move" command with the (ssget) function?

View 7 Replies View Related

AutoCAD Visual LISP / AutoLISP :: New Layer For Selected Objects

Jan 1, 2014

I need a LISP that create a new layer and ask me for the name and the other properties (color,lw,lt..).

ask me if I want move the selected object for the new layer (yes is the default value)

View 9 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Detect If There Are Objects Selected

Oct 18, 2012

Any way to detect of there are objects currently selected using Autolisp, visual lisp or even VBA. I would like to be able to do something using that as a conditional, so that (assuming the hypothetical variable isSelected is an on/off indicator of whether or not something is selected) I can code something like this:

(if (isSelected) (...))

View 4 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Moving Objects To Different Layer Is Slow

Nov 26, 2013

I find that the command to move objects to a different layers runs very slow in one of the drawing.  I want to find out what wrong with the drawing and how to speed things up.

I have a LISP program that batch processes a large number of drawings.  One of the step to process each drawing is to change the colors of some objects according to the status of the objects.  I do this by moving the objects to a later that has the right color.  So far the program only takes 2 to 4 minutes to process each drawing.  But the program takes close to 90 minutes to process one specific drawing.  I track down the problem has to do with the command that moves the objects to the right layer, like this:
 
(vl-cmdf "_.chprop" (ssget) "" "_layer" "ABC-Prod-Good-Pcs" "")

 This command takes a very long time to finish, like 40 minutes each time it runs (to move 1200+ objects), and the program needs to run it twice for a total of approximately 80 minutes.

Please note that the drawing itself is not the largest drawing, and it doesn't have the largest number of objects to be moved either.  It is close to the top-5 drawings in term of drawing size and the number of objects to be moved. I cannot say that the drawing size or the number of objects to be moved are the cause of the problem.

I tried to "speed up" by moving 200 objects incrementally.  That didn't work. I tried to "speed up" by moving 100 objects incrementally and saving the drawing after each 100 objects are moved.  That didn't work either; actually the speed is slightly slower than simply moving 1200+ objects all at once.

I don't know what to do.  I believe there may be something unusual about that drawing.  By the way, the reason why I choose to change color by moving objects to a different layer has to do with the fact that I have found this is the best way so far. I tried to change the color of the objects directly.  But I find that the color of some sub-parts of the objects are not changed (because their color is by-layer). That's why I choose to change color by moving objects to a different layer.

How I can check the drawing, any different way to change color that is better.

View 5 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Move Selected Objects By Value Of Their X Or Y Properties

Nov 23, 2012

I need a program to move some selected text to a line something like as extend command but for text objects!

suppose that there is a horizental line (y=constant) or vertical line (x=constant) and some selected text(or other objects), I want a lisp program that move these selected text (or objects) by their "insertion point" to this line.

in other word, if the selected base line is horizental (y=constant) then property of "Y" of all selected text should change to line's "Y"; and if selected base line is vertical (x=constant) then value of "X" of all selected text should match to line's "X" value.

for example, for base vertical line (x=constant) and 3 selected text(or can be any object) result is:

text1.          |                        text1.|

  text2.        |         ===>       text2.|

    text3.      |                        text3.|

|  .text1                                 |.text1

|    .text2                ===>       |.text2

|      .text3                             |.text3

View 9 Replies View Related

AutoCAD Visual LISP / AutoLISP :: How To Attach Classification Definitions To MEP Objects

Nov 25, 2011

The CADdesigners have asked me if i can make a function that runs through our AutoCAD 2012 MEP model attaching certain predefined classification definitions to ducts, pipes, MVparts etc.

I have used hours searcing for examples / tutorials on how to connect to the MEP objects not finding what i need.

View 5 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Routine To Scale Text Objects

Jan 8, 2014

Any Lisp Routine to scale text objects a certain value and have the program actually scale each text object as you pick them.

The change text height using the Properties function does not work for what I need because the objects I need to scale are Mtext objects with Background Mask, and when you use the Properties function to change their text height it messes up the background mask so that you have to select each text entity and stretch the mask area smaller or larger, but if you use the scale function it scales the background mask as well so the background mask coverage is still the same.

View 2 Replies View Related

AutoCAD Visual LISP / AutoLISP :: SSGET For Selecting Multiple Objects

Nov 27, 2012

I have this code that I wrote years ago that I want to update to select two types of civil3d objects and show them selected with grips on the screen. This function works fine

(defun CELFEATURE ()
(ssget "_X" '((0 . "AECC_FEATURE_LINE")))
(setq sset (ssget "P"))
(if sset
(progn
(sssetfirst sset sset)
;(command "_.PROPERTIES")
)
)
)
(defun cF () (CELFEATURE))

but if I add the extra object like this which I assume is the wrong syntax i only get the second type of objects. Need correct syntax I should be using for selecting more than one object in an ssget statement.

(defun CELFEATURE ()
(ssget "_X" '((0 . "AECC_FEATURE_LINE","AECC_AUTO_CORRIDOR_FEATURE_LINE")))
(setq sset (ssget "P"))
(if sset
(progn
(sssetfirst sset sset)
;(command "_.PROPERTIES")
)
)
)

(defun cF () (CELFEATURE))

View 2 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Select Several Objects And Get Starting / Endpoint Of Each One

May 4, 2013

I want to make it so that I can keep selecting several objects and get all the starting points and endpoints of each one with (setq ent (entsel))

(Defun c:demo (/ ent)
(setq ent (entsel))
(princ)
)

View 9 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Moving Objects Vertically In 3d View

Jan 1, 2014

I am having trouble moving an object a certain distance. The distance is defined by a pre-defined variable. I just can't figure out the syntax for the autolisp command.

Here is the bit of code if written, there is more code not shared here that defines the points for the polyline .

;-- the varaible box_height is defined earlier in the routine

;-- Draw the polyline for the top of the cabinet
(command "pline" p1tt P2tt P3tt P4tt P5tt P6tt P7tt P8tt "c")

;-- Assign the new part a variable name
(setq cab_toppl (entlast))

;-- Extrude the polyline to make the top of the cabinet
(command "extrude" cab_toppl "" cab_intw "0")

;-- Assign the new part a variable name
(setq cab_top (entlast))

;-- Rotate the top of the cabinet down to the floor of cabinet

(command "rotate3d" cab_top "" 2 p1tt p2tt 90)

;-- Move the top of the cabinet to the final location

;--  HERE IS THE PART I'M HAVING TROUBLE WITH.  ESSENTIALLY ONCE THE PART IS CREATED I'VE NAMED IT CAB_TOP AND AM NOW TRYING TO MOVE IT IN THE Z AXIS THE DISTANCE DEFINED BY THE VARIABLE BOX_HEIGHT WITHOUT USER INPUT

(command "move" cab_top "" "0,0,0" (list (0 0 (box_height) "") 

;--THIS PART IS OKAY

(setvar "CLAYER" oldlayer) ;restore active layer

(setvar "BLIPMODE" 1)
(setvar "OSMODE" 135)

View 1 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Polyline Objects - Draw MLINE

Sep 2, 2013

I have drawings with a lot of polyline objects. I need a routine which will draw multilines by coordinates of vertexes of this polylines. For example, if there is a pline with coordinates 10,10 - 20,20 i want to draw in other layer MLINE with the same coordinates. I know it's should be simple but can not gues how to do it. I've never used LISP before.

View 5 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Converting Objects Of Certain Linetype To A New Layer

Oct 26, 2012

I would like converting all objects that has forced linetype to be on a linetype layer.

So if there are objects that have forced linetypes - dashed/hidden/phantom, etc., those entities would be moved to a linetype layer based on their forced linetype.   The entities would all be changed to color bylayer, linetype bylayer.

So if there is a rectangle that is sitting on an EQUIPMENT layer, the routine would put that rectangle on a new layer called DASHED and change its forced linetype to BYLAYER.

Lastly, once that's done, the next and final step is to locate a the existing layers with matching linetype - say, OBJECTS with DASHED as a linetype, and merging it to that layer.

View 9 Replies View Related







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