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
ADVERTISEMENT
Feb 20, 2013
i have a small lisp and i would like for it to:
when i invoke the plot command, it will first check if there is a layer state called "Temp"if "Temp" exists, then delete "Temp", then re-create "Temp", then switch layer state temporariliy to "Plot" to plot the file, and then switch back to the "Temp" layer state againbasically, the "Plot" layer state will be set based on how the drawing(s) will plot. if a user makes changes here-n-there in the drawing, when the user wants to plot, the software will save current state as "Temp", plot using the "Plot" state, and switch back to "Temp" state at the end. all i am trying to achieve is to somehow over-write the "Temp" state. below is the LISP.
(command "undefine" "plot")
(defun clot ()
(if (layerstate-has "Temp")
(layerstate-delete “Temp”)
)
[Code]....
Civil 3D 2013 SP1, Win 7-64 bit
12GB RAM
View 9 Replies
View Related
Jul 31, 2012
A quick way to apply a Layer State to multiple DWGS?
View 4 Replies
View Related
Nov 2, 2011
I have 2000+ drawings that have either the layer state "LMAN_DWF" or "DWF". I want all of them to read "DWF" for scripting purposes. LSIP routine that will go into a drawing and change rename a layerstate if it is named incorreclty, but do nothing if it is named correctly?
Does Layer State "DWF" exist?
If Yes, skip file and move on to next file
If No, does Layer State "LMAN_DWF" exist?
if Yes Rename Layer State to "DWF"
If No, skip file and move to next file.
Or a LSIP routine that can simply dump a list of all drawings in a directory that contain "LMAN_DWF" as a layer state. I could then use that list to do a simple script to change the layer state names on those specific files.
View 2 Replies
View Related
Nov 8, 2013
I'm creating a drawing set that has over 100 sheets with varying amounts of viewports on each sheet (from one to four). Each sheet is its own file, so there is only one layout per file. For each section of the drawing set, the viewports will have the same layer state.
Is there were a way to update the layerstate of each viewport through a batch LISP routine? This would save me DAYS in opening each file, importing the layer state, and restoring it for each viewport. It seems straight forward, but I have no idea where to start with batch routines.
View 4 Replies
View Related
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
View Related
Sep 15, 2011
I need to let the user pick on an entity to get an elevation.
I was using getpoint, with osmode set to nearest, but it allows them to pick 2d items under the 3d items I want picked.
Without doing fancy laer manipulation to turn off 2d stuff, are there any tricks to avoid snapping on the 2d item?
I am thinking I might do an entselp, then try again at same point until i get a 3d one (non 0.0 z coord).
[URL]
View 7 Replies
View Related
Jul 29, 2013
lisp program to delete all objects in a drawing based on Layer excluding one layer objects.
in AutoCAD.
Example : I may have 10 layers in a drawings like 1 to 10. I need to delete all objects on 2 to 10 layers.
View 9 Replies
View Related
Jan 2, 2014
(Part of a table that shows the block in the first column the block name in the second and the count in the third)
(IF (SETQ ss (SSGET "x" '((0 . "INSERT") (2 . "PoolLight,`*U*") (410 . "Model")))) ;| <- Just an example the full blocklist is much longer and not all are dynamic |; (WHILE (SETQ Ent (SSNAME ss 0)) (SETQ BlkName (CDR (ASSOC 2 (ENTGET Ent)))) (IF(SETQ tempList (ASSOC BlkName EndList)) (SETQ EndList (SUBST (CONS BlkName (1+ (CDR tempList))) tempList EndList)) (SETQ EndList (CONS (CONS BlkName 1) EndList)) ) (SSDEL Ent ss) ))
getting the visibility state name for each instance of a dynamic block. The blocks display properly with the count, but the block name displays the Uname - *U59, *U61, *U66, *U68, etc...
(Also, why LISP created tables always seem to force a Title or Header no matter how I try to supress it?)
(VLA-PUT-TITLESUPPRESSED TblObj :VLAX-TRUE)(VLA-PUT-HEADERSUPPRESSED TblObj :VLAX-TRUE)
Both seem to have no effect. If I don't include one extra row to the table then it fails to populate all together.
View 3 Replies
View Related
Aug 9, 2013
toggling ribbonclose and ribbon but that did not answer my question. I'm using AutoCAD 2014 and there is a setting to either toggle through all ribbon states or you can select one. You can cycle through:
Minimize to Tabs
Minimize to Panel Tiles
Minimize to Panel Buttons or
Cycle Through All
I want it to always minimze to tabs but when I close CAD and re-open it doesn't remember that selection and always cycles through all minimized states again.
I don't see any system variable or registry value that seems to save this. how I can make it remember?
View 2 Replies
View Related
Feb 15, 2013
When scanning the BTR (Block Table Records) and encounter a "*U" block definition
how can i know if it relate to dynamic block and have it's name?
acutally my current goal is:
when insert a dynamic block at default state (no change in it's dynamic properties/actions)
it's 'Name and 'EffectiveName is equal, when set some of it's properties it turns to dynamic anonymous
with Name = "*Unn"
Can i programaticlly set the block reference to be dynamic anonymous (with out setting any of it's properties)
cause i would like to modify it's BTR (with out effecting the original BTR dynamic block) but do not want to convert it to static anonymous block.
View 2 Replies
View Related
Nov 1, 2013
I have 4 Dynamic Blocks with the same name, but each are on different layout pages. I need to change the visibility state of all 4 to the same value. So far every attempt of mine has failed.
My process at this point is to: build a selectionset of all 4 Dynamic Blocks with the same effective name, convert the selectionset to a list of entity names, then use a foreach to change the visibility states one at a time. Currently, I get "error: bad argument type: lselsetp <Entity name: 7ffff7b6c90>". <Entity name: 7ffff7b6c90> is the entity name of the first block in the list. I'm guessing it's because the block is found on a non-current tab
(defun chgdynprop (e propname newval / obj v vval sal tot i) (setqobj (if(= (type e) 'vla-object) e (vlax-ename->vla-object e))) (if (= (vlax-get-property obj
View 3 Replies
View Related
Dec 24, 2013
I currently insert certain dynamic block into drawings with a short function that first inserts the specified dynamic block and then immediately changes the visibility state to one specified as an argument to the function.
I'm wondering if it is possible / better / faster to somehow insert the dynamic block with the decided visibility state simultaneously. I've been amazed by many capabilities of VL so I wouldn't at be surprised if this can be done. (the dynamic blocks I'm inserting could have many multiples in the drawing but I need this method to only affect the one being inserted at the time the function is called. I currently use entlast to decide which one is being inserted.)
View 6 Replies
View Related
Oct 6, 2011
I have created a bunch of templates (title block type drawings) for my company. In these templates there is a dynamic block used for a particular note. Based on customer number, this note will be changed.
We have a program that will insert the correct template based on the drawing type. It will know the customer number and change the dynamic block visibility state to reflect the correct text in the note.
Here's the problem; I don't know why, but sometimes the visibility state does not change. It's not the code as it works just fine in some drawings.
I've gone in and just changed the visibility state name, then changed it back, then saved the drawing and it worked. In some cases, I've also just gone into the template and deleted the dynamic block and re-inserted it, and it began to work again.
Having trouble with dynamic block visibility states not working when using an automated process?
View 2 Replies
View Related
Jan 24, 2013
I have a dynamic block with several visibility states, and each visibility state has one invisible-constant attribute. I can't seem to wrap my head around dynamic blocks well enough to get the value from the active visibility state invisible constant attribute. I know how to get the visibility state like this:
(setq ss (ssget "_x" (list '(0 . "INSERT") '(2 . "`*U*,<DynBlockName>") (cons 410 (getvar 'ctab)))))
but what next?
View 9 Replies
View Related
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
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
Apr 23, 2013
How can I get/edit the properties (height,..) of a drawing view created with 'viewsection' command?
View 2 Replies
View Related
Jul 18, 2013
I'm having a bit of a problem struggling with creating new dimension style using vee bee dot net, in AutoCAD 2010 environment. I am particularly trying to figure out how to set the newly created dimension style to color white, and to assign it a specific layer (for example, a layer called "test"). What the code syntax is to accomplish this?
I post the code below for what I have done thus far:
Public Shared Sub addDimensionStyle(ByVal strDimStyle As String)
Dim acDb As Database = HostApplicationServices.WorkingDatabase
Using acTrans As Transaction = acDb.TransactionManager.StartTransaction()
Dim dimTbl As DimStyleTable = acDb.DimStyleTableId.GetObject(OpenMode.ForWrite)
Dim dimTblRec As DimStyleTableRecord = Nothing
[Code] ........
View 5 Replies
View Related
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
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
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
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
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
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
Aug 13, 2002
When creating the first new layer via copy in Ph6, it is always locked to the background layer. A small but inconvenient feature.
View 6 Replies
View Related
Jan 25, 2013
I know that for layers ON/OFF in current open dwg file, I should use:
[I just want to On/Off for my "STAMP" layer]
(COMMAND "LAYER" "ON" "STAMP" "")
(COMMAND "LAYER" "OFF" "STAMP" "")
but I have more than 150 dwg file and I should open all of dwgs one by one and setting ON/OFF for STAMP layer for every drawing and it takes so much time!
I just want to select files and LISP program set the STAMP layer to ON or OFF value.
View 5 Replies
View Related
May 31, 2012
I am running a simple script to color some layers in XRefs. I need to colour all layers in XRef files that don't have part of their name containing the characters NWP and I can do this with the line
-layer c 32 ~*|*NWP*
but then all the layers in the sheet file (not in Xrefs) also turn to 32 which I do not want. Is there some way to include an "except" statement in scripts.
View 3 Replies
View Related
Oct 23, 2013
I'm trying to set up an easy way to import layers from a certain dwt. file with a shortcut.
Now I found this code, which kind of works, but doesn't do the whole trick. It works with a Popup where I have to insert the dwt. file. It's also annoying that it opens this file than and I have to close it manually.
I would like to have this without any import options and automatically takes this one file always for the layers.
My file would be located here:
"I:AutoCAD BlöckeTemplate\__Bürostandard"
(defun c:IL (/ oAcad oCurDoc strFile oOpenDoc oOpenDocLayers lstObj oLayer array)
(setq oAcad (vlax-get-acad-object))
(setq oCurDoc (vla-get-ActiveDocument oAcad))
(setq strFile (getfiled "choose file:" (getvar "DWGPREFIX") "dwt" 0))
[code]........
View 4 Replies
View Related
May 18, 2013
I'm using a Wacom intuos 2 and working up some illustrations, but whenever I create a new layer, the brush tool goes completely defunct and makes absolutely no marks on the document. I have gotten in the habit of just restarting Photoshop, and then it works.
View 3 Replies
View Related
Oct 1, 2012
How to edit this string so that it would change ONLY XREF layers in a dwg. to color 3 bylayer, and leave all of my additional layers in the current dwg. as is.
^C^Cchprop;(ssget"x");;color;bylayer;;-layer;color;3
View 2 Replies
View Related