5413tianyu 发表于 2005-12-15 13:34:00

谁有command命令调用AutoCAD功能的参考资料?

<P>在VLISP中,很多时候会使用command命令调用AutoCAD的功能,后面往往会带一大堆参数。</P>
<P>如<FONT color=#3300ff>(command ".divide" cs:object 2)</FONT></P>
<P><FONT color=#0000ff><FONT color=#000000>但我也看到别人这样写</FONT>(command ".divide" cs:object "b" "cs_bnp" "y" 2)</FONT></P>
<P>谁有这方面的参考?</P>
<P>可否共享一下?</P>
<P>谢谢啦!<BR></P>

BDYCAD 发表于 2005-12-15 13:50:00

<P>LISP 编程所调用到的CAD原装标准的命令功能都要按照CAD命令的操作步骤来填入正确的完整的数据来完成所调用的命令. 觉的没有什么好参考的, 了解CAD的原装自带的命令都可以依照在LISP进行自动操作的哦, 楼主要想多点了解就要多点测试, 这样就体会到的了. </P>
<P>例: </P>
<P>要在原点画个R40的圆</P>
<P>(COMMMAND ".CIRCLE" "0,0" 40)</P>
<P>&nbsp;</P>
<P>&nbsp;</P>

5413tianyu 发表于 2005-12-15 14:06:00

<P>刚才看了<A href="http://bbs.mjtd.com/forum.php?mod=viewthread&tid=33961" target="_blank" ><FONT color=#000000>http://bbs.mjtd.com/forum.php?mod=viewthread&tid=33961</FONT></A> 链接中你画的眼镜。想必你一定是位CAD和LISP高手。</P>
<P>我是刚学习LISP几天,正好有一个问题,请你指点一下,好吗?谢了。</P>
<P>下面这段代码,我是想取得使用都选择的对象的二等分点所在线段的角度,但不知为什么总是得不到,但另一个人写的代码(只有粗斜体部分不同)就可以得到。</P>
<P>(setq tmpobject (ssget))</P>
<P>(command ".divide" tmpobject 2)</P>
<P>(command ".divide" tmpobject "b" "cs_bnp" "y" 2)</P>
<P>(setq tmpang(assoc 50 (entget (entlast))))</P>

BDYCAD 发表于 2005-12-16 08:37:00

<P>不要用ssget来选嘛, 用 (setq tmpobject (entsel "\n选择对象:")) 这样, 因为这个命令处理的是对象, 而不是选集造成的, </P>
<P>我想你的意思是出一根线或弧的中点对不对啊? </P>
<P>下面供你参考下</P>
<P>(setq spname (car (entsel "\n选一条SPLINE:")))<BR>(setq Spline-Mid-Point (vlax-curve-getPointAtDist&nbsp; spname (* 0.5(vlax-curve-getEndParam spname))));对象的中点<BR>(setq spt (vlax-curve-getstartpoint spname));对象的起点<BR>&nbsp;(setq ept (vlax-curve-getendpoint spname));对象的终点</P>
页: [1]
查看完整版本: 谁有command命令调用AutoCAD功能的参考资料?