AutoCAD Visual LISP / AutoLISP :: Determining The Layer Block Was Created On?

Feb 21, 2012

I have blocks that were created on one layer but inserted on another layer. So, when i  turn the layer off that the blocks were inserted on they remain visible because you have to turn off the layer they were created on to have them disappear. Is there a way for me to determine what layer the blocks were created on?

View 9 Replies


ADVERTISEMENT

AutoCAD Visual LISP / AutoLISP :: Layer State - Ignore Any Newly Created Layers?

Aug 8, 2013

we have a good size project going on with lots of view ports of a base map (floor plan or site plan).  Then we set the viewport layers the way we would like it, but along the way, we keep getting updated base maps (floor plan or site plan) with new layer created in them.  These newly created layers are for the originator and will not affect our project.

Is there a way to have our project set to ignore any newly created layer from the originator of the base files?  That is, we have our project (viewport layers) set the way we want it.  When we get an updated base file, replace the xref(s), our layer state will still be the same, ignoring any newly created layer, automatically.  I sure hope I am clear enough here.

Our problem is that when we get a new base file, then we would have to go to every file that has a viewport related to this new base file and turn off the new layers.

AutoCAD 2014

View 1 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Determining Number Of Lines In Multiline Attribute

Sep 26, 2013

I am basically trying to determine how many lines are in the mutliline attribute. I have abandoned the idea of directly trying to find the the number of lines and have moved on to trying to fine the height of the multiline attribute. I have included the lisp and sample drawing that will draw a box of the boundingbox around the mutiline attribute. 

This block as originally a dynamic block that different visual states. I have tried using the bounding box option on the block itself, however, if there are blocks hidden with the visual state, it will draw the bounding box according to the largest element in dynamic block every time. So I need to determine the height of the multiline attributes instead and adjust the dynamic block accordingly. 

View 3 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Change Block Layer

Jul 25, 2006

I have been filtering through this descuession group for a whil this morning looking for what I need and have found somethings that are close but haven't managed to change them a little to do what I am wanting..

I have drawings with a block named UG101 and has been inserted on all sort of different layers.

What I would like to do is run a lisp routine that would select all blocks with the name UG101 and put them on the layer CableInfo.

I have many other blocks that i need to do the same to but with different names, so I was hoping, I could change the lisp routine around to do the rest of the blocks in the drawing..

View 9 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Change Block Layer After Insertion

Mar 7, 2013

wondering if is possible to have a lisp routine to:After use the INSERT command, the routine will automatically change the layer of the inserted block to a specific layer according of its name.

i.e.

Step 1 : I will insert a block named Block A using the normal autocad INSERT command (I do not want to insert the block without the Insert window dialog box)

Step 2 : After the insertion, the routine will select the last insertion (or the last object, or any other best way to select this block and will take it's name)

Step 3 : The routine has a list that says:

(If the last insertion (or object) is named Block A, put it in the layer Layer A with color Bylayer and linetype Bylayer)             

(If the last insertion (or object) is named Block B, put it in the layer Layer B with color Bylayer and linetype Bylayer)

and so on... I can make the approprieated list by myself folowing my standards.

I think it will be nice to avoid an error if the block is not in the list. So:

(If the last insertion (or object) name is not in the list, do nothing)

To finish, it will be nice to create the layer if it does not exist. Also, Unlock, Thaw and Turn on the layer if it's Locked, Frozen or Off.

View 9 Replies View Related

AutoCAD Visual LISP / AutoLISP :: How To Insert Block On Layer That Is Frozen

Feb 19, 2013

We are using autocad 2010 and I have written a routine that will insert several blocks on to several layers.  I thought it worked flawlessly, until I used it.  Our drawings use layer states.  When one state is in use, all the other layers are frozen.  We want to insert a block, at a specific point chosen by the user, and the lisp routine will insert a couple of other blocks at that same point, but on a layer that is frozen.  Three blocks installed in all, at the same point, on two layers. The routine works if all layers are thawed, but not if the layers are frozen.

(defun c:lP1 () ; this starts the routine
(setq temperr *error*) ; saves *error*
(setq *error* rerr) ; sets the new error variable
(command "_.Undo" "_mark") ; start of "undo" command
[code]....

View 8 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Automatic Move Preset Block To A Layer

Mar 20, 2012

If there any lisp for the below sequence:-

1) select a few group of pre-set block name
2) change all these pre-set bloack name to a layer " Eye Bolt"

