CAD中VBA二次开发

[复制链接]
查看11 | 回复3 | 2012-8-20 09:01:53 | 显示全部楼层 |阅读模式
这个要求你得说清楚,因为在CAD中,当你偏移某条曲线时,曲线并不是简单的在另一个地方复制,而是所有的点都位于原线对应点的法线上.所以,对于某些曲线,可能偏移后于某点处无法线,即线于该处将断开.所以,你说的与OFFSET相似的命令的含义不清楚,是不是可以要求对任意图形包括实体在内,如果是这样,我感到可以用复制命令.如果你只是想再现OFFSET,则有点难,因为:首先在根据线型调用不同的函数,不同的线型有不同的构成方法,然后得到各个节点的法线方向后才能实现.一条270度包含角的曲线,其一侧的法线方向是朝多个方向变化的,太麻烦了,我估计没有十页纸做不下来....
回复

使用道具 举报

千问 | 2012-8-20 09:01:53 | 显示全部楼层
您好,这样的:VB,VBA或其它工具如c#,C++等都是利用AutoCAD提供的ARX接口进行开发VB开发的程序相对独立,不能查看源码;运行速度一般;可能会因为CAD正在运行的命令或其它冲突!VBA必需集成于CAD之下,源代码可以被看到,运行速度快;运行错误率更低!AutoCAD 64版本,在安装使用VBA后(CAD2010及以后版本需单独安...
回复

使用道具 举报

千问 | 2012-8-20 09:01:53 | 显示全部楼层
同意楼上,想要自己做offset的效果是很复杂的,你可以试下这个(用VBA调用lisp语句),其中pause表示等待用户输入,在这个例子里表示由用户鼠标点取便宜方向。ThisDrawing.SendCommand "(command ""_.offset"" 5 (entlast) pause)" & vbCr...
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行