发布于:2007-08-11 09:41:11
来自:建筑设计/CAD下载及教程
[复制转发]
看看下面的程序到底有什么毛病,计算是正确的,就是运行的时候会发生错误
当文字的基准点位中间(只要不是左)就不能正常运行~
(DEFUN C:ttq ( / count ent gop next pt_base pt_new temp1 temp2 temp3 total yesno)
(setvar "OSMODE" 0)
(SETQ ENT (ENTSEL "\n 选择参照单行文本"))
(IF (= ENT NIL)
(PRINC "\n 没有选中物体")
(PROGN
(SETQ ENT (ENTGET (CAR ENT)))
(IF (/= (CDR (ASSOC 0 ENT)) "TEXT")
(PRINC "\n 选中的物体不是单行文本")
(PROGN
(INITGET 128 "X Y")
(SETQ YESNO (GETKWORD "\n 参照字的X轴(X) / 参照字的Y轴(Y):(X) "))
(IF (OR (= YESNO "X") (= YESNO NIL))
(SETQ PT_BASE (CADR (ASSOC 10 ENT)))
(SETQ PT_BASE (CAR (CDDR (ASSOC 10 ENT))))
)
(PRINC "\n 选择对齐的文本")
(SETQ GOP (ssget ":L")
COUNT 0
TOTAL 0
)
(REPEAT (SSLENGTH GOP)
(SETQ NEXT (ENTGET (SSNAME GOP COUNT)))
(IF (= (CDR (ASSOC 0 NEXT)) "TEXT")
(PROGN (SETQ TEMP1 (CAR (CDR (ASSOC 10 NEXT)))
TEMP2 (CADR (CDR (ASSOC 10 NEXT)))
TEMP3 (CAR (CDDR (CDR (ASSOC 10 NEXT))))
)
(IF (OR (= YESNO "X") (= YESNO NIL))
(SETQ PT_NEW (LIST PT_BASE TEMP2 TEMP3))
(SETQ PT_NEW (LIST TEMP1 PT_BASE TEMP3))
)
(SETQ
NEXT (SUBST (CONS 10 PT_NEW) (ASSOC 10 NEXT) NEXT)
)
(ENTMOD NEXT)
;(PRINC NEXT)
(SETQ TOTAL (1+ TOTAL))
)
)
(SETQ COUNT (1+ COUNT))
)
(PRINC "\n 共 ")
(PRINC TOTAL)
(PRINC "字体改变")
)
)
)
)
(PRINC)
)
全部回复(4 )
只看楼主 我来说两句哦
那么我就用MOVE命令移动一下~~
回复 举报
哦
那么我就用MOVE命令移动一下~~
回复 举报