明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1745|回复: 4

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

[复制链接]
发表于 2003-10-30 22:42:00 | 显示全部楼层 |阅读模式
我需要在VB的程序界面打开一张图,图上已经有大量的图形元素,然后进入AutoCAD界面,用鼠标选取一个三角形(由三条直线构成的封闭的三角形),然后又重新进入VB界面,由VB程序将这个三角形创建一个面域,请问如何用程序来实现?最好给出实例。
发表于 2003-11-1 07:26:00 | 显示全部楼层
你三条直线构成的三角形是否首尾相连的?
 楼主| 发表于 2003-11-1 17:58:00 | 显示全部楼层
三条直线是首尾相连的,三角形是封闭的。
发表于 2003-11-1 22:21:00 | 显示全部楼层
以下程序只考虑你的要求,没有增加一些错误的判断,自己加吧:
  1. Sub MakeRegion()
  2.     Dim Ent(2) As AcadEntity
  3.     Dim Pnt As Variant
  4.     On Error Resume Next
  5.     ThisDrawing.Utility.GetEntity Ent(0), Pnt, "选择第一条线:"
  6.     ThisDrawing.Utility.GetEntity Ent(1), Pnt, "选择第二条线:"
  7.     ThisDrawing.Utility.GetEntity Ent(2), Pnt, "选择第三条线:"
  8.     Dim Regs As Variant
  9.     Regs = ThisDrawing.ModelSpace.AddRegion(Ent)
  10.     If Err Then
  11.         Err.Clear
  12.         ThisDrawing.Utility.Prompt vbCrLf & "选定的对象不能生成面域"
  13.     Else
  14.         'Dim Reg As AcadRegion
  15.         If IsArray(Regs) Then
  16.             ThisDrawing.Utility.Prompt vbCrLf & "生成的面域数量:" & UBound(Regs) + 1
  17.             'Set Reg = Regs(0)
  18.             Ent(0).Delete: Ent(1).Delete: Ent(2).Delete
  19.         Else
  20.             ThisDrawing.Utility.Prompt vbCrLf & "选定的对象不能生成面域"
  21.         End If
  22.     End If
  23. End Sub
 楼主| 发表于 2003-11-2 12:07:00 | 显示全部楼层

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

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

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-28 12:46 , Processed in 0.171042 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表