- 积分
- 795
- 明经币
- 个
- 注册时间
- 2017-9-7
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
初学VBA,以下是在cad2014 的VBA IDE中的代码,计划实现把两个不同的圆转换成面域,再求他们的交集。但不知道如何得到这个交集对象,请高手指教一下。
Public Sub GetAreaAndName()
'先画两个圆
Dim RoomObjects(0 To 1) As AcadCircle
Dim center(0 To 2) As Double
Dim radius As Double
center(0) = 0
center(1) = 0
center(2) = 0
radius = 15#
Set RoomObjects(0) = ThisDrawing.ModelSpace.AddCircle(center, radius)
Dim center1(0 To 2) As Double
Dim radius1 As Double
center1(0) = 10
center1(1) = 10
center1(2) = 0
radius1 = 10#
Set RoomObjects(1) = ThisDrawing.ModelSpace.AddCircle(center1, radius1)
' 创建面域
Dim regions As Variant
regions = ThisDrawing.ModelSpace.AddRegion(RoomObjects)
‘大圆和小圆的交集
regions(0).Boolean acIntersection, regions(1)
'到目前为此,能正确计算出交集的域对象。
如我想引用该交集后的域的面积。怎么做?
我试图如下做,但没有成功。
Dim zz As AcadRegion '定义一个面域对象
Set zz = regions(0).Boolean(acIntersection, regions(1)) '计划交集的域赋与一个对象ZZ,但不成功。
|
|