At moment, i have several kind of block such as example of "EB10", "TEB10","EB8","TEB8" and etc.

View 9 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Change All Block Element To Layer 0 Except Defpoints

Sep 24, 2013

URL....i need a liitle bit change as my latest comments in that topic. I dont want to change defpoint layer to layer 0.

View 9 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Change All Block Element To Layer 0 Without Changing Color / Linetype

Sep 3, 2013

I have too many blocks with specific layers inside.

develope lisp can change all to layer 0 but keep color and linetype as it is.

I will use this as a part of script to change multiple block.

View 9 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Select Last Created Dimension?

Apr 10, 2012

I have the following code, that for some reason the last created dimension is no being selected.  That's the first problem.  The second (and not as improtant) problem( becasue it does work), is that I'm using the "dimedit" command.  I prefer to do a swap within the dxf codes, that I treid but didn't work, so I resorted to the "dimedit" command.

(command "DIMLINEAR" pause pause pause)
(setq last_dim (entsel (entlast)))
(setq oldunits (getvar "lunits"))  (setq oldprec (getvar "luprec"))

[Code].....

View 4 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Opening Drawing Created By Other Software?

Jun 21, 2012

I am having trouble opening a drawing created by other software, I am using the following

(defun c:water ()
(setq acApp (vlax-get-acad-object))
(setq acDocs (vla-get-documents acApp))
(vla-open acDocs "L:/GIS_CAD/CAD NZMG/Water/Water Nov08.dwg")
)

If I try the routine I get ; error: Automation Error. Error Decrypting Data.

If I open the drawing normally (that works) and save as a dxf, then open the dxf and save it again as a dwg the routine works. I use the routine for 5 seperate drawings that get updated every month and would rather have a routine that opens the drawings without the fiddle.

View 7 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Removing Nested Block From Main Block?

Oct 3, 2013

I get an AutoCAD drawing from my conveyor manufacturer who have buried a block (tagname) in all of their conveyor blocks.

The only way to remove them is to manually use BEDIT and erase the tagname block.

Is there a way through Autolisp to search all blocks in a drawings and if the tagname block is part of the definition of the conveyor block, erase the tagname block or redefine the conveyor block without the tagname block.

View 8 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Retrieving Block Name Of Anonymous Block

Mar 8, 2013

When dynamic blocks are inserted they're assigned an anonymous block name.  I'd like to be able to retrieve the name of the parent block after selecting the block on screen using AutoLisp.

Need a bit of code that handles this?

View 3 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Block Insertion Routine Based On Block File Name

Apr 5, 2013

Create a routine that looks for a block based on a portion of that block name, using a specified path or search path. 

For example, block to search for is BLOCKABC123, so if someone inputs ABC or 123 as a block name, it will locate that block within that folder and inserts it into the drawing at a user specified location.

Ideally, if there is a check in that if it finds more than one match, then perhaps it flags or prompts you to choose 1, 2, or 3 option which block to use.  But I can live without this special function if it requires too much time to code.

View 8 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Match Multiple Attribute Values From One Block To Another Block

Feb 12, 2012

I need to match few attribute values from one block to different block. I download a lisp file called; ca.lsp which can match the single attribute value. I modified it for more than one attribute value matching. It is ok but still wish to overcome two issues for batch prcess

1. picking up the blocks by selection

2. click the alternative block numbers of times to match the numbers of attribute values I needed.

How to modify this lisp I can run it by block name selections instead of picking selection which enable me to run batch process for numbers of drawing? That will be good...

Lisp & Demo file attached (Match attribute value, A, B & C to Attribute 1, 2 & 3).

