AutoCAD Visual LISP / AutoLISP :: Convert List With String Or Lists Of Strings To Text

May 22, 2013

Someday the light bulb is going off and I will understand mapcar and lambda. However.....I have a program that reads an excel file sheets. Sometimes the sheet only has 1 column, sometimes 2 or more.

I need to convert the saved values from the sheet to a list with the text spaced evenly. Unfortunately the text lengths vary. I would like a subroutine to pass the list to and return a list of strings with text aligned with padded spaces allowing for the longest text in each column. I am using the new list in a dialog box with fixed_width_font=true (so columns align).

Example 1-

(setq List1 (list "Col1-Line1" "Col1-Line2" "Col1-Line3-longer" "Col1-Line4"))
(AlignText List1)
returns
"Col1-Line1"
"Col1-Line2"
"Col1-Line3-longer"
"Col1-Line4"

so no padding needed

Example 2 -

(setq List2 (list (list "Col1-Line1" "Col1-Line2" "Col1-Line3-longer" "Col1-Line4") (list "Col2-Line1-longer" "Col2-Line2" "Col1-Line3" "Col2-Line4")))
(AlignText List1)
returns
"Col1-Line1        Col2-Line1-longer"
"Col1-Line2        Col2-Line2       "
"Col1-Line3-longer Col2-Line3      "
"Col1-Line4        Col2-Line4      "

 Example 3 -

(setq List3 (list (list "Col1-Line1" "Col1-Line2-longer" "Col1-Line3" "Col1-Line4") (list "Col2-Line1-longer" "Col2-Line2" "Col1-Line3" "Col2-Line4") (list "Col3-Line1-longer" "Col3-Line2" "Col1-Line3" "Col3-Line4")))
returns
"Col1-Line1        Col2-Line1-longer Col3-Line1-longer"
"Col1-Line2-longer Col2-Line2       Col3-Line2       "
"Col1-Line3-longer Col2-Line3      Col1-Line3       "
"Col1-Line4        Col2-Line4      Col3-Line4       "

View 5 Replies


ADVERTISEMENT

AutoCAD Visual LISP / AutoLISP :: Convert Every Element Of List To String

Jul 17, 2012

I have a list of (0 .4 .8 0 10). I want to convert every element of the list to string.

View 4 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Associative List With Strings And Spaces

Aug 16, 2013

I'm making a program that reads a property file that follows the format:

"key=value"  for each line on the text file.

One specific line has the key "file" and the value is some file path that includes a space.file=C:/my folder/my file.txt
 
Now I can extract what the key and value is for any given line in the file.However, I want to put all of the data into an Associative List so that I will not need to keep opening the file each time I search for information. I've been using the cons function in order to create a dotted list, which is successful.  However I have an issue when I add this dotted list to the end of my associative list.

Suppose I have a key and a value already stored inside variables.  Below I have two lines of code, first the dotted list portion is printed, and works as expected.  The second line adds that dotted list to the associative list:

(princ "Cons: ")(princ (cons key val)) (princ "") ;Prints (file . C:/my folder/my file.txt)(setq assocList (append assocList (cons key val))) ;Error message here.
 
The error that I receive says "; error: bad list: "C:/my folder/my file.txt"..Here is the change:

(setq assocList (append assocList (list (cons key val))))

 Now, the dotted list is inserted properly and looks like this after printing the whole associative list: ((version . 1.0.1) (file . C:my foldermy file.txt))

View 1 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Return A List Of Strings Of Layout Tabs In Drawing

Mar 6, 2013

(layoutlist) ... returns a list of strings of the layout tabs in the drawing.I've used this ages... Isn't it a core lisp function, or is it coming from express tools or somewhere else?

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 :: Add String To Each Item In List Using Lisp

Nov 14, 2013

I have a list ("temp.dwg" "temp2.dwg") and would like to add the string "insert text here" into each item in the list resulting in ("insert text heretemp.dwg" "insert textheretemp2.dwg").  how would i go about doing that using LISP?

View 2 Replies View Related

AutoCAD Visual LISP / AutoLISP :: List To String

Jul 11, 2013

Here's one that I could use on that i can't figure out:

I have a list of a bunch of descriptions that looks like this:

("00.02.00" "CTD01 Mainframe PT1 (top)" "GD01")

What I am doing is grabbing the middle item and i need to break this up into 2 lines.  So, my code below grabs the first 3 "words" in the second item in the list and puts them in a list, but I need to convert this back to a string.

(setq desc6a (list (car (read (strcat "(" (cadr input6) ")" )))(cadr (read (strcat "(" (cadr input6) ")" ))) (caddr (read (strcat "(" (cadr input6) ")" )))))

I tried a bunch of ways but can't get it

View 8 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Sort List Of Lists By Size Of Units?

May 2, 2013

I am trying to sort a list of lists by the size of units.

Here is the unsorted list -

(setq List_Blocks
  (list
    (list "10x10" "UNIT DOWN-CC" 56)
    (list "7.5x10" "UNIT DOWN-CC" 20)
    (list "5x5" "UNIT DOWN-CC" 34)
    (list "10x15" "UNIT EXTERIOR" 32)
    (list "5x10" "UNIT DOWN-CC" 31)
    (list "10x20" "UNIT EXTERIOR" 24)
    (list "10x30" "UNIT EXTERIOR" 13)
    (list "10x25" "UNIT EXTERIOR" 2)
  )
)

I would like the list sorted by the first number before the "X" and then by the second number after the "X".

Example of sorted list -

    (list "5x5" "UNIT DOWN-CC" 34)
    (list "5x10" "UNIT DOWN-CC" 31)
    (list "7.5x10" "UNIT DOWN-CC" 20)
    (list "10x10" "UNIT DOWN-CC" 56)
    (list "10x15" "UNIT EXTERIOR" 32)
    (list "10x20" "UNIT EXTERIOR" 24)
    (list "10x25" "UNIT EXTERIOR" 2)
    (list "10x30" "UNIT EXTERIOR" 13)

View 8 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Build Association list With Nested Association Lists

Sep 27, 2013

I need to build an association list with nested association lists.

