guliande 发表于 2010-6-1 10:46:00

[求助]如何把封闭图形的各个线段衔接起来后,用AcDbPolyLine表达出来

大家好,我是带着一个困扰很久的问题加入了乐筑天下,刚才看了一些帖子,备受鼓舞和启发。
我现在在搞数控火焰切割机的CAD二次开发,就是把绘制的图形进行刀补处理(轮廓向外扩或向内缩),然后转换为16进制的加工文件。
我参考了一下别人的程序,有的是像做“面域”一样把封闭图形的各个线段连接起来,然后进行刀补。然而,查看其DXF ,又不像面域处理的DXF。
比如
我画了一个100*100的矩形(逐段画的),别人的处理结果是
AcDbPolyline
90
      4
70
   1
43
0.0
10
500.0
20
500.0
10
600.0
20
500.0
10
600.0
20
400.0
10
500.0
20
400.0
如果有圆弧的话,就会多一个参数
比如最后结尾的线段是一个180°的圆弧
AcDbPolyline
90
      4
70
   1
43
0.0
10
500.0
20
500.0
10
600.0
20
500.0
10
600.0
20
400.0
10
500.0
20
400.0
42
-0.9999999999999998
总结一下问题如何把封闭图形的各个线段(或许绘制时顺序很乱)依次衔接起来后,用AcDbPolyLine表达出来。
请问,通过VBA可以做到这个功能吗,怎么做到?如果不能,哪有什么好的办法,谢谢各位先!!

guliande 发表于 2010-6-2 07:55:00

高手们??

henanlypl 发表于 2010-6-5 11:20:00

做两个遍历,做个动态数组,把与上一段线的顶点相同的顶点加进数组,然后画线就可以了

bifenba 发表于 2010-6-5 11:50:00

楼上说得对


















足球比分 篮球比分NBA赛程表 即时比分 足球赛程 足球指数 网球比分 开发比分网 阴阳冕

guliande 发表于 2010-6-7 15:46:00

那画线的时候,可以把原来的线段删除吗,怎么删除,然后,可以自动保存为DXF 格式吗?

洋葱老爹 发表于 2010-6-20 21:10:00

用对象的delete方法删除,最后可以自动保存为DXF格式的.
页: [1]
查看完整版本: [求助]如何把封闭图形的各个线段衔接起来后,用AcDbPolyLine表达出来