南山樵夫 发表于 2003-10-30 22:42:00

[求助]关于创建面域的问题

我需要在VB的程序界面打开一张图,图上已经有大量的图形元素,然后进入AUTOCAD界面,用鼠标选取一个三角形(由三条直线构成的封闭的三角形),然后又重新进入VB界面,由VB程序将这个三角形创建一个面域,请问如何用程序来实现?最好给出实例。

mccad 发表于 2003-11-1 07:26:00

你三条直线构成的三角形是否首尾相连的?

南山樵夫 发表于 2003-11-1 17:58:00

三条直线是首尾相连的,三角形是封闭的。

mccad 发表于 2003-11-1 22:21:00

以下程序只考虑你的要求,没有增加一些错误的判断,自己加吧:
Sub MakeRegion()
    Dim Ent(2) As AcadEntity
    Dim Pnt As Variant
    On Error Resume Next
    ThisDrawing.Utility.GetEntity Ent(0), Pnt, "选择第一条线:"
    ThisDrawing.Utility.GetEntity Ent(1), Pnt, "选择第二条线:"
    ThisDrawing.Utility.GetEntity Ent(2), Pnt, "选择第三条线:"
    Dim Regs As Variant
    Regs = ThisDrawing.ModelSpace.AddRegion(Ent)
    If Err Then
      Err.Clear
      ThisDrawing.Utility.Prompt vbCrLf & "选定的对象不能生成面域"
    Else
      'Dim Reg As AcadRegion
      If IsArray(Regs) Then
            ThisDrawing.Utility.Prompt vbCrLf & "生成的面域数量:" & UBound(Regs) + 1
            'Set Reg = Regs(0)
            Ent(0).Delete: Ent(1).Delete: Ent(2).Delete
      Else
            ThisDrawing.Utility.Prompt vbCrLf & "选定的对象不能生成面域"
      End If
    End If
End Sub

南山樵夫 发表于 2003-11-2 12:07:00

对于mccad的热情帮助,我表示十二分感谢!

页: [1]
查看完整版本: [求助]关于创建面域的问题