pline画角码易出错
<p> 简单的一个铝合金角码程序,如果当前图纸中有类似的多义线曾经出现过,</p><p>则该程序一般不会出错,但是如果是新建的图纸用这个程序做肯定出错,不知为何.</p><p>难道需要初始化pline的什么参数不成?请高手赐教</p><p></p><p> ;铝合金角码<br/>(defun c:ljm ()<br/> (sub-ljm)<br/> (prin1)<br/>)</p><p>(defun sub-ljm ()<br/> (setvar "cmdecho" 0)<br/> ;指定插入点,宽,高,厚<br/> (setq p1 (getpoint "\n 插入点:"))<br/> (setq L1 (getreal "\n 宽<20>:"))<br/> (if (null L1)<br/> (setq L1 20)<br/> )<br/> (setq L2 (getreal "\n 高<20>:"))<br/> (if (null L2)<br/> (setq L2 20)<br/> )<br/> (setq THK (getreal "\n 厚<3>:"))<br/> (if (null THK)<br/> (setq THK 3)<br/> )<br/> ;角码的6个点<br/> (setq p2 (polar p1 0 L1))<br/> (setq p3 (polar p2 (/ pi 2) L2))<br/> (setq p4 (polar p3 pi THK))<br/> (setq p5 (polar p4 (* pi 1.5) (- L2 THK)))<br/> (setq p6 (polar p5 pi (- L1 THK)))<br/> ;pline<br/> (command "pline" p1 p2 p3 p4 p5 p6 "c")</p><p>)</p> 不知是出的什么错?从程序看仅仅是提示串中\n后多了空格,有可能在键盘输入时出错。 难道getpoint与绘图边界有关系吗? 有哪些函数与绘图边界有关系呢? 当此程序在与所画尺寸的角码尺寸比较接近时则程序不会出错,如果尺寸相差过大则程序绘出几条重叠在一起的直线,不知道是什么大原因? 在画图前加一行(command ".ZOOM" "W" p1 p3),画线后加(command ".ZOOM" "P") 千恩万谢,原来差这么两行。 (setvar "OSMODE" 0) <p>关闭捕捉就行了</p><p>开始:(setq os (getvar "osmode"))</p><p> (setvar "osmode" 0 )</p><p> ---------</p><p> ---------</p><p>结束:(setvar "osmode" os )</p><p>这样就好啊</p><p></p>
页:
[1]