Convert points list to entity name

Convert points list to entity name

GeryKnee
Advocate Advocate
177 Views
1 Reply
Message 1 of 2

Convert points list to entity name

GeryKnee
Advocate
Advocate

Hello there,

I'm asking for a lisp code that converts a Points [list] object that's obtained by the following command

(setq P2 (entsel "\nSelect Polyline : "))

to [entity name] type

 


(defun fnOK ( aVar / )
(IF (= (type aVar) 'ENAME)
(princ "OK")
(princ "FAULT !!!!!!!!!!!!!!!!!")
)
(princ)
)
(defun fnConvertPointsListToEname ( aVar / RET)
(setq RET aVar)
RET
)
(defun c:test ( / )
(setq ss (ssget "_X" '((0 . "LWPOLYLINE"))))
(setq P1 (ssname ss 0))
(fnOK P1)
(setq P2 (entsel "\nSelect Polyline : "))
(fnOK (fnConvertPointsListToEname P2))
)

 

 

thanks

0 Likes
Accepted solutions (1)
178 Views
1 Reply
Reply (1)
Message 2 of 2

Sea-Haven
Mentor
Mentor
Accepted solution

I am confused maybe some of this will help.

 

(setq p2 (car (entsel "\nPick a pline "))) ; is entity name

 

You mention points so do you want a variable for each point in a pline. This can be done. 

(setq plent (entsel "\nPick Pline "))
(if plent (setq co-ord (mapcar 'cdr (vl-remove-if-not '(lambda (x) (= (car x) 10)) (entget (car plent))))))
(princ co-ord)

(setq x 1)
(foreach pt co-ord
(SET (READ (STRCAT "P" (RTOS X 2 0))) PT)
(setq x (1+ x))
)

(princ p1)

 Just a comment entsel returns 2 items the entity name and pick point, ssname returns an entity name.