 - (defun c:lsp_50()
- (setvar "cmdecho" 0)
- (setq os (getvar "osmode"))
- (setvar "osmode" 0)
- (setq pt1 (getpoint "\n左上角: "))
- (setq ww (getdist pt1 "\n宽度 <50>: "))
- (if (null ww) (setq ww 40.0))
- (setq hh (getdist pt1 "\n每格高度 <8>: "))
- (if (null hh) (setq hh 8.0))
- (setq pt2 (polar pt1 0 ww))
- (setq pt3 (polar pt2 (* pi 1.5) hh))
- (setq pt4 (polar pt1 (* pi 1.5) hh))
- (command "pline" pt1 pt2 pt3 pt4 "c")
- (setq pt5 (polar pt1 0 (/ ww 2)))
- (setq pt6 (polar pt5 (* pi 1.5) hh))
- (command "line" pt5 pt6 "")
- (command "text" "m" (inters pt1 pt6 pt4 pt5) (/ hh 2) 0 "块名称")
- (command "text" "m" (inters pt5 pt3 pt2 pt6) (/ hh 2) 0 "数量")
- (setq blk (tblnext "block" t))
- (while blk
- (setq blkn (assoc 2 blk))
- (setq blk_key (substr (cdr blkn) 1 1))
- (if (/= blk_key "*")
- (progn
- (setq ss (ssget "X" (list blkn)))
- (if (null ss)
- (setq ssn 0)
- (setq ssn (sslength ss))
- )
- (setq blknn (cdr blkn))
- (setq pt1 pt4 pt5 pt6 pt2 pt3)
- (setq pt4 (polar pt1 (* pi 1.5) hh))
- (setq pt6 (polar pt5 (* pi 1.5) hh))
- (setq pt3 (polar pt2 (* pi 1.5) hh))
- (command "pline" pt2 pt3 pt4 pt1 "")
- (command "line" pt5 pt6 "")
- (command "text" "m" (inters pt1 pt6 pt4 pt5) (/ hh 2) 0 blknn)
- (command "text" "m" (inters pt5 pt3 pt2 pt6) (/ hh 2) 0 (itoa ssn))
- )
- )
- (setq blk (tblnext "block"))
- )
- (setvar "osmode" os)
- (prin1)
- )
|