马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
 - (defun c:bw (/ biao count count1 count2 #ename ss1 emax
- en ed pt1 ps #ht px ptx pty
- )
- ;;;;+++++++++++++++++++++++++++++
- (defun ntext (#pt txt1 / ELI #oldla #HT)
- (setq #pt (trans #pt 1 0))
- (setq #oldla (getvar "clayer"))
- (if (tblsearch "style" "hz")
- (SETVAR "TEXTSTYLE" "hz")
- (progn
- (command "-style" "hz" "txt,xc02" "" "0.7" "" "" "")
- (SETVAR "TEXTSTYLE" "hz")
- )
- )
- (SETQ #HT (GETVAR "TEXTSIZE"))
- (setq eli (list (cons 0 "TEXT")
- (CONS 8 #OLDLA)
- (CONS 10 #PT)
- (CONS 40 #HT)
- (CONS 1 TXT1)
- (cONS 7 "HZ")
- (CONS 41 0.5)
- )
- )
- (setvar "clayer" #oldla)
- (ENTMAKE ELI)
- (princ)
- )
- ;;;;+++++++++++++++++++++++++++++
- (setq biao nil)
- (setq count 0)
- (setq count1 0)
- (sETQ COUNT2 0)
- (setvar "orthomode" 0)
- ;;; (setvar "clayer" "txt")
- (prompt "请选择欲列表的块名:.../n")
- (SETQ SS1 (SSGET (LIST (CONS 0 "INSERT"))))
- ;;; (SETQ SS1 (SSGET (LIST (CONS 0 "INSERT")(cons 2 "块名"))));
- (setq emax (SSLENGTH SS1))
- (WHILE (< COUNT EMAX)
- (setq EN (ssname ss1 COUNT)
- ED (ENTGET EN)
- Pt1 (cdr (ASSOC 10 ED))
- PT1 (TRANs PT1 0 1)
- pt1 (car pt1)
- )
- (SETQ BIAO (CONS PT1 BIAO))
- (SETQ COUNT (1+ COUNT))
- ) ;WHILE
- (SETQ BIAO (SORTLIST BIAO))
- (SETQ BIAO (SORTLIST1 BIAO))
- ;;;=============================================
- (SETQ PS (GETPOINT '(0 0) "请输入列表起始点:.."))
- (ntext ps
- (strcat "块心列表____钱勇编,图名__")
- )
- (setq #ht (getvar "textsize"))
- (setq ps (polar ps (* pi 1.5) (+ #ht 2)))
- (setq count 0)
- (SETQ EMAX1 (LENGTH BIAO))
- (WHILE (< COUNT EMAX1);while1
- (SETQ PX (NTH COUNT BIAO))
- (setq count (1+ count))
- (setq count1 0)
- (WHILE (< COUNT1 EMAX) ;while2
- (setq EN (ssname ss1 COUNT1)
- ED (ENTGET EN)
- Pt1 (cdr (ASSOC 10 ED))
- #eeename (strcase (cdr (Assoc 2 ed)))
- PT1 (TRANs PT1 0 1)
- ptx (car pt1)
- pty (cadr pt1)
- )
- (SETQ COUNT1 (1+ COUNT1))
- (if (< (ABS (- PTX PX)) 0.001)
- (PROGN
- (ntext ps (strcat "X坐标=" (rtos ptx)))
- (ntext (POLAR ps 0.0 38) (strcat "Y坐标=" (rtos ptY)))
- (ntext (POLAR ps 0.0 76) (strcat "块名为:_" #eeename))
- (setq ps (polar ps (* pi 1.5) (+ #ht 2)))
- (setq count2 (1+ count2))
- ) ;PROGN
- )
- ) ;while2
- ) ;while1
- (ntext ps
- (strcat "所选实体中共有" (rtos count2 2 0) "个块")
- )
- (PROMPT "\n 块名列表程序结束!")
- (PRINC)
- )
加上判断,过滤什么的,就可以统计。。。 |