(defun C:xpoint() ;inspired by Todd Wessendorf of Alexandria, Virginia
;This code exports the coordinates of entities. ;Line, LwPolyLine, arc, ellipse, circle etc. ;to a txt file. ;For tutorial purpose, the full entity list is dumped on the command line for you to become familiar with - where the coordianets are, the entity type, layer, color etc.
;open a text file to append exports -you can write full path (setq out (open "MyEntities.txt" "a")) (setq Suzy (ssget)) (setq Suzilen (sslength Suzy)) (setq Sneaky 0) (while (< Sneaky Suzilen) (setq EDNA (ssname Suzy Sneaky)) (setq EDDY (entget EDNA)) (print (+ 1 Sneaky))(Princ "\nEDDY ... ") (print EDDY)
(princ "\n");new line (princ (LIST(dxf 0 EDDY))) (princ) ;now out to file (princ "\n\"(" out) (princ (LIST(dxf 0 EDDY)) out) (princ) (setq Sneaky (+ 1 Sneaky)) (SETQ typ (dxf 0 EDDY)) (cond ((= typ "LWPOLYLINE") (exportMpoints EDDY)) (t (exportPoints EDDY)) )
);end while (close out) (print "Where did that txt file go?...") (print (findfile "MyEntities.txt")) (princ) ) ; (defun dxf (n ed) (cdr (assoc n ed))) ; (defun exportpoints(EDDY)
;to see on command line (if (dxf 10 EDDY)(princ (dxf 10 EDDY))) (if (dxf 11 EDDY)(princ (dxf 11 EDDY))) ;now same thing to append to file (if (dxf 10 EDDY)(princ (dxf 10 EDDY) out)) (if (dxf 11 EDDY)(princ (dxf 11 EDDY) out)) (princ ")\"" out) (princ) ) ; (defun exportMpoints(ShortEDDY) (while (setq ShortEDDY (member (assoc 10 ShortEDDY) ShortEDDY)) (princ (dxf 10 ShortEDDY)) ;now append to file (princ (dxf 10 ShortEDDY) out) (setq ShortEddy (cdr ShortEddy)) ) (princ ")\"" out) (princ) ) ;Homework - see AutoLisp helpfile (type VLIDE on Acad Command line) for ;read, read-line, entmake, entmod ;to write the reverse function that makes entities from coords in txt file. ;debug and correct the following. String lines are to be read as or made lists ;to use in entmake (defun C:imPoint() (setq in (open "MyEntities.txt" "r")) (while (setq myEnt (read-line in)) (princ "\n") (princ myEnt) ;entmake ;entmod ); (close in) (princ) )