AutoCAD Visual LISP / AutoLISP :: Placing Multi Lines Of Text In DCL Edit_box
Jan 10, 2012Is it possible to have Multi lines of text in a .dcl edit_box or such?
View 4 RepliesIs it possible to have Multi lines of text in a .dcl edit_box or such?
View 4 RepliesI am able to insert multi line text into the Drawing Properties Summaryinfo standard field "comments" by using string concatenation in VBA by using "mytext" & vbLF & vbCR "mytext".
But I can't find a way that works in autolisp. This code does not work.
(defun c:FillComments (/) (vl-load-com) (setq acadObj (vlax-get-acad-object)) (setq acDoc (vlax-get-property acadObj 'ActiveDocument)) (setq acDocSumInfo (vlax-get-property acDoc 'SummaryInfo)) (setq *customer* "MyCustomerName") (setq *location* "MyLocation") (setq *project* "MyProject") (setq*comments* (strcat *customer* ", " (chr 10) (chr 13) *location* ", " (chr 10) (chr 13) *project* ) ;_ end of strcat ) ;_ end of setq (vlax-put-property acDocSumInfo "Comments" *comments*) (princ)) ;_ end of defun
The text comes in but all on one line.
I want to construct lines between every two line ending point by multi selectio window instead of drawing it manually between lines ending point ?
View 3 Replies View RelatedIs there a way to modify the text insertion point of multileaders using lisp? We have a problem with some of our multileaders getting a landing distance set to a negative value. My lisp routine will correct these to a default value, but then the text jumps a bit. If I could get the insertion point prior to changing the landing distance then I could restore that point after changing the landing distance.
;;-------------------------------------------------------------------------------------------------(defun c:zld (/ e th dogleg doglegllength sf ss c mlss mlcount) (setqss (ssget (ssget "X" (list (cons 0 "MULTILEADER"))))DWATxtHgt (getvar "userr1")sf 1dogleg (/ 3 32.0)th (if dwatxthgt dwatxthgt dogleg)c 0mlcount 0mlss (ssadd)) (IF ss (while (< c (sslength ss)) (setq e (vlax-ename->vla-object (ssname ss c)) c (1+ c) ) (= (vla-get-ObjectName e) "AcDbMLeader") (progn;;change the dogleglength if
[code].......
I required a lisp for sorting Multiline text in alphabetic order. (Ascending and Descending)
For example in my drawing it contains lot of Mtexts having multi rows. I need to sort texts inside Mtext. Like PDC-012, DAG-012, AAG-096. I need that Mtext should be AAG-096,DAG-012,PDC-012.
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...)
The PARTS LISTS on our old drawings are simply text entities and lines. Some are MTEXT. But our new drawing template has us creating our parts list using the actual AutoCAD TABLES entity.
I'm looking for the best method to go from lines and text in AutoCAD, to an AutoCAD table. As of now, I have to retype everything since I can't select a column/row or group of text entities, copy/paste into a table.
Any LISP function that will allow me to go from TEXT and LINES to a TABLE? I've tried B2E (lisp name) but it's not working - found that on a lisp site somewhere.
I know how to write a single line of text to a txt file with LISP, but how do i write two or more lines of text to a txt file ussing lisp?
View 4 Replies View RelatedI would like to create a lisp that places a block at a pre-calculated point. I've created a lisp that fetches me a block to place into my drawing. The only thing is
I have to point out the place i want it to go. I want it to got into the corner by it self. I would like to create a lisp that calculates, by the retrieved variable of the layout / paperspace, minus 10
from the bottom right corner. minus 10 from the bottom up and from the right edge to the left.
I have the following Lisp command that changes a selected layer to a different layer. I have tried modifying it change known layer names to different known layer names. i.e run routine and it changes layer "2" to "3" then changes layer "dim" to "dims" ect then stops.
View 5 Replies View RelatedI have some my own Icons on my Toolbar in Autocad that prepared by myself,
I can define tooltip for those icons by "Description" property of icons in CUI.
but the limitation is: I will have just single-line and simple tooltips!
so, how can I define multi-line tooltips for my own icons? or even graphical tooltip?!
should I use "Zammel" language?
I want to entmake a block with a multiline attribute. Entmaking the block definition works fine, but what do I code for the Multiline Attribute? Should it be coded (0 . "MTEXT") instead of (0 . "ATTRIB")? I know (101 . "Embedded Object") does not work. What other codes need to be included?
View 2 Replies View RelatedI have been working on an AutoLISP routine which is intended to:
1) collect input from the user via a DCl dialog box
a) Create a List of the non-null "GROUP_CODE..." variable values collected from the dialog's settings
b) Create a List of the "ESN***#_Part" variable values collected from the dialog's settings (does the List elements' order need to be reversed after collecting them?)
2) Prompt the user to select an insertion point
3) Insert a Block named "ESN-CONTROL-WIRED" which has multiple attributes
a) Apply the first List element collected at step 1.a above to the attribute tag "INPUT_ADD" in the block
b) Apply the first List element collected at step 1.b above to the Attribute Tag "PART_NUMBER" in the block
4) Insert a second instance of the Block named "ESN-CONTROL-WIRED" below the first instance
a) Apply the second List element collected at step 1.a above to the attribute tag "INPUT_ADD" in the block
b) Apply the second List element collected at step 1.b above to the Attribute Tag "PART_NUMBER" in the block etc. .... keep inserting the block "ESN-CONTROL-WIRED" below the previous on until all the input from the dialog has been displayed in the attributes.
Notes:
The Dialog's pop-up lists are populated from external .TXT files which reside on our network (or alternate local C: drive folder if no network drive is found)
Inside the file "ESN_SENSORS_NUMBER.LSP", it is the function "ESN_APPLY_TAG" which I am struggling with how to write...
find inside the .ZIP file:
- (2) example screenshot .BMPs showing dialog box settings and what the resulting output in AutoCAD should look like
- (1) ESN_SENSORS_NUMBER.LSP
- (1) ESN_SENSORS_NUMBER.DCL
- (1) ESN_SENSORS_NUMBER.DWG with a sample output - and the definition of the block ESN-CONTROL-WIRED
- (1) ESN-OCC.txt which populates the PopUp List Boxes
- (1) ESN-DAYLT.txt which populates the PopUp List Boxes
- (1) ESN-IR.txt which populates the PopUp List Boxes
With all of you fine teachers, I have the know-how to get the start and end values of a line.
Do you think there is a way to get a point returned that represents the true intersection of the two lines, without having to involke a user defined "getpoint" function using "intersect" osnap?
I am trying to draw a line between two lines and I put together the following. It works great if the start/end points are perpendicular to each other. How do I solve if line one start point is in a positive direction and line two is in a negative direction?
(defun c:test ()
(setq L1 (car (entsel "
Select the first line: "))
L2 (car (entsel "
Select the second line: "))
)
[code]....
i know DIMANGULAR command will let me draw a dimension to display the angle between two lines, but is there a way for my commandbar to show me what the angle is rather than draw a dimension?
I often want to simply know the angle but not display it in the drawing, and it'd be good if there was a command/lisp which showed me in the command line area, or perhaps a pop up window, similar to what the TLEN lisp does here: URL....
I want to get the minimum and maximum x, y coordinate values of selected lines. In other words, i want to find the top, bottom, left and right edges of a set of lines.
Is it possible to achieve this with a lisp code?
Project involves repeatedly mirroring a line by selecting mutiple lines to do the mirroring. Probably sounds confusing.
The progress so far can be found here: [URL] ........
Labeling lines with their lengths,
I got the attached lisp file from the web which automatically labels the lines with their length. Resulting the values of the length in the absolute values of the length instead of saying that the length is in inch. i.e, i need to remove the inch sign (") from the suffix of the length.
I need lisp that do a line between 4 lines.
View 7 Replies View Relatedhow to use AutoLISP to draw lines between two points. I have x,y,z coordinates for the end points in an excel sheet which I can save as a text file. I need to pull the coordinates from the file and use them to draw the lines. There are 2000+ lines so it is not feasible to draw them manually.
View 8 Replies View RelatedI am testing 2010 lisp routines in 2013. One thing I noticed is princ lines are not showing up on the command line until after the lisp routine has finished. Is there a setvar that controls this behaviour?
View 7 Replies View RelatedLisp code here for draw for example triple parallel line ? each line will be own layer and color..
View 8 Replies View RelatedLISP routine for rotating lines so that text in linetypes always reads from left to right?
I use the QUERY command to create basemaps and often the lines that are imported read upside down or backwards or however you prefer to look at it. Most often, if I look at the XY coords of these backwards lines, the End X coordinate is of a higher value than the Start X coordinate.
Looking for something that would compare the two X coordinates of a line, do some sort of an IF Start X > End X, and if its true, store the XYZ coords of the Start and End in some variable, and swap them.
I have about 30 profiles with water pipe lines that I need to measure all their vertical angles. since the vetical scale is exaggerated so I can't use the acad angular icon tool bar. Only thing I cant think of is to block each run then import them back in at 1/10 in y direction. How to get this done faster or more direct by any other methods.
View 6 Replies View RelatedI need a lisp code to convert all Lines, Polylines, Arcs and Splines to Polylines with 0.4 width.
I prepare this:
(defun c:CH2pl ( / SS);changes all lines, plines, arcs and splines to POLYLINE with 0.4 width(if (setq SS (ssget "_X" '((0 . "LINE"))))(command "_.pedit" "m" SS "" "Y" "w" 0.4 ""))(if (setq SS (ssget "_X" '((0 . "*POLYLINE"))))(command "_.pedit" "m" SS "" "w" 0.4 ""))(if (setq SS (ssget "_X" '((0 . "ARC"))))(command "_.pedit" "m" SS "" "Y" "w" 0.4 ""))(if (setq SS (ssget "_X" '((0 . "SPLINE"))))(command "_.pedit" "m" SS "" "Y" 10 "w" 0.4 "")))
But I want pure lisp code in a professional way!
I want to make many object cooper lines in autocad and each line has some data about its length, size, type etc. that can then extract to excel as a Bill of materials.
View 1 Replies View RelatedI want to join multiple lines together like join command but with multi selection.
View 6 Replies View RelatedI need lisp that draws rectangle between two lines by window selection. As attached.
View 3 Replies View RelatedI want to draw a line which shows a particular color scheme, I at current do this by drawing a solid line of one color and then use a dashed line of another color top go over it.
The obvious problem is that these lines are being double drawn. Is there a way using lisp that I can draw both lines at once?
I am working on a script. I need to select all lines and polylines and set there linetype scale to 1.
I'd take a simple lisp routine if that would be easier.