Here is my current
(IF (SETQ SUBLST (ASSOC CATEGORY PLNTLST))(PROGN (SETQ PLNTS (CONS PLANTNAME (LIST(CONS 'SIZE (dict-get PLANTNAME "SIZE"))(CONS 'COLOR (dict-get PLANTNAME "COLOR"))(CONS 'QTY (dict-get CATEGORY PLANTNAME))) ) PLNTLST (cons PLNTS SUBLST) ))(SETQ PLNTS (CONS PLANTNAME (LIST (CONS 'SIZE (dict-get PLANTNAME "SIZE")) (CONS 'COLOR (dict-get PLANTNAME "COLOR")) (CONS 'QTY (dict-get CATEGORY PLANTNAME)) ))PLNTLST (CONS CATEGORY PLNTS)))
[code]....

View 8 Replies View Related

AutoCAD Visual LISP / AutoLISP :: How To Convert To String ACL

Jun 6, 2012

I have a list that is "acl", I would like to convert it to a string "acl", everything that I have read uses alot of code. Does this  really take that much code to do?

View 9 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Selecting Text Strings Of The Same Value

Apr 22, 2013

A code that scans all through the drawing and selects the texts of the same value regardless of the layer, color, style, ...etc..

Just selecting duplicates for highlighting nothing more.

View 9 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Passing Excel Cell Content (Text Strings)?

Oct 23, 2012

How can I pass the contents of a cell value (text string) to Acad? I want the user to click on a cell, then have lisp use the string as the name of a block to insert.

View 4 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Select Multiple Instances Of Text (dtext) With Different Strings

Apr 23, 2012

I am trying to select multiple instances of text (dtext) with different strings but want to change all of the fomats to the same settngs.  I have searched high and low on the web to no avail.  I am using AutoCAD 2012.

For example:  I want the routine to find all instances of "AA", "AB", "AC", "AD", "BA", "BB", "BC", "BD", etc... all the way up to "ZD".

Next I want all of those text entities to change to the following text formats:

Text Style = STANDARD_96Layer = F-ANNO-CKTText Justification = MIDDLE CENTERText Width = .8

Getting this to work with just finding one string at a time with the ssget function seems simple enough, but it's getting it to work with multiple strings that I can't get past.

View 8 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Get Text String From Mtext?

Aug 20, 2013

I'm looking for a function to return the actual text from an mtext object.if there's a carraige return I wish to replace it with a space.

View 4 Replies View Related

AutoCAD Visual LISP / AutoLISP :: How To Find Duplicate Text String

Jun 11, 2007

In order to avoid duplicate text string in different places in the same drawing, I would like to have such a tool to find duplicate text string.

For instance, I want to put numbering of some connection lines, I do not want to have different lines but have same number by mistype.

View 9 Replies View Related

AutoCAD Visual LISP / AutoLISP :: How To Compare Value Of Variable To Set String Of Text

Jun 11, 2012

I would like to know how I can compare the value of a variable to a set string of text if the two prove to be equal perform task A if the two prove different perform task B?

View 7 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Add Or Subtract To Modify Value In Text String

Oct 18, 2011

I need a lisp routine that will add or subtract to modify a value in a text string. Its used for drainage fixture units on waste & vent plans. Example: We use basic dtext strings that look like this [color=red]4"(6)[/color]I would like to be able to add or subtract to the number that is [b][size=12pt]ONLY[/size][/b] in parenthesis and would like to be able to pick multiple text strings at one time so it would result in something like this: [color=green]4"(6)[/color] + 9 will become [color=blue]4"(15)[/color].

View 9 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Copy Text String From One File To Another

May 2, 2012

I have spent the last three days writing a lisp program that will copy a text string from one text file and paste it into another.  I have tried using the write-string, getstring, prin1, princ and print functions with no success. 

View 6 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Convert Polyline - Bad SSGET List

Feb 5, 2013

I have a data structure called LayerList in the format [LIST "LayerName" "Linetype" Thickness Color]I then use the following piece of code to go through the structure selecting polylines and converting all polylines on a given layer to the correct thickness

   (foreach layr layerlist
       (setq player (car layr))
              (if (setq ss (ssget "x" '((0 . "*polyLINE") (8 . player ) )))
                      (command "pedit" "m" ss "" "w" 0.15 "")
                      (princ "
No polylines exist!")
      )
   ) 

However all i keep getting is Bad SSGET list value at the command line,

View 3 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Mtext String In Group 1 Does Not Match Text Shown Or In Property Window

May 17, 2012

I have a routine that looks for an MText date stamp and replace the old date with a new date.  The problem is some MText strings appear encrypted.  Below is an example:

{\H1.121x;\C1; \LFY 2011-12\l \H0.6252x;04-30-11} This is what I should get when I extract the string (as shown in Property window)

(1 . "\pxi-2.1818,l4.3636,ql,t4.3636;{\fSymbol|b1|i0|c2") is what I get when I extract the group code.

I'm running AutoCAD 2012 on Windows 7.

View 2 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Compare Two Lists

Aug 12, 2012

I have two lists to compare and want the difference in an third list.

like

list1 ("A" "B" "C")
list2 ("A" "B" "C" "D" "E")

the difference in list3 ("D" "E")

View 9 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Convert Field To Text

Aug 1, 2006

What is the Command that Converts a Field to Text so that I can stop a Field updating after the initial set-up? I need to apply this in lisp.

View 9 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Check If Layer Is In One Of Multiple Lists

Jul 18, 2013

I am trying to write a piece of a program that gets the layers from a drawing, and checks each one against a list of layers. If the layer is not a member of any of the lists it asks the user which layer list to add it to. This is what I have so far, but every time I try to run it I get a bad argument error.

(setq layerspresent (vla-get-layers (vla-get-activedocument (vlax-get-acad-object))))(setq i 0) (repeat (vla-get-count layerspresent)(setq thislayer (vla-get-name (vla-item layerspresent i)))(cond(((progn(or(= nil (member thislayer 0list))(= nil (member thislayer detaillist))(= nil (member thislayer clearancelist))(= nil (member thislayer clearanceelist))(= nil (member thislayer doorsdrawerslist))(= nil (member thislayer hiddenlist))(= nil (member thislayer hiddenelist))(= nil (member thislayer deletelist)))));ifs((progn(initget "0 DEtail CLearance CLEarance-e DOOrs-and-Drawers HIdden HIddEn-E DELete")(setq userchoice (getkword "

[code]...

 Depending on the user's choice the layer gets written to an external file where the layer lists get their layers from in the beginning and then adds the layer to the relevant list to use later in the program.

View 8 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Convert List Of Numbers To A Range Of Missing Numbers

Jul 18, 2013

I have subroutine that retrieves a list of detail numbers in a drawing. Sometimes there are missing numbers. I am looking to find a list of any missing numbers.

Example -

(setq List_DN (list 1 2 3 5 6 7 10 11 12 17))

Missing numbers are - 4,8,9,13,14,15,16

I would like a subroutine to take the List_DN are return the following missing numbers as text

(Get_Missing List_DN)
return
4,8-9,13-16

View 9 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Text File With A List Of Image Tile Names

Jun 12, 2013

I have a text file with a list of image tile names with their bottom left hand easting and northing see attached. I have a lisp that asks for the name of the image then should  insert the image at its coordinate with a predefined scale and rotation but it isn't working so I would like an alternative method to test.

View 4 Replies View Related

AutoCAD Visual LISP / AutoLISP :: List Command Dumping To Text File Locally

Oct 31, 2013

Need a lisp that could dump the values of a list command in a text file placed in a folder C:user121list.txt.

View 9 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Convert Text To Attribute Inside Block

May 3, 2013

Looking for routine for converting text to attributes inside the block?

In my drawing I hv some attribute blocks having some Text in it. I need to change the Texts inside the blocks as Attribute Texts. I am attaching sample Blocks drawing..

View 9 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Read Lines From A File And Save To Multiple Lists?

Jul 22, 2013

I am writing a program to grab a bunch of layers from a list, check a drawing to see if the layers are on the list, and if not save to an external file. I have the second part of the program done, but I can't get the first part to work.

I am trying to open a file read the contents and save it to a list.

Here is the code I have so far, but it doesn't even get into the foreach statement.
 
(setq layerslist (list '"0list" '"detaillist" '"clearancelist" '"clearanceelist" '"doorsdrawerslist" '"hiddenlist" '"hiddenelist" '"deletelist"))(setq count 0)(foreach thislayer layerslist (setq f (open (strcat "C:\filterlists\" thislayer ".txt") "r")) (while (/= (setq text (read-line f)) nil) (setq (read thislayer) (cond ( (= 0 count) (cons (cons 8 text) (read thislayer)))( (append (read thislayer) (list (cons 8 text))) ) );cond );setq (setq count (+ count 1)) );while (close f) );foreach
 
I've also attached one of the text files. Im doing something in the wrong order, or I have something inside the wrong set of parenthesis.

View 2 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Remove Portion Of A String?

Feb 22, 2012

I am trying to make this: L:Engineering-208037SURVEYDRAWINGS turn into this: L:Engineering-208037DRAWINGS

I am using the dwgprefix and it returns the first string and i want to make it in the second string as a new variable or replace the old variable so i can use it in a save as routine i am working on.

The problem is sometimes them project number (0208037) will be longer or shorter so i can't use the substr command

View 6 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Sorting A String Of Numbers

Aug 31, 2012

acad_strlsort will sorts strings, but what if my list looks like

("1" "2" "3" "10" "11" "12" "20")

i am sure i have seen it done ina simple way using vl-sort or vl-sort-i

but am not able to find...

View 5 Replies View Related

AutoCAD Visual LISP / AutoLISP :: Check String To Set Up A Dimstyle

Nov 18, 2011

I've been working on a lisp to set up basic settings such as text styles, dim styles, discipline specific layers and things of that nature.

I have a prompt to ask for a discipline designator as a string.  I want to have an If statement or a conditional to read that string and check for a "C" if it finds it I want to have it set up a dimstyle to decimal feet ect and if not do it as architectural units.

This is just a test lisp that I'd like to add to the main one listed above...  

(defun c:test(/ disc dsnm dsna)

(setq disc (getstring "
Discipline (G,C,S,M,E,CP): "))                ;Prompt for Discipline
(setq ds (getint "
Dimscale Factor: "))                                          ;Prompt for Dimscale
[code].......

View 6 Replies View Related







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