Import point + text on different layer lisp

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Hy,
im a rookie with lisp, so i need an help (a big one) to complete a lisp.
I have an external txt file with a lot lines. The columns are in this way:
1st COLUMN: PROGRESSIVE NUMBER 2nd COLUMN: x COORDINATE 3rd COLUMN: y COORDINATE 4th COLUMN: z COORDINATE 5th COLUMN: DESCRIPTION
and i need to create in autocad a point with the coordinate and three texts at his side: the point and the texts must be on different layers and i need a separate block for every point with its texts (a block for every line of the external file).
my idea was something like this:
1- IF THE LAYER DOESN’T EXIST: CREATE LAYER “LEV BLOCK” (INDEX COLOR YELLOW: 2) 2- IF THE LAYER DOESN’T EXIST: CREATE LAYER “LEV POINT” (INDEX COLOR YELLOW: 2) 3- IF THE LAYER DOESN’T EXIST: CREATE LAYER “LEV TEXT NUMBER” (INDEX COLOR YELLOW: 2) 4- IF THE LAYER DOESN’T EXIST: CREATE LAYER “LEV TEXT Z” (INDEX COLOR GREEN: 3) 5- IF THE LAYER DOESN’T EXIST: CREATE LAYER “LEV TEXT ANNOTATION” (INDEX COLOR RED: 1) 6- COMMAND “PDMODE” “32” 7- SETQ “HEIGHTofTEXT” 8- HIDE OBJECTS: ALL 9- CURRENT LAYER: LAYER “LEV POINT” 10- CREATE POINT (IMPORT FROM EXTERNAL FILE THE COORDINATE (1st LINE: 2nd COLUMN 3rd COLUMN, 4th COLUMN) 11- CURRENT LAYER: LAYER “LEV TEXT NUMBER” 12- CREATE MTEXT (IMPORT FROM EXTERNAL FILE THE COORDINATE (1st LINE: 2nd COLUMN+“HEIGHTofTEXT”*1.5, 3rd COLUMN+“HEIGHTofTEXT”*1.5, 4th COLUMN)(TEXT HEIGHT “HEIGHTofTEXT”)(TEXT: NUMBER IN THE 1st COLUMN) 13- CURRENT LAYER: LAYER “LEV TEXT Z” 14- CREATE MTEXT (IMPORT FROM EXTERNAL FILE THE COORDINATE (1st LINE: 2nd COLUMN+“HEIGHTofTEXT”*1.5, 3rd COLUMN, 4th COLUMN)(TEXT HEIGHT “HEIGHTofTEXT”)(TEXT: NUMBER IN THE 4th COLUMN) 15- CURRENT LAYER: LAYER “LEV TEXT ANNOTATION” 16- CREATE MTEXT (IMPORT FROM EXTERNAL FILE THE COORDINATE (1st LINE: 2nd COLUMN+“HEIGHTofTEXT”*1.5, 3rd COLUMN-“HEIGHTofTEXT”*1.5, 4th COLUMN)(TEXT HEIGHT “HEIGHTofTEXT”)(TEXT: TEXT IN THE 5th COLUMN) 17- CURRENT LAYER: LAYER “LEV BLOCK” 18- SELECT: ALL 19- CREATE BLOCK 20- HIDE OBJECTS: ALL 21- REPEAT FROM 9 TO 20 FOR ALL THE LINES IN THE EXTERNAL FILE 22- UNHIDE OBJECTS
I started to write the lisp and i arrive at the point 9 in this way:
(defun C:LEV () (command "_.layer" "_MAKE" "LEV BLOCK" "COLOR" "2" "" "_MAKE" "LEV POINT" "COLOR" "2" "" "_MAKE" "LEV TEXT NUMBER" "COLOR" "2" "" "_MAKE" "LEV TEXT Z" "COLOR" "3" "" "_MAKE" "LEV TEXT ANNOTATION" "COLOR" "1" "" "") (COMMAND "PDMODE" "32" "") (COMMAND "HIDEOBJECTS" "ALL" "") (COMMAND "_.CLAYER" "LEV POINT" "") (PRINC) )
From here i dont know how to import the coordinate to create the points, the coordinate to create the text (my idea is to use the coordinate of the point and move a little bit the text on the right using the height of the text X a number)
Somebody can help me? I will appreciate a lot.