;; | ---------------------------------------------------------------------------- ;; | PL_facelist ;; | ---------------------------------------------------------------------------- ;; | Function : Returns the face definition list from a polyface object ;; | Arguments: ;; | 'ename' - The entity name of the polyface object. ;; | Action : Returns a list of all face definition list and the object name ;; | for each face record have only 128 as its value for the DXF Code 70 field ;; | Returns : List of all face defintion points (Group Codes 71, 72, 73, 74) ;; | Updated : July 14, 2000 ;; | e-mail : rakesh.rao@4d-technologies.com ;; | Web : www.4d-technologies.com ;; | ---------------------------------------------------------------------------- (defun PL_FaceList ( ename / en entl flag flist elist flag71 flag72 flag73 flag74 ) (setq flist '() elist '() entl (entget ename) en (LI_item 0 entl) ) (if (= en "POLYLINE") (progn (while (/= en "SEQEND") (setq ename (entnext ename) entl (entget ename) en (LI_item 0 entl) ) (if (= en "VERTEX") (progn (setq flag (LI_item 70 entl)) (if (= flag 128) (progn (setq flag71 (LI_item 71 entl) flag72 (LI_item 72 entl) flag73 (LI_item 73 entl) flag74 (LI_item 74 entl) ) (if (not flag71) (setq flag71 0) ) (if (not flag72) (setq flag72 0) ) (if (not flag73) (setq flag73 0) ) (if (not flag74) (setq flag74 0) ) (setq flist (cons (list flag71 flag72 flag73 flag74) flist) elist (cons (LI_item -1 entl) elist) ) )) )) ) (setq flist (reverse flist) elist (reverse elist) ) )) (if (and flist elist) (list flist elist) nil ) )