View 3 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Insert Point At List Block And Dynamic Block

Apr 18, 2013

I am learning autolips and i found  a problem that i can´t solved.
 
(vl-load-com)(defun c:pmb ( / ss ent pt )(prompt "
selec block : ")(setq ss (ssget '((0 . "INSERT")))) (setq ent (ssname ss 0)), (setq pt (cdr (assoc 10 (entget ent)))) (command "point" pt))
 wich this code you select one block and insert one point at insert point´s block.

which this other code yo select all block and insert all  point.... but in one block
 
(vl-load-com) (defun c:pmb11 ( / sele cod bloque nbloque lista pt ) (prompt "
block: ") (setq sele (ssget ( List'(0 . "INSERT"))) Cod 0 )cod (1+ cod) (repeat (sslength sele) (setq bloque (ssname sele cod)) (setq pt (cdr (assoc 10 ( entget bloque)))) (command "punto" pt) );repeat ) 

View 4 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Insert A Block / Explode And Rename Nested Block With Suffix

Nov 30, 2012

I have a block that i want to insert several times and revised each one to be different to do this i would have to insert it and rename the blocks that come in and then reinsert i would like to insert and have a lisp explode the main block and rename the other 2 blocks with a suffix at the end depending on how many times its in the drawing... can this even be done? My original block name that will be first inserted is "BENT PULLEY NOTES" it needs to explode after i drop it in and then there are 2 blocks within that called "Bent Pulley" and "Bent Pulley DYN" that i was hoping to keep the names but add a number at the end depending on how many are in the drawing already...

here is a lisp that i have found... it would work if i didn't have nested blocks and only wanted the one block to be insert and not explode...

(defun c:Test (/ e i name Bname )
(setq e nil)
(command "_.-insert" "Drawing1.dwg" pause "" "" "")
(if (setq e (entlast))

[Code] .......

View 9 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Block To Annotative Block?

Dec 23, 2013

I have a dwg with 40 blocks that have a non-annotative property. I can go through 1 by 1 and change the property to annotative and redefine the block. Is it possible to automate this? I have done some google searches but have not found anything I am able to cut and paste or put together to get it to work.

Civil 3D 2012 SP4.0 Windows 7 Enterprise 64-bit
C3D 2014 SP1
Dell M6600, Core i7 @ 2.3GHz, 16 GB ram
Dell T3500 workstation, too much ram to post

View 3 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Get / Edit Properties (height) Of A Drawing View Created With Viewsection Command?

Apr 23, 2013

How can I get/edit the properties (height,..) of a drawing view created with 'viewsection' command?

View 2 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Prevent Certain Object In Layer Change To New Layer Automatic?

Apr 17, 2012

lisp..It work fine but just that i need some minor modificatio to it...At moment, when i activate the lisp, it will automatic select all dimension,leader and multileader to a layer call "DIMENSION"...Anyway i wonder if it is possible to prevent any dimension,leader or multileader in layer "Section" will not be change to layer "Dimension"?

View 2 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Move Objects To New Layer Based On Their Present Layer

Jun 20, 2012

Say I have 2 items, one is on layer "M-Duct" and the other on "M-Pipe" (they are in the same drawing). Any lisp routine that would create the layers "M-Duct-New" and "M-Pipe-New" (based on the same color and LT as the original layers) and then move those objects to the newly created layers?

View 9 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Link Xref Layer To Local Layer - Same Display

Feb 21, 2013

Possible to link an xref layer and local layer so they display the same (eg. sync viewport colour, linewieght, line type)?

I insert xref's for my base drawing but legend is on local layers and I would like to be able to ensure that the line colour and linetype always match...

View 4 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Draw Leader On Layer And Still Remain On Original Layer

Aug 28, 2012

I have a customized button to draw an ‘ac-arrow’.  I created a lisp to create the layer “G-ANNO-LEDR”

if the layer name is not found.  The advanced part I would like is:

Current layer:  E-ANNO-WIRE

Ac-Arrow Leader:  G-ANNO-LEDR

OPTION 1:

If, say I am on current layer “E-ANNO-WIRE” and need to draw my “ac-arrow” leader, and continue working

on the original layer “E-ANN-WIRE”  (and have the leader  be drawn [remain] on the layer “G-ANNO-WIRE”).

With this option, I have the block “ac-arrow” imbedded in my template drawing file to have the block at hand.

With this option, the layer “G-ANNO-LEDR” will be created IF it is not on the drawing.

OPTION 2:

- Currently be on layer “E-ANNO-WIRE”

- Bring in the block “ac-arrow” from my block library “L:AutoCADSymbols”

- Draw the “ac-arrow” leader which will be on layer “G-ANNO-LEDR”   (this layer created IF it is not

  on the current drawing).

- After the leader is drawn’

- Be put back to the layer I was,  “E-ANNO-WIRE”, and continue working.

The OPTION 2 is what I would really like to have.  A while back, I happen to see one like OPTION 2, but I cannot

find it anymore on the users groups.  I have been searching for a while now.

Currently, I use the button in my customized toolbar (see image) and have to have the “ac-arrow” block in my drawing and have its layer created in the drawing.

View 1 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Change All Objects On Layer 0 To Existing Layer PC Module

May 31, 2012

I'd like to have/write a lisp to change all objects on layer "0" to layer "PC - Module"

If possible also;

save the document close the document open next in directory run layer changer program again.

View 8 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Script That Assigns Lineweights To Layer Based On Color Of That Layer

Nov 19, 2013

Any script that when ran will set lineweights of a layer based on what color the layer is assigned.  For instance if I have 3 lines that are green on 3 different layers. I need the script to change all 3 layers lineweight   to .015mm. I have drawings that are inconsistant with layer names so layer translator and methods of that nature will not work because I do not know all the layer names and I have 100 drawings to do this to.

View 3 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Selection Set By Block Name?

Mar 2, 2012

I am trying to select all blocks of a certian name. I am using the following:

(setq ss1bk (ssget "_X" (list (cons 2 blkname))))

My issue is that this will not select any dynamic or attribute blocks that are not at the default insert state. 

how to select all of a block by name including reguardless of current state?

View 9 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Odd Insert Block

Sep 26, 2013

I have a routine that counts dynamic blocks by visibility state and stores that information then prompts for scale and color and stores that information. Then a legend begins to build from the data and a collection of blocks to reflect the dynamic blocks and their visibility state. Everything works great on all of the machines around the office except on one. When the legend begins building, the one user is getting the DDATTE dialog instead of allowing the values to populate as expected. So, I had him change ATTREQ to 0 an run again. No deal, the same thing happens again and again. And; it only occurs on the one machine.

View 5 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Block Name To VLA-object?

Feb 21, 2013

I need to get VLA-Object from block name.

here there is a code to get block name from VLA-Object:

(vlax-get-property obj (if (vlax-property-available-p obj 'EffectiveName) 'EffectiveName 'Name) )

 but I need the inverse of this code exactly:

blockname(as a string)==>VLA-object

(defun GetVLA_BName (BName).......

so, how can I do it?

View 9 Replies View Related

AutoCAD Visual LISP / AutoLISP :: How To Get Name Of Nested Block

Nov 27, 2013

I need to pick a nested block in drawing, I prepared this code to get name of selected blocks:

 (defun c:test ( / e obj blkName)(while T (while (Not (setq e (entsel "
Select a BLOCK to edit: ")))) (setq obj (vlax-ename->vla-object (car e))) (if (= (vlax-get-property obj 'ObjectName) "AcDbBlockReference") (setq blkName (vlax-get-property obj (if (vlax-property-available-p obj 'effectivename)'effectivename 'name)) );setq );if (princ (strcat "
Block Name is: " BlkName)));while);defun

 But, how to select a nested block?

View 4 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 :: Put New Block Over Old One Using Properties

Aug 5, 2013

I would like to select all instances of a block, and put a new block on top of them using the same properties (insertion, rotation) but am unsure how to do this

View 3 Replies View Related







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