xiahwan 发表于 2007-6-23 16:27:00

[求助]在线求助关于PEDIT的问题

<p>在下列的LISP代码中如何解决在选取的对象中如果包含了圆、椭圆 样条曲线就在命令行提示“选择对象不能处理”并结束程序</p><p>如果选择的对象满足PEDIT要求则执行PEDIT</p><p>(defun c:WLG()<br/>&nbsp;&nbsp; (&nbsp;(setvar "OSMODE" 1)<br/>&nbsp; (command "peditaccept" 1)<br/>&nbsp;&nbsp; (setq pl_sel (ssget))<br/>&nbsp; (command "pedit" "m" pl_sel "" "j" "10" "c" "")<br/></p>

ZZXXQQ 发表于 2007-6-23 17:30:00

(SETQ PL_SEL (SSGET '((0 . "ARC,LINE,*POLYLINE")))))

xiahwan 发表于 2007-6-23 17:38:00

<p>谢谢版主,能不能再改进一下</p><p>这个代码只能说明如果选择到ARC,LINE,*POLYLINE 时程序执行PEDIT命令</p><p>如果选择的对象不是ARC,LINE,*POLYLINE时 能否在命令行中提示“选择对象不能处理”并退出程序</p>

ZZXXQQ 发表于 2007-6-23 18:31:00

<p>该代码除了ARC,LINN,LWPOLYLINE和POLYLINE实体外,其它对象均不可能选中。因此用不着进行提示。</p><p>如果要判断空选择可以这样写:</p><p>(defun c:WLG()<br/>&nbsp;&nbsp;(setvar "OSMODE" 1)<br/>&nbsp; (command "peditaccept" 1)<br/>&nbsp;&nbsp;(if (setq pl_sel (ssget '((0 . "ARC,LINE,*POLYLINE))))<br/>&nbsp;&nbsp;&nbsp;(command "pedit" "m" pl_sel "" "j" "10" "c" "")<br/>&nbsp;&nbsp;)<br/>&nbsp; (princ)<br/>)</p>

xiahwan 发表于 2007-6-24 13:24:00

谢谢版主 问题解决了
页: [1]
查看完整版本: [求助]在线求助关于PEDIT的问题