home *** CD-ROM | disk | FTP | other *** search
- ;BLOKLOC.LSP - AZCAD Melbourne Australia
- ;Program to list blocks with insertion points, scale factors,
- ;rotation angles (in degrees) and layers out to file suitable for use as a
- ;LST file with SCRIPTmaker.
- ;
- ;TEXTLOC.LSP does the same thing for text items.
- ;
- (defun C:BLOKLOC (/ P M S N F CDATE E IP)
- (setq P (ssget))
- (if P
- (progn
- (setq M 0
- S 0
- N (sslength P)
- F (open "Blox.LST" "w")
- CDATE (rtos (getvar "cdate")))
- (write-line
- (strcat
- ";BLOX.LST - created "
- (substr CDATE 7 2)
- "-"
- (substr CDATE 5 2)
- "-"
- (substr CDATE 1 4)
- " at "
- (substr CDATE 10 2)
- ":"
- (substr CDATE 12 2))
- F)
- (write-line "#5" F)
- (while (< M N)
- (if (= "INSERT" (cdr (assoc 0 (setq E (entget (ssname P M))))))
- (progn
- (setq IP (strcat
- (cdr (assoc 2 E))
- ","
- (chr 34)
- (rtos (cadr (assoc 10 E)))
- ","
- (rtos (caddr (assoc 10 E)))
- ","
- (rtos (cadddr (assoc 10 E)))
- (chr 34)
- ","
- (rtos (cdr (assoc 41 E)))
- ","
- (rtos (cdr (assoc 42 E)))
- ","
- (rtos (/ (* (cdr (assoc 50 E)) 180.0) pi))
- ","
- (cdr (assoc 8 E))))
- (princ (strcat "\n" IP))
- (write-line IP F)
- (setq S (1+ S) M (1+ M)))
- (setq M (1+ M))))
- (close F)))
- (princ (strcat "\n" (itoa S) " blocks data extracted."))
- (setq P ())
- (prin1))
- ;
- ;Program to list text and X,Y insertion points out to file
- ;
- (defun C:TEXTLOC (/ P M S N F CDATE E IP)
- (setq P (ssget))
- (if P
- (progn
- (setq M 0
- S 0
- N (sslength P)
- F (open "text.LST" "w")
- CDATE (rtos (getvar "cdate")))
- (write-line
- (strcat
- ";Text.LST - created "
- (substr CDATE 7 2)
- "-"
- (substr CDATE 5 2)
- "-"
- (substr CDATE 1 4)
- " at "
- (substr CDATE 10 2)
- ":"
- (substr CDATE 12 2))
- F)
- (write-line "#4" F)
- (while (< M N)
- (if (= "TEXT" (cdr (assoc 0 (setq E (entget (ssname P M))))))
- (progn
- (setq IP (strcat
- (cdr (assoc 1 E))
- ","
- (chr 34)
- (rtos (cadr (assoc 10 E)))
- ","
- (rtos (caddr (assoc 10 E)))
- (chr 34)
- ","
- (rtos (cdr (assoc 40 E)))
- ","
- (rtos (/ (* (cdr (assoc 50 E)) 180.0) pi))))
- (princ (strcat "\n" IP))
- (write-line IP F)
- (setq S (1+ S) M (1+ M)))
- (setq M (1+ M))))
- (close F)))
- (princ (strcat "\n" (itoa S) " text data extracted."))
- (setq P ())
- (prin1))