AutoCAD Visual LISP / AutoLISP :: Create Text Based On Room Dimensions?

Dec 19, 2012

make a LISP that will work with my room dimensioning? I'd like to be able to specify the width and depth of the room using a command similar to the "dist" command, and then click a point to place a text based on the distances gathered. I'd also like the text to be formated into architectural units and displayed like this: 12'-0" X 13'-5". Also, if possible, round the result to the nearest inch (to avoid 1/2" and 1/4" dimensions).

View 9 Replies


ADVERTISEMENT

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 :: Aligned Dimensions Change To Rotated Dimensions?

Dec 4, 2012

I was adding a lot of aligned dimensions to a drawing and some where along the way they changed from aligned dimensions to rotated dimensions, even in the same string of dimensions.

View 9 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Using TEXT Not MTEXT To Create Multiple Lines Of Text?

Oct 4, 2011

3rd party tool which didn't match our scaling needs the file is a fas so I have tried to reverse engineer the whole function using trial and error. The following code works perfect except we need multiple (x amount) lines of text I have at current the M txt function which mimics and is effective for today however we need all lines to be individual.

I’m playing round with a loop but how to achieve my need..He had a 3rd party tool which didn't match our scaling needs the file is a fas so I have tried to reverse engineer the whole function using trial and error.

The following code works perfect except we need multiple (x amount) lines of text I have at current the M txt function which mimics and is effective for today however we need all lines to be individual.
 
;Starting lisp program...(defun C:REDtext ();Creating Layers (if non existant)...(command "layer" "m" "TEKST-1.5mm" "lt" "continuous" "" "c" "1" "" "");Memorising previous layer...(setq MYOLDLAYER (getvar "clayer"));Setting requierd layer...(COMMAND "LAYER" "SET" "TEKST-1.5mm" "");Setting variable "MYHEIGHT" to "DIMSCALE" x 2...(setq myheight (* 2 (getvar "DIMSCALE" )));Requesting and storing usser defind point...(setq MYPOINT (getpoint "Start punt :")); Requesting and storing user defind text...(setq MYTEXT (getstring T "Nieuw tekst :"));Placing text...(command "text" MYPOINT MYHEIGHT "0" MYTEXT); Restoring previous layer...(setvar "clayer" MYOLDLAYER);Closing lisp program...)

View 1 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Create Linestyle With Text?

Apr 13, 2012

I would like to know how i can create a linestyle with text using lisp?

View 1 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Routine To Place Lights In Room Evenly?

Jan 13, 2013

Lisp routine that divided up a normal square / rectangle room and insert a block at each given point.

At present if the room was to have four lights width ways and three lights length ways we would divide the width by eight to give us 1/2 1 1 1/2 so the lights would be placed on every second point after the divde command (dividing the room by twice the amound of lights needed). 

View 9 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Create A Line With Text Offset

May 6, 2013

I am a beginner at LISP and this is a bit out of my league... and I'm trying to create a lisp where I can draw a polyline between 2 points that also places text with the actual distance offset above the line.

I did find this post and I'm not quite catching on.. [URL] ......

View 9 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Create A Selection Set Of Y Values Of Text?

May 9, 2013

What I am trying to do is create a selection set of the "y" values of text.  I've started by pulling out all the text on the drawing, but I need it to continue to grab only the "y" values of the text on the drawing.

