明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1732|回复: 3

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

[复制链接]
发表于 2005-12-15 13:34 | 显示全部楼层 |阅读模式

在VLISP中,很多时候会使用command命令调用AutoCAD的功能,后面往往会带一大堆参数。

(command ".divide" cs:object 2)

但我也看到别人这样写(command ".divide" cs:object "b" "cs_bnp" "y" 2)

谁有这方面的参考?

可否共享一下?

谢谢啦!

发表于 2005-12-15 13:50 | 显示全部楼层

LISP 编程所调用到的CAD原装标准的命令功能都要按照CAD命令的操作步骤来填入正确的完整的数据来完成所调用的命令. 觉的没有什么好参考的, 了解CAD的原装自带的命令都可以依照在LISP进行自动操作的哦, 楼主要想多点了解就要多点测试, 这样就体会到的了.

例:

要在原点画个R40的圆

(COMMMAND ".CIRCLE" "0,0" 40)

 

 

 楼主| 发表于 2005-12-15 14:06 | 显示全部楼层

刚才看了http://bbs.mjtd.com/forum.php?mod=viewthread&tid=33961 链接中你画的眼镜。想必你一定是位CAD和LISP高手。

我是刚学习LISP几天,正好有一个问题,请你指点一下,好吗?谢了。

下面这段代码,我是想取得使用都选择的对象的二等分点所在线段的角度,但不知为什么总是得不到,但另一个人写的代码(只有粗斜体部分不同)就可以得到。

(setq tmpobject (ssget))

(command ".divide" tmpobject 2)

[I](command ".divide" tmpobject "b" "cs_bnp" "y" 2)[/I]

(setq tmpang(assoc 50 (entget (entlast))))

发表于 2005-12-16 08:37 | 显示全部楼层

不要用ssget来选嘛, 用 (setq tmpobject (entsel "\n选择对象:")) 这样, 因为这个命令处理的是对象, 而不是选集造成的,

我想你的意思是出一根线或弧的中点对不对啊?

下面供你参考下

(setq spname (car (entsel "\n选一条SPLINE:")))
(setq Spline-Mid-Point (vlax-curve-getPointAtDist  spname (* 0.5(vlax-curve-getEndParam spname))));对象的中点
(setq spt (vlax-curve-getstartpoint spname));对象的起点
 (setq ept (vlax-curve-getendpoint spname));对象的终点

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-17 20:24 , Processed in 0.189030 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表