AutoCAD Visual LISP / AutoLISP :: Determine Type Of Object That User Selected?

Mar 1, 2012

Is there a way to determine the type of ACAD object that the user selected? I need to retrieve the value from either a dimension or text. The info could be in either format so the lisp routine needs to determine what was selected so the correct vla-get command is used.

Once I determine what the object is I can use an if statement to retrieve the value.

;user selects the object
(setq dimobj (vlax-ename->vla-object(car(entsel))))
;If ACAD object is a dimension do this.
(setq dimvalue (vla-get-textoverride dimobj))
;If ACAD object is text do this.
(setq dimvalue (vla-get-textstring dimobj))

View 4 Replies


ADVERTISEMENT

AutoCAD Visual LISP / AutoLISP :: How To Move The Selected Object Using ObjectDBX

Aug 7, 2013

Using Nentsel function, I can get info on a object that is nested with an Xref. Is there a way to move the selected object using ObjectDBX?

View 9 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Function For SELECTED ALL Object In Drawing?

Jun 3, 2013

How to make a lisp command that will select all objects in the drawing?

View 3 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Get Vplayer Color Of A Selected Object

Sep 9, 2011

I thought this would be a simple tblsearch process, but as far as I can tell, there isn't a tblsearch symbol table for vplayer settings, so I need to get more creative I guess.

I want to be able to get the vplayer color of a selected object as part of a larger routine I'm putting together.

View 8 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Selected Object Is In XRef To Highlight

Aug 15, 2013

I think there is a function that will cause the selected object that is in the XRef to highlight.

View 1 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Removing Last Characters Of Block Name In Selected Object?

Jul 29, 2013

When i export revit drawing with revit family 

the revit family become block in autocad like this

M_Single-Flush - 700 x 2200mm-278353-Ground Level _0_45

usually i want to remove the ID and view name to become like this without have to re type because it is tedious

M_Single-Flush - 700 x 2200mm

something like how many letters you want to remove from last to first ?

or something better like remove this last two dash and the letters embedded inside ( that separate name-ID-View name)  -278353-Ground Level _0_45?

View 9 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Bad Argument Type / VLA-object Collection

Aug 6, 2013

I discovered yesterday my burst lisp routine isn't working. It gives the following error message:

bad argument type: VLA-object collection: #<VLA-OBJECT 0971e1d4>

The routine does not appear to have changed. But here is the
 