(setq alltext (ssget "_x"  (list '(0 . "TEXT")) 
)  
)     

I've tried a bunch of different things but I am still new to lisp.

View 5 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Closed Polyline And Place Mtext With The Room Name And Area In M2

Oct 24, 2013

LSP file i downlaoded from web.it is to use for Area with (m2) and room name. by click polyline.

i want to modify it to use without adding Room Name, just insert area to the drawing.

(defun drtxt (/ rn tx ls vl lt ht lb hb nr pt)
  (setq tx (strcat "Area: "
       (rtos (/ (getvar "area") 1000000) 2 2)
       " m2"
       )         
       rn (getstring "
Room Name: ")

[code]....

View 5 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Changing String Of Text / Multitext / Dimensions To Another String

Nov 16, 2012

i failed to find one which would change string of a text to other for all types of objects. I mean it was usually either only multitext, or only text, dimensions or attributes.creating one which would change in abt 200 drawings:

-001

-002

-003

to:

-00001

-00002

-00003

in attributes, text, multittext, leaders, multileaders, dimensions..... at the same moment?

It is meant to be used in ScriptPro (by loading lisp in script).

If not possible, then can also open each file and run the lisp in each of them - still would save lot of time.

View 4 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Allow User To Move Room Tag That Is XRef Into Discipline Specific Models

Jun 14, 2013

I am looking for an alternative to in place XRef Edit.

The third party software I am stuck with has disabled in place editing an Xref.

The specific application I need is to allow the user to move an intelligent room tag that is XReffed into discipline specific models. Disciplines are Architectural, Mechanical, Electrical..Etc. Each discipline has their own room tag and needs to move their own tag to a location that can be clearly seen on their finished plot. Xref edit in place is the perfect tool for this..But since the third party has disabled the command, I need an alternative method.

View 9 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Create Layer From Highlighting Words In Text Or Mtext?

Sep 23, 2011

I want to create a layer from selecting only some words from an mtext or text entitty.

Is it possible to highlight and select only part of the text from an mtext using a lisp routine ? similar to how Adobe Reader can select text.

View 7 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Change Block Layers Based On Attribute Name Tags

Oct 11, 2011

What I am trying to do is grab the value of the owner tag (of which there are four), and use that value to determine which layer to place it on.  What it seems to be doing is hanging.

Here is what I have so far:

(setq SSBlks (ssget "x"'((0 . "*INSERT"))))
(while (/= (sslength SSBlks) 0)
(setq w(sslength SSBlks) V 0)
(setq attentity (ssname SSBlks 0))
(setq attname (entget attentity))
(setq cntr 0)
(while (< V cntr)

[Code] ......

View 9 Replies View Related

AutoCAD Visual LISP / AutoLISP :: How To Loop Based On Number Of Selected And Filtered Objects

Jun 13, 2013

I am looking for a way to extract (filter) all polylines, and loop a lisp based on the number that are found within a "W" selection window.I am frustrated getting "malformed list" or errors, even after defining "n" for repeat.The code I have so far looks like this:

(defun cWW (/ p1 p2 sspw myObj ss)
(setq p1 (getpoint "
Pick first corner: "))
  (setq p2 (getcorner p1 "
Specify opposite corner: "))
  (if
   (setq sspw (ssget "W" p1 p2 '((0 . "*POLYLINE")))
 [code].....

Without the (repeat () portion, it was working ok with selection window, however it only would run the commands for a single polyline.  What needs to be done without overhauling the code?  The lisp has worked on a drawing-wide basis, however needs to run on only on user-windowed polylines since there are other polylines within the drawing which are attached to layouts via viewports. 

View 9 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Assign Variable Based On The Number Of Characters To Be Removed

Apr 1, 2013

(defun layun (target_obj / original_layer original_layer_info target_obj_atts new_layer )(setqoriginal_layer (cdr (assoc 8 (entget target_obj)))original_layer_info (tblsearch "layer" original_layer)target_obj_atts (entget target_obj));setq(if (or(wcmatch original_layer "*-P123"); REMOVES 4 CHARACTERS(wcmatch original_layer "*-P123456"); REMOVES 7 CHARACTERS(wcmatch original_layer "*-P123456789"); REMOVES 10 CHARACTERS );or(progn(setq new_layer (substr original_layer 1 (- (strlen original_layer) ??))) ; NEED TO ASSIGN VARIABLE TO MATCH THE NUMBER OF CHARACTERS TO REMOVE(if (not (tblsearch "layer" new_layer))(progn(entmake ;;;begin to make new layer(list'(0 . "LAYER")'(100 . "AcDbSymbolTableRecord")'(100 . "AcDbLayerTableRecord")(cons 2 new_layer) ;;; layer name(assoc 6 original_layer_info) ;;;re-use original linetype'(70 . 0) ;;;flags - use default flags(assoc 62 original_layer_info) ;;;re-use original color);list);entmake);progn);if(entmod (subst (cons 8 new_layer) (assoc 8 target_obj_atts) target_obj_atts)));progn);if);defun

assign a character where ? is shown so that it matches with the number of characters to remove based on the 3 lines above (see wcmatch lines).  At present, whatever number I replace that ?? with, it removes that number of characters from the layer that I selected (if it meets that WCMATCH criteria).  Another option which may be more difficult is to be able to have the routine look at the object layer and if it contains -N- or -D- or -NEW- or -DEMO- then to remove all the characters that follow these layer modifiers.  This way I can cleanly add another project modifier behind these modifers. 

View 9 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Open Excel Program And Count Cells Based On Colour?

Jul 30, 2013

Is this something that is possible? Basically I have an excel file with sample data that comes coded (red background for fail, Green for pass) Then we transfer that into halos on a DWG. got a routine to count the halos in a DWG. Now I was thinking it would be nice if it compared the number to the excel file to make sure no mistakes were made when placing the halos.

So as I mentioned I've seen rountines to read data in cells but none to count cells based on colour.

View 8 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Routine To Activate Alert Window Based On Drawing Timer

Jun 19, 2012

I was interested in finding out if it's possible to write a LISP routine that would execute a pop-up dialog box say every 30 minutes.  This is strictly for ergonomic reasons to remind the user to take a pre-determined break.

I am not an expert code writer by any means, but I imagine the routine would autoload and resetting the timer to 0 upon opening a particular drawing file.  The LISP routine would then run in the background and run the (alert "") command when the timer reaches 30m 0s.  When the user presses the OK button, the timer resets to 0 again.

View 9 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Select Dynamic Block Based On Previous Selected Point

Apr 9, 2012

For a program i am working for i have to extract the base point of a dynamic block.

This can be done perfectly by this function:

(cdr (assoc 10 (entget (car (entsel)))))

But i want the entity selected based on a previous slected point. So for example when i selected pt1 (which is a point at the border of the dynamic block) i want to be able to extract the base point on the block whit this point.

View 8 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Conversion Of Base Routines To Diesel MACRO Based Routine

Jul 3, 2012

" Convertion of AUTOLISP base routines to Diesel MACRO based routine to be used in a AUTOCAD LT based platform "

Here i am attaching the lisp file for ready reference.

View 1 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Autoselect Layer For Dimensions?

Jun 29, 2013

When selecting any dimension type (from the standard AutoCAD toolbars) i would like it to already be in the layer "dimensions". Currently it starts in layer 0. 

I've been browsing the web a bit and found a lot about it but people are talking about LISP's?? I can do magic things in AutoCAD but i am a complete stranger to LISP's, Macro's, etc... Would like to learn but where to start..

Anyway i can cover this with something else then writing an LISP?

View 9 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Dimensions Of Image Slide (DCL And LSP)

Jul 16, 2012

I'm not able to control the dimensions of image slide..Whatever value I use for height and width the image is displayed too small in the tile.

here's my
: image {
       key = "sld";
       height = 5;
       width = 30;
[code]....

View 3 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Selecting Only Vertical Dimensions

Oct 25, 2012

The title says it all, Im trying to find a way to select just the vertical dimensions. Quick select doesn't work because there's no difference between a vertical and a horizontal dimension, so i was wondering if there was a LISP or something else i could do to accomplish this.

View 5 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Dimensions And Selection Sets

Nov 1, 2011

I have a lisp routine that creates a "frame wall" and I want to be able to automatically dimension said wall within the same routine. I have created two sets of points, each set being on its own new layer. I have made selection sets of each set of points, and want to cycle through each set dimensioning as required. This what I have so far for this part of the routine:

(command "DIMSCALE" 24)
(setq sel1 (ssget "x" '("VPOINTS")))
(setq TC (polar (ssname sel1 0) (dtr 180.0) 9))
(command "DIMLINEAR" (ssname sel1 0) (ssname sel1 1)) "V" (polar TC (dtr 180.0) 9) "")
[code]...

When I run the program I get the error: bad point argument. So what I think is happening is that the ssname command is not returning the actual value but just the name? I am new to AutoLisp and even newer to selection sets so be easy... Along with this, I am also curious as to how a selection set is ordered when it is chosen ie how does it determine what would be in (ssname sel1 0). Also, how would one go about deleting the points in these selection sets after the dimensioning has been completed.

View 5 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Make Dimensions Parallel To UCS

Dec 7, 2012

I have tools like flatten and toolpac to correct plines and other things to be parallel to the ucs (world), but not for dimensions.

I attached a file with problem dins, any tool to get them back to flat?

[URL]

View 1 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Purge Using ObjectDBX Is Deleting Dimensions

Dec 21, 2012

I'm working up a routine to simplify clearing some space. I've been cruising here and other places piecing together something, but what I have ended up with is a routine that deletes all of the intended information (possibly needing repetition for those hard-to-reach blocks), but also deletes dimensions from the model space.

There are several things our company does which are "non-standard" but we have been at it for a while and I am trying to work with what I was given. Following is the code.

;;; not sure who Jeff M is, but assuming this bit is from him(defun odbx-test (/ dbx_doc) ;; edited 5/28/06 by Jeff M (if (< (setq dbxver (atof (getvar "ACADVER"))) 15.06) (progn (alert "ObjectDBX method not applicablein this AutoCAD version" ) (exit) (princ) (gc) ) (progn (if (= (atoi (getvar "ACADVER")) 15)(progn (if (not (vl-registry-read "HKEY_CLASSES_ROOT\ObjectDBX.AxDbDocument\CLSID" ) ) (startapp "regsvr32.exe" (strcat "/s "" (findfile "axdb15.dll") """)
[code]....

View 2 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Create Two Line MLEADER - Only Get One Line Of Text

Jul 18, 2012

I'm trying to write a lisp routine to create a two line MLEADER but i can only get one line of text. Creating the MLEADER manually from the command line i just have to hit enter after the first line of text to add a second line. How would i do this in a lisp routine?

View 2 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Place Aligned Dimensions On Each Segment Of Polyline?

Feb 6, 2006

Have Lisp to place aligned dimensions on each segment of a polyline?

I would use it for reinforcing bar detailing.

View 9 Replies View Related

AutoCAD Visual LISP / AutoLISP :: How To Sensibly Extract Angular Dimensions As Attributes

May 14, 2012

how to sensibly extract angular dimensions as attributes.

I can extract the attributes from a block containing angular dimensions, the attributes list angular dimensions as a field but don't actually list the number of degrees for the angular dimension.

It is the number of degrees that I am actually trying to obtain - but I cannot work out how to obtain the information

View 3 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Delete All The Dimensions Inside Selected Block?

Dec 2, 2010

I need a lisp routine which will delete all the dimensions inside selected block or blocks, including nested blocks inside.

View 9 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 :: 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







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