cad二次开发吧 关注:661贴子:1,410
  • 0回复贴,共1

在3维空间中镜像对象

只看楼主收藏回复

本样例在模型空间中创建一个长方体,然后根据某个平面镜像该长方体,并将镜像得到的长方体着色为红色。 

Sub Ch8_MirrorABox3D()

    ' 创建长方体对象

    Dim boxObj As Acad3DSolid

    Dim length As Double

    Dim width As Double

    Dim height As Double

    Dim center(0 To 2) As Double

    center(0) = 5#: center(1) = 5#: center(2) = 0

    length = 5#: width = 7: height = 10#

    

    ' 在模型空间中创建长方体 (3DSolid) 对象

    Set boxObj = ThisDrawing.ModelSpace. _

                AddBox(center, length, width, height)

    

    ' 用三个点定义镜像平面

    Dim mirrorPt1(0 To 2) As Double

    Dim mirrorPt2(0 To 2) As Double

    Dim mirrorPt3(0 To 2) As Double

    

    mirrorPt1(0) = 1.25: mirrorPt1(1) = 0: mirrorPt1(2) = 0

    mirrorPt2(0) = 1.25: mirrorPt2(1) = 2: mirrorPt2(2) = 0

    mirrorPt3(0) = 1.25: mirrorPt3(1) = 2: mirrorPt3(2) = 2

    

    ' 镜像长方体

    Dim mirrorBoxObj As Acad3DSolid

    Set mirrorBoxObj = boxObj.Mirror3D _

                (mirrorPt1, mirrorPt2, mirrorPt3)

    mirrorBoxObj.Color = acRed

    ZoomAll

End Sub



IP属地:四川1楼2008-03-11 20:24回复