楼主可以试一下下面的步骤, 看看是不是会比你原先的做法快一点:
1、将下图所示的多段线分解,然后使用偏移命令得到外部轮廓线。
2、基于上一步的线条,用直线命令绘制其余轮廓。
3、绘制上部第一个轮廓线,然后复制到其他位置。
4、在原图上描出轮廓,然后偏移完成细部结构,并复制到其他位置。
5、最后手动完成右侧结构及其他细节。完成后,如果线段相交处没有问题,可以合并为多段线。
没有看你的 dxf 内容,看描述,你需要的是一个“绘制具有宽度的多段线的外轮廓线”的工具。
此工具 Gu_xl 之前有提供这个程序:
【Gu_xl】多段线剪影工具 - AutoLISP/Visual LISP 编程技术 - CAD论坛 - 明经CAD社区 - 工具 - Powered by Discuz! (mjtd.com)
如果需要有源码的,Lee Mac 提供了两个版本的程序:
Polyline Outline | Lee Mac Programming (lee-mac.com)
Polyline Outline (Advanced) | Lee Mac Programming (lee-mac.com)
如果精度要求不高,其实还有另外一个办法,通过 flatten 来处理(如果有兴趣,可以自己去探索一下)。
最后,建议 AutoCAD 能提供直接的命令解决这个需求。
1:CAD用的熟练的话快速画下来应该很快,有时候简单的东西快速无脑画下去会比想办法快。
2:楼主提供的图中要处理的图有两种类型,一部分是多段线,一部分是solid(并不是面或面域)
a:多段线看起来有一定宽度,但实际并不占图形宽度,通过开发程序应该可以实现你的要求,或是自己偏移。
b:说明一下,solid翻译是实体,但是solid并不是实体,也不是面不是面域,而是填充的一种类型叫实体,目前CAD中solid无法实现炸开的,也无法合并,solid可以使用flatten平面出轮廓,楼主这个有太多的solid,flatten后的轮廓仍需要处理,但是,solid可是拉伸高度变成实体,所以针对solid就可以拉出实体后,使用布尔加,将实体合起来,每个未连起来的区域都要合并一次,再通过flatshot或是flatten变成投影线,减少生成的轮廓线。
3:通过其它软件解:个人通过cdr,合并solid后,转曲线,效果如下,
好的地方是pline和solid都可以转成轮廓线,操作起来也快,但是,不好的地方是转的曲线是spline,Autocad所有版本对cdr的曲线都会出现一个bug,一旦对像捕捉打开,再图形附近画根线就会卡死,而我所在工程设计领域,经常会使用ID出的曲线图,等下我传上来你们感受一下.注意保存其它图档哟。同时也希望autoCAD能解决这个不知算不算bug的问题。
写的还行点“赞”;写的对点 "接受解答" 按钮.
yanlei.liu