(Defun C:BURST (/ item bitset bump att-text lastent burst-one burst BCNT BLAYER BCOLOR ELAST BLTYPE ETYPE PSFLAG ENAME ) ;----------------------------------------------------- ; Item from association list ;----------------------------------------------------- (Defun ITEM (N E) (CDR (Assoc N E))) ;----------------------------------------------------- ; Error Handler ;----------------------------------------------------- (acet-error-init (list (list "cmdecho" 0 "highlight" 1 ) T ;flag. True means use undo for error clean up. );list );acet-error-init ;----------------------------------------------------- ; BIT SET ;----------------------------------------------------- (Defun BITSET (A B) (= (Boole 1 A B) B)) ;----------------------------------------------------- ; BUMP ;----------------------------------------------------- (Setq bcnt 0) (Defun bump (prmpt) (Princ (Nth bcnt '("
-" "
\" "

[code]....

View 6 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Total Length Of Selected Object And Summarize Them A Table

Jan 4, 2014

I need a lisp file that can read the total length of selected object (lignes, polylines) and summarize them by layers or by color in a table

e.g

command:tl (total length)
select objects
found total length.......
select object (Ent)
total length or [Add/Subtract/Table] :
total length = .......
if table
Enter an option by [ Layer/Color/line Type/line Weight] <layer> :

View 4 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Check Object Type Of All Objects In Model Space

Feb 25, 2013

Without opening the drawing...

How can I iterate through and check the object type of all objects in model space?  And... then delete them if they are certain types... like lines, circles, polylines, text, mtext, etc?

View 2 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Larger Routine To Create And Rotate Text Based On Object Selected

Dec 29, 2011

the expression in question is part of larger lisp routine to create and rotate text based on the object selected and the viewtwist variable (we use dview twist to rotate our views when needed)

So the expression in question:
(< (/ pi 2) ang (* pi 1.5)
where ang is the total angle used to determine proper rotation of the text.

Now the problem. In most cases where ang = 90 (or 1.5708 radians) this works fine. the two exceptions i have encountered

in testing are a line at 70 degress, viewtwist 20, and line at 50, viewtwist 40. For whatever reason at these two conditions the expressoin evaulates True instead of nil and rotates the entire text object incorrectly (180 degrees). So question is how exactly is this being evaluated? i know its comparing ang (* pi 1.5) to (/ pi 2). is there some sort of rounding error? or maybe the expression needs a wee bit more definition? attached image and full lisp routine for reference of what is happening, blue text is angle of the line as created by routine at viewtwist 0.

View 1 Replies View Related

AutoCAD Visual LISP / AutoLISP :: How To Determine Existence Of Entity

Oct 10, 2013

I have a specific need to determine if an entity is existing or not so that I can either make changes to or create the entity. I'm trying to do this while referring to the entity by it's handle. Below is my code this far but it doesn't work.
 
(IF (AND (SETQ HNDL (VLAX-LDATA-GET "TB" (STRCAT PLN "PLAN"))) (NOT (VLAX-ERASED-P (VLAX-ENAME->VLA-OBJECT (HANDENT HNDL)))) ) (PROGN ;;| DO SOMETHING WITH THE EXISTING ENTITY ) (PROGN ;;| MAKE THE ENTITY
(vlax-ldata-put "TB" (strcat PLN "PLAN") (CDR (ASSOC 5 (entget (entlast))))) ))

I ran the program and the handle was stored, then I deleted the entity and ran the code again and this is the error I get:

; error: unable to get ObjectID: nil

This VLISP stuff sometime has unpredictable hoops to jump through first, so I wondering if this is the case here.

View 3 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Determine Which Button On A Flyout Toolbar Is Currently Shown?

Feb 13, 2013

how can I determine which button on a flyout toolbar is currently shown?

View 3 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 :: Use User-input As Block Name?

Sep 5, 2012

I just need the userinput to be incorporated in the insert command but don't know how to segregate the block name from the block path..

;;;PROMPT USER FOR BLOCK NAME HERE
(setq userinBLKNAME (getstring "
Please type in the block name shown in the allrevblocks - ex: IFCC4:"))

;;;INSERT BLOCK BASED ON BLOCK NAME PROVIDED HERE
(command "-insert" "B:\CAD\REVBLOCKS\IFC\"USERINBLKNAME PAUSE "1" "" "")

View 3 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Append To User Input

May 7, 2012

I've been trying to append a user input by adding this text "ABC" to the front of it.  How can I do that?

(setq NUMX (getstring "
Please specify NUMBER:")); INPUT NUMBER 123 HERE
(SETQ NUMXX (append '(ABC) NUMX))

So that NUMXX now equals ABC123.

View 2 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Locking User Into Using Ortho?

Dec 17, 2012

Any way to permanently disable polar. Like if autocad were to automatically switch to ortho every 10 mins or something?

View 5 Replies View Related

AutoCAD Visual LISP / AutoLISP :: While Loop And User Defaults

Apr 25, 2012

I have a little LISP I have been working on that creates a text object as a "label" for 2D ductwork our company does. It makes a field for the mlinescale as the duct width, combines with user input for duct depth, and prompts user for location to place the text. The routine is functional...however, I would like to tweak two things that I cannot figure out.

First, I would like the command to continue until the user escapes, similar to the "multiple" command in AutoCAD. I have tried adding a while loop to the majority of the routine..which works until the user escapes...then my error handler undoes everything.

Second, when asking for user input, is it possible to ask for user input without a default the first time, but thereafter remember the input as a default?

Below is the code in question...not including error handler, etc. :

(if (= ducttemp nil)(setq ducttemp 12))
(initget 6)
(setq ductdepth (getint (strcat "
Enter duct depth in inches <" (itoa ducttemp) ">, or Esc to end: ")))
(if (= ductdepth nil) (setq ductdepth ducttemp) (setq ducttemp ductdepth))

[Code] .........

View 4 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Pausing To Allow User Input?

Dec 14, 2013

I want to write a very simple AutoLISP program to scale selected objects by a factor of (1/25.4).  How to I get the program to pause and allow the user to select the base point?  I know that "~" will bring up a selection window, but what is the character that will allow point selection (in this context)?  While we're at it, what is the operator that would trigger a pause and allow user command line input? 

View 7 Replies View Related

AutoCAD Visual LISP / AutoLISP :: How To Combine Two User Inputs

May 16, 2012

I'm trying to combine two user inputs and a constant with setq without spaces so I can use it in an AutoCAD command.

I haven't seen a string command that does this. It always has spaces in between the fetched valvues.

View 9 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Set User OSnap Settings Transparently

Jul 16, 2013

I have a routine that sets user defined osnaps based on a text file.Here is what is an example of user stored osnap settings -

(setq User_Osnaps (list (list "Alan" "endp,midp,int") (list "John" "cen,ins")))

Here is routine I use to set user osnaps -

(defun CU ()
  (vl-cmdf "-OSNAP" (cdr (assoc (getvar "LOGINNAME") User_Osnaps)))
  (princ)
)

This works great so long as the user is not in the middle of another lisp routine.How can I change this to a transparent command that will work to set osnaps while running another lisp routine?I would like to store it in a toolbar button.

View 9 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Pause To Allow User To Select Layout Tab

Sep 13, 2011

I need a command that will allow the user to select a layout tab.  I thought the following would work, but it just ends the LISP program:

(command "layout" "s" pause)

View 9 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Alert Box That Takes User Input?

Jul 30, 2012

Is there a way to have an alert box pop up at a certain point in the code which gives the user a chance to cancel the LISP program and not proceed any further?

View 9 Replies View Related

AutoCAD Visual LISP / AutoLISP :: User Is Prompted To Select A Row Of Blocks?

Oct 25, 2011

I am looking for a way where a user is prompted to select a row of blocks and then that row is completely mirrored about the middle of the selection set - such that if the blocks are originally inserted, from left to right "A" "B" C"  then after mirroring, we want them t occupy (roughly) the same space in the drawing area as "C" "B" "A".

Then, immediately after mirroring that selection set in place, each individual block that makes up the selection set is mirrored about its insertion point along the x axis..... basically i need to mirror a selection set of a row of blocks so I change their order of occurrence and then mirror each individual block back again to the way it is meant to look.

Is this possible?

View 9 Replies View Related

AutoCAD Visual LISP / AutoLISP :: How To Pause For User To Activate A Viewport Before Continuing

Dec 4, 2013

I have situation where a block is inserted in paperspace before a leader is to be added into modelspace. I need it to work like the "CHSPACE" command - it pauses and asks the user to activate a viewport before continuing.

How that pause until viewport is active is done?

View 7 Replies View Related

AutoCAD Visual LISP / AutoLISP :: How To Detect User Hitting ESC Key During SAVEAS Command

Nov 8, 2011

I'm putting together a simple lisp routine to issue bound, purged drawings.

I have code that will do the binding & purging but need handling the saving.

This is my approach :

(1) ask the user to save the drawing using this line (command "_saveas" "" "~")

(2) run a subroutine that binds xrefs etc (this works ok)

(3) run the QSAVE command

Trouble is, if the user cancels or hits escape during the SAVEAS command the subroutine & QSAVE will still run, overwriting the current drawing. How do I handle this scenario? Or should my appoach be different?

View 9 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Loading Cuix From Bundle When User Is Not Administrator

Jun 5, 2013

We are using .cuix file which gives access to tools in custom .arx file in AutoCAD 2012/2013. We load the menu using the .bundle mechanism and the plug-in - using button from the menu. If the user is Administrator (or executes AutoCAD as Administrator)  the menu, toolbars and ribbons are loaded correctly and the user can load and unload the application (lisp function in .mnl file is used for that), but if the user is not an administrator either the menu, toolbars and ribbons are not correctly loaded or they are loaded, but the user can not load the application.

We have found that a probable cause for this behaviour is that AutoCAD tries to create/renew the .mnr file when first loading a .cuix file and since the user has no administrator rights this can't be done in the "C:Program FilesAutodeskApplicationPlugins" folder where the bundle is and AutoCAD creates the .mnr file in its own support folder ("C:Users<User>AppDataRoamingAutodeskAutoCAD 2012R18.2...Support") together with a copy of the .cuix file and changes the path for loading the .cuix file to this location. Since the .mnl file containing the function for loading/unloading is not copied with the .cuix file the application can not be loaded.

The user has to delete the created files under the support path of AutoCAD, unload the .cuix file and then reload it from the correct location to resolve the problem. Restarting AutoCAD leads to the same problem.

Is there a way to prevent this behavior other then running AutoCAD as administrator (that is not always an option)?

View 3 Replies View Related

AutoCAD Visual LISP / AutoLISP :: How To Locate WDP File With Minimal User Input

Sep 23, 2013

I am trying to locate a .wdp file with minimal user input.  this is what I have so far

;All file saved in this folder

(setq filedir "I://PROJECTS//")

;User will put the following in, but there might be a small description after 915-01.  That is why I have a wildcard

(setq filename (strcat "915-01*"))

; string together everything

(setq nextlevel (strcat filedir "JOB " filename "*" "//ACAD"))

;; the final path should look something like this:

I://Projects// JOB 915-01(something here... could be anything or nothing)//ACAD//915-01(something else could be here as well).wdp

;set file extension

(setq fileext ".wdp")

; search files

(setq wdp_file (vl-directory-files nextlevel (strcat filename "*" fileext)))

I am confused on where and when I can use wildcards for searching directories.

View 1 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Selected Text(s) To CSV Files

Nov 14, 2012

I need a LISP program that prompts: "select text(s)" then I select for example 100 text in open drawing file.

after that this program creat a file (LIST.CSV) and write each selected text in line by line of this file:

result text file (LIST.CSV ) should be:

Text1

Text2

Text3

...

...

Text99

Text100

 ofcourse Text1 is the content of a text object.

View 9 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 :: Last User Entered Command Needed As String Variable

Aug 1, 2013

Main question: I need the user to be able to type a command. Then use it or cancel it. Then i need them to type another lisp command. In the second command i need to know (have the string of) the previous command they typed in. How do i get that string?

What I have tried.

I have looked at "LASTPROMPT" though not extensively, and i believe it would just return "ineedhelp" if i tried that.

I have looked at "CMDNAMES" but that gives the command you're currently in. 

And I have found one page on this forum titled: Command Line History Macro, but there was no answer on that post.

I could create a global variable for that string, but then I would have to put the set code in every function I create. Nope, will not.

Backstory:

There's a person that is going to make how-to videos on how to use some of my lisp routines.

Anyhow, I need the user to be able to type in "ineedhelp" and the lisp that runs must get the last command's string go to the shared drive and pull up the video file for that command.

I have made a lisp that opened a word file before, and if i could get the string of the previous command, i'm fairly certain that I can get the videos to work.

There will be approximately 60 lisp routine video's.

View 9 Replies View Related







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