看看下面的程序到底有什么毛病
水的畅想
水的畅想 Lv.12
2007年08月11日 09:41:46
只看楼主

看看下面的程序到底有什么毛病,计算是正确的,就是运行的时候会发生错误 当文字的基准点位中间(只要不是左)就不能正常运行~ (DEFUN C:ttq ( / count ent gop next pt_base pt_new temp1 temp2 temp3 total yesno) (setvar "OSMODE" 0) (SETQ ENT (ENTSEL "\n 选择参照单行文本"))

看看下面的程序到底有什么毛病,计算是正确的,就是运行的时候会发生错误
当文字的基准点位中间(只要不是左)就不能正常运行~

(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)
)
gpszx1981
2007年08月16日 18:40:01
2楼
流浪水手看看这里吧?
帮忙解决一下~~
还有老版主~
回复
sailorcwx
2007年08月17日 00:28:07
3楼
这个没有办法,文字只有左对齐的时候才能通过entmod修改插入点,可以在修改之前强制把文字的对齐方式改为左对齐
回复
水的畅想
2007年08月17日 14:53:55
4楼


那么我就用MOVE命令移动一下~~
回复
水的畅想
2007年08月17日 14:54:03
5楼


那么我就用MOVE命令移动一下~~
回复

相关推荐

APP内打开