BOM号码标注,请各位帮忙调试一下。红色文字部分
<p>(defun c:zbom(/ old_la old_os sc ra ddr pt1 pt2 pp)<br/> (setq old_la (getvar "clayer"))<br/> (setq old_os (getvar "osmode"))<br/> (prompt "\n 输入≦10000的编号!")<br/> (if (= num nil) (setq num 1))<br/> (setq num (getint (strcat "起始序号<"(itoa num) ">"))) <font color="#ff0000">;;;;取得上次的编号敲回车或空格不起作用<br/></font> (if (= num nil) (setq num num))<font color="#ff0000">;;;;;;;;;;;;;代码不起作用</font><br/> (cond ((> num 10000)<br/> (progn <br/> (prompt "\n 编号超过最大范围 10000,重新输入!")<br/> (setq num (getint (strcat "起始序号<"(itoa num) ">")))<br/> )<br/> )</p><p> ((< num 1)<br/> (progn <br/> (prompt "\n 编号必须 ≧1 ,重新输入!")<br/> (setq num (getint (strcat "起始序号<"(itoa num) ">")))<br/> )<br/> )<br/> );;end cond<br/> (setq sc (getreal (strcat "请输入字高<" (rtos (* (getvar "dimtxt")(getvar "dimscale"))) ">")))<br/> (if (= sc nil) (setq sc (* (getvar "dimtxt")(getvar "dimscale"))))<br/> (setq ra ( * sc 2))<br/> (setq ddr 0.5)<br/> (setq pt1 (getpoint "\n第一点:"))<br/> (while (/= pt1 nil)<br/> (progn<br/> (setq pt2 (getpoint pt1 "\n第二点:"))<br/> (setvar "osmode" 0)<br/> (setq pp (polar pt1 (angle pt1 pt2) (- (distance pt1 pt2) ra)))<br/> (command "donut" 0 ddr pt1 "")<br/> (command "pline" pt1 pp "")<br/> (command "circle" pt2 ra)<br/> (command "text" "m" pt2 sc 0 num)<br/> (setq num (1+ num))<br/> (if (> num 10000)(progn (alert "\n 编号已达到最大范围!")(exit)))<br/> (setvar "osmode" old_os)<br/> (setq pt1 (getpoint "\n第一点:"))<br/> )<br/> )<br/> (setvar "osmode" old_os)<br/> (setvar "clayer" old_la)<br/> (princ)<br/> )<br/></p> <p>(defun c:zbom(/ old_la old_os num sc ra ddr pt1 pt2 pp)<br/> ;(cmdf)<br/>(defun *error* (msg)<br/> (princ)<br/>)<br/> (setq old_la (getvar "clayer"))<br/> (setq old_os (getvar "osmode"))<br/> (prompt "\n 输入≦10000的编号!")<br/> (if (= num nil) (setq num1 1))<br/> (setq num (getint (strcat "起始序号<"(itoa num1) ">")))<br/> (if (= num nil) (setq num num1))<br/> (cond ((> num 9998)<br/> (progn <br/> (prompt "\n 编号超过最大范围 10000,重新输入!")<br/> (setq num (getint (strcat "起始序号<"(itoa num) ">")))<br/> )<br/> )</p><p> ((< num 1)<br/> (progn <br/> (prompt "\n 编号必须 ≧1 ,重新输入!")<br/> (setq num (getint (strcat "起始序号<"(itoa num) ">")))<br/> )<br/> )<br/> );;end cond<br/> (setq sc (getreal (strcat "请输入字高<" (rtos (* (getvar "dimtxt")(getvar "dimscale"))) ">")))<br/> (if (= sc nil) (setq sc (* (getvar "dimtxt")(getvar "dimscale"))))<br/> (setq ra ( * sc 2))<br/> (setq ddr 0.5)<br/> ; (if (= (tblsearch "layer" "汽泡球层") nil)(new_lay "汽泡球层" 241 "PHANTOM"))<br/> ;(setvar "clayer" "汽泡球层")<br/> (setq pt1 (getpoint "\n第一点:"))<br/> (while (/= pt1 nil)<br/> (progn<br/> (setq pt2 (getpoint pt1 "\n第二点:"))<br/> (setvar "osmode" 0)<br/> (setq pp (polar pt1 (angle pt1 pt2) (- (distance pt1 pt2) ra)))<br/> (command "donut" 0 ddr pt1 "")<br/> (command "pline" pt1 pp "")<br/> (command "circle" pt2 ra)<br/> (command "text" "m" pt2 sc 0 num)<br/> (setq num (1+ num))<br/> (if (> num 9999)(progn (alert "\n 编号已达到最大范围!")(setq num 1)(exit)))<br/> (setq num1 num)<br/> (setvar "osmode" old_os)<br/> (setq pt1 (getpoint "\n第一点:"))<br/> )<br/> )<br/> (setvar "osmode" old_os)<br/> (setvar "clayer" old_la)<br/> ;(xhinfo)<br/> (princ)<br/> )<br/></p><p><font face="黑体" color="#ff3300" size="5"><strong>对于大于9999和小于1 的数字处理还有问题,各位帮忙下</strong></font></p><p><strong><font face="黑体" color="#ff3300" size="5"></font></strong></p><p><strong><font face="黑体" color="#ff3300" size="5"></font></strong></p><p></p>
页:
[1]