AutoCAD Visual LISP / AutoLISP :: Dynamic Blocks Not Changing Visibility State With Automated Process

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


ADVERTISEMENT

AutoCAD Visual LISP / AutoLISP :: Dynamic Blocks Change Visibility State

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

AutoCAD Visual LISP / AutoLISP :: Insert Dynamic Block With Visibility State Pre-selected?

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

AutoCAD Visual LISP / AutoLISP :: Invisible Attribute Constant Dynamic Block Visibility State?

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

AutoCAD Visual LISP / AutoLISP :: Dynamic Blocks Visibility To Text?

Mar 16, 2012

I wonder if it is possible to have a routine that captures the visibility name of a dynamic block and place it in a text in the drawing?

For example, I have a block with 10 visibilities. I copied this block 10 times in the project and I put each one with a different visibility. Now I would like to make a label with the name of each visible state next to each block.

View 6 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Searching For Dynamic Blocks With Visibility Perimeter That Is Case Sensitive

Dec 19, 2013

create a routine to list all the dyanmic blocks in my drawing with a specific visibilty parameter name. The problem with the blocks that I'm trying to search for in my draiwng is that the visibility names are very similar with the only differences being CASE sensitivity (ie. OBJECT vs. Object).
 
(defun c:test (/ BNAME DATA E I PNAME SS VIS) (if (setq data nil vis (getstring T "
Enter the Visibility Parameter Name: ") ss (ssget"_X"(list (cons 0 "INSERT") (cons 2 "`*U*")) ) ) ;; setq (progn (repeat (setq i (sslength ss))(cond ((and (setq bname(vla-get-EffectiveName (setqe (vlax-ename->vla-object (ssname ss (setq i (1- i)) ) ) )) ) (setq Pname(car (vl-remove-if-not '(lambda(j) (eq (strcase (vla-get-PropertyName j)) (strcase vis) )) (vlax-invoke e 'GetDynamicBlockProperties) )) ) (not (member bname data)) ) (setq data (cons bname data)) (foreach itm data (print itm)) ));; cond );; repeat );; progn );; if (if (null data) (princ "
Block/Parameter Name not found")) (princ))

View 9 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Running A Batch File - Automated Process?

Aug 15, 2012

I have a batch program which I want to launch from a LISP program.

First this is an attempt at an automated process whereby user input is extremely restricted. Other than the first click of the mouse on the menu item to save a copy of the file to a very restricted folder, no other user input is allowed.

AutoCAD, like most commercial apps writes a temporary file and then renames it when you choose save or saveas. And due to the restrictions in this folder that will not work. Crazy, I know but it's the parameters I must work within.

The batch file I'm launching calls another batch program in it's execution and I'm wondering if that could be where control is lost. But the thing is I can type this at the command line in AutoCAD:

(startapp "//a_very_long/novell_server_path/my_folder/vlisp/mybatchfile.bat")
 
The whole process works great. The command window flashes briefly AutoCAD closes the active drawing window just like I want it to. And when I check that the dwg file has been copied to the restricted folder it's there and done. But when I place that same command within my LISP program or one like this:

(command "._STARTAPP" "CMD //a_very_long/novell_server_path/my_folder/vlisp/mybatchfile.bat")or(command "._STARTAPP" "CMD ""//a_very_long/novell_server_path/my_folder/vlisp/mybatchfile.bat"")
 
or just about anything else I try it fails to run. Perhaps I've been looking at this problem too long. I think I may move on to a VB.NET process to do this but I am really baffled why it will run from the command line but not within the program.

View 4 Replies View Related

AutoCAD Dynamic Blocks :: Attribute Automatically Prompt For Entering Info Upon Changing Visibility State?

Jan 30, 2013

I want to create a dynamic block with multiple visibility states.  Each of these states will have it's own attribute for users to enter in information.  Is there a way to have the attribute automatically prompt for entering information upon changing the visibility state?  That is without hashing too much into the API and code?

Then maybe even go a step further and clear out existing attribute information if the visibility is changed?

View 5 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Get Visibility State Name From Uname?

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

AutoCAD Visual LISP / AutoLISP :: Insert Dynamic Block At Default State

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

AutoCAD Dynamic Blocks :: Add Exact Same Objects And Visibility State To Blocks

Jan 7, 2014

I have over 100 blocks that I need to add the exact same objects and visibility state to.  Is there a way to globally make this change, or even to copy the visibility states from one block to the next without having to recreate the states in each block?  I thought I had previously run across a routine on here that would make changes to multiple blocks at once, but I can't seem to find it now.  

View 1 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Setting Dynamic Block Visibility?

Aug 17, 2011

Attached is a lisp that reads an attribute block value and uses that value to set a named view. The attribute block is a diesel expression field which reads the drawing number, so it changes as the drawing is saved to a new number. I use it when I am preparing road alignment drawings. I prepare the first drawing in the set, saving views for all drawings and when I'm done I copy that drawing 001 as many time as I need, rename them drawing 002, drawing 003 etc. and use the attached lisp with scriptpro to set all my saved views.

I also have a dynamic block called "key" in the drawing with visibility states matching the named views.

either expand this lisp or create a new lisp to set the visibility using the "VN" variable.

View 6 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Data Extraction For Visibility Featured Blocks

Jul 25, 2013

i am searching for a lisp for data extractiion from selected blocks. Here Iam attaching sample blocks drawing for reference. These blocks containing visability features. I need output excel in the below snap shot format.

View 8 Replies View Related

AutoCAD Dynamic Blocks :: Visibility State Works In BE But Not DWG

Jun 13, 2013

I have this view label block I have been using for some time know and it worked fine up until today. I asked a user to add a visibility state to show a triangle around the ViewNumber. In doing so the user wanted to cleanup the viibilty state names. In the block editor all the states and names look good, but in the drawing it shows the old vis state names and the added state for the triangle is not available.

Civil 3D 2012 & 2013
HP Z210 Workstation
Intel Xeon CPU E31240 @ 3.30 Hz
12 GB Ram

View 3 Replies View Related

AutoCAD Dynamic Blocks :: Exploding Block With Visibility State

Aug 8, 2012

Here at the company I work for, we have different drawing templates for certain clients.  The templates share quite a bit of information with only a few differences.  I combined them into one dynamic block with different visibility states for each template.  But when we get ready to use a particular template, the block will need to be exploded to use all the information available. 

My question is what happens to the objects not on the current visibility state when exploded?  It seems to just disappear.  Does the exploding essentially delete all objects not visible? 

View 1 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Parameters Dynamic Blocks

Feb 20, 2012

I'm using the attached lisp to change the parameters of a dynamic block. In particular, I use the function chgdynprop

(defun c: test () (setq oggfreccia (car (entsel))) (chgdynprop (Vlax-ename-> vla-object oggfreccia) "Distanze1"300.0))

The lisp function works properly, because if I select the block from the bar I can see that property Distanze1 = 300.0

View 1 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Using It To Manipulate Dynamic Blocks?

Mar 8, 2013

I'd like to use AutoLisp to modify and in some cases replace existing dynamic blocks in a drawing.  How can I retrieve existing values and then modify values for the following:

1. Visibility states

2. Distances

3. Rotation angles

4. Flip states

View 1 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Count Dynamic Blocks

Dec 17, 2012

Lisp routine to count the number of dynamic blocks of a specific name ("FD") by windowing an area of the drawing. I have a routine that I've been using to accomplish this, but i don't understand why it doesn't count dynamic blocks.

(DEFUN C:LOCATEFD(/ BLKNAME BLOCKSET TOTAL)
(SETQ BLKNAME "FD")
(PROGN(SETQ BLOCKSET(SSGET(LIST(CONS 2 BLKNAME))))
(IF(= BLOCKSET NIL)

[Code] ....

View 9 Replies View Related

AutoCAD Dynamic Blocks :: Control The Visibility State Of An External Referenced Drawing?

Nov 10, 2012

Is it possible to contol the visibility state of an external referenced drawing? I have an architectural plan drawing that uses a titlesheet drawing as an external reference. In my civil plan i want to use a different title sheet. Instead of having a different titlesheet drawing for the civil drawing i was wondering if i could turn my titlesheet drawing into a dynamic block. In my architectural drawing i would see visibility state #1 & in my civil drawing i would see visibility state #2.

View 1 Replies View Related

AutoCAD Dynamic Blocks :: Visibility State Scope - Restrict To Operate Only On Certain Objects

Nov 26, 2012

With Visibility States there appears to be only 4 options:

Hide for current state.Show for current state.Hide for all statesShow for all states.

I need a 5th option... Do not change visibility when this state is set current.

So, in other words, I'd like to turn objects on or off independently from each other... so lets say I have two sets of objects... I want to toggle on only the 3rd item in set A and only the 5th item set B... but each set would function separately from the other set.

View 6 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Opening DWG Containing Dynamic Blocks Using Scripts?

Apr 22, 2012

how to open an dynamic block DWG using a script and not have the "This drawing contains authoring elements. Do you want to open in block editor" message?

I cannot seem to get rid of this message and everytime I have to manually say "No" and let the script run.

View 1 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Selecting All Dynamic Blocks With A Pick

Jul 30, 2013

I used to have a lisp routine that would allow me to pick one dynamic block and it would select all instances including the blocks that have become anonymous. 

View 5 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Routine For Changing Attribute Tag Width Globally In Blocks

Jul 15, 2013

Any lisp routine for changing the text width of all the attributes in a block globally. I want to change it from 1.0 to 0.8. I have attached a symbol where the attritube tags will be the same.

View 2 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Automated Drawing Using Input Data?

Jul 4, 2013

I would like to automate drawing process for certain data. Using some LISP codes User will be asked to provide some data and using that data an automatic drawing needed to be developed at Drawing editor of AutoCAD. For example;

Enter the width of Sheet: 50 mm
enter the length of Sheet: 200 mm
Enter the sheet thickness: 5mm
Enter type of feed: Automatic
Are there holes in Strip: Yes/No
Specify nu of holes: 5
Position of holes Centre: 5,5
Distance between the holes:  At an interval of 20mm each

I just need a LISP code for such program.

View 9 Replies View Related

AutoCAD Dynamic Blocks :: Visibility Selection From LISP?

Apr 26, 2006

Experimenting with visibility states, and though I've searched this group I find no mention of whether or not it is possible to insert a dyna-block with the visibility state preset from LISP.

Example: I have a block with several defined visibility states. Is it possible to have that block insert with not the first VS but maybe the 3rd or 4th VS?

View 9 Replies View Related

AutoCAD Dynamic Blocks :: Multiple Visibility Lisp Routine

Jan 23, 2012

Could the users of this Lisp post the several Versions here for others to find?

I have come across a few in the AUGI Dynamic Block Forum who would like to make use of the Lisp but may be running into Version problems.

View 5 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Layer State Delete

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

AutoCAD Visual LISP / AutoLISP :: Applying Layer State To Multiple DWGs

Jul 31, 2012

A quick way to apply a Layer State to multiple DWGS?

View 4 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Ribbon Minimize State Not Remembering Selection?

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

AutoCAD Visual LISP / AutoLISP :: Routine To Change Layer State Names

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

AutoCAD Visual LISP / AutoLISP :: Get Registry Key Value And Process It

Dec 12, 2012

I would like to capture a registry key value using autolisp if the value of they key equals TEXTEXAMPLE then exit Autocad else nothing.

View 4 Replies View Related







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