vb二次开发cad,怎么把弧和直线连接起来?
vb吧
全部回复
仅看楼主
level 3
Private Sub Command1_Click()
Dim PN1(0 To 2) As Double
Dim PN2(0 To 2) As Double
Dim PN3(0 To 2) As Double
Dim PN4(0 To 2) As Double
Dim li1 As AcadLine
Dim ArcObj As AcadArc
Dim startPoint(0 To 2) As Double
PN1(0) = 10: PN1(1) = 10: PN1(2) = 0 '起点座标
PN2(0) = 30: PN2(1) = 10: PN2(2) = 0 '终点座标
PN3(0) = 10: PN3(1) = 15: PN3(2) = 0 '起点座标
PN4(0) = 30: PN4(1) = 15: PN4(2) = 0
'绘制直线
Set li1 = acadapp.ActiveDocument.ModelSpace.AddLine(PN1, PN2)
Set li2 = acadapp.ActiveDocument.ModelSpace.AddLine(PN3, PN4)
Set ArcObj = acadapp.ActiveDocument.ModelSpace.AddArc(startPoint, 20, 15, 30)
ZoomAll
End Sub
2020年05月12日 10点05分 1
level 12
我做过
2020年05月12日 12点05分 2
能说一下吗[泪]?
2020年05月12日 15点05分
level 11
连接起来在cad命令是join,效果是单独的线段、弧线段连接起来后转为多段线。
CAD vba里边要实现可以用2个方法吧。
第一种是模型空间新画一段多段线,然后在里边添加多段线的端点集(类似数组),没2个端点间设置凸度,凸度为零的是直线段,凸度不为零则是弧线段;这个方法要了解多段线的数据结构和凸度的概念。
第二种可以用楼主贴出来的这段代码作为前半部分,后续vba调用sendcommand函数,发送join到命令行,执行连接命令来实现普通线段、弧线转为多段线。这个方法要熟悉命令join,还要有个特殊自定义的函数调用lisp命令把内存的选择集每个成员(线、圆弧等图形)转为句柄,串联成一个字符串跟随join命令一块发送到命令行。
2021年08月16日 03点08分 3
1