求助,帮忙看下此程序哪里出错
(defun c:tt(/insertp n1 wz )
(if (not (setq n1 (getint "\n请输入起始顺序号 <1>: ")))
(setq n1 1)
)
(setq wz (strcat (itoa 3) (itoa -50) (itoa -411) "-" (itoa n1)))
(setq insertp (getpoint "\n请指定插入点: "))
(setq insertp_move (pmove insertp 0 -2))
(while (/= insertp nil)
(command ".text" "j" "mc" insertp_move 0.6 0wz);;设置文字
(setq
n1 (+ n1 1)
wz (strcat (itoa 3) (itoa -50) (itoa -411) "-" (itoa n1))
insertp (getpoint "\n请指定下一插入点: ")
insertp_move (pmove insertp 0 -2)
)
)
);end defun
(defun pmove(/point_xy px py);点位,X Y Z
(setq point_x(car point_xy))
(setq point_y(cadr point_xy))
(list (+ point_xpx)(+ point_y py))
)
程序的功能 是输入3-50-411-1,3-50-411-2 。。。。。。。
捕捉线段的中点,在该点向下偏移2单位输入3-50-411-1
不知道哪里出错,请高手指教。(请指定插入点: ; 错误: 参数类型错误: numberp: nil)
还有怎么定义 wz (strcat (itoa 3) (itoa -50) (itoa -411) "-" (itoa n1))
可以直接写成 (setq wz (strcat3-50-411-(itoa n1)))
自己顶下,坐待高人。
已经调试好了!
本帖最后由 gbhsu 于 2011-7-9 21:28 编辑(defun c:tt(/ insertp n1 wz )
(if (not (setq n1 (getint "\n请输入起始顺序号 <1>: ")))
(setq n1 1)
)
(setq wz (strcat"3-50-411-" (itoa n1)))
(setvar "osmode" 255)
(setq insertp (getpoint "\n请指定插入点: "))
(setq insertp_move (pmove insertp 0 -2))
(while (/= insertp nil)
(setvar "osmode" 0)
(command ".text" "j" "mc" insertp_move 0.6 0wz);;设置文字
(setvar "osmode" 255)
(setq
n1 (+ n1 1)
wz (strcat"3-50-411-" (itoa n1))
insertp (getpoint "\n请指定下一插入点: ")
)
(if insertp (setq insertp_move (pmove insertp 0 -2)))
);while
(princ)
);end defun
(defun pmove(point_xy px py);点位,X Y Z
(setq point_x(car point_xy))
(setq point_y(cadr point_xy))
(list (+ point_xpx)(+ point_y py))
)
谢谢。再放上(OSNAP mode):供有需要的人查询。
使用以下位码设置“对象捕捉”的运行模式(OSNAP mode):
0 NON(无)1 END(端点)2 MID(中点)4 CEN(圆心)8 NOD(节点)16 QUA(象限点)32 INT(交点)64 INS(插入点)128 PER(垂足)
256 TAN(切点)512 NEA(最近点)1024 QUI(快速)2048 APP(外观交点)4096 EXT(尺寸线)8192 PAR(平行)
页:
[1]