大家新年好!
本想开年写点啥,正好今天遇到一位用户询问我,如何对装配中组件进行镜像。前面我们知道,API提供了零件中镜像特征或实体的方法,但看上去没有装配中组件镜像的方法。不过如果观察Inventor本身的镜像,可以发现,其实首先是对原零件做了个衍生件,然后插入这个衍生件,根据镜像面做变换。最难的是这个镜像变换。我没看到API给我们写了现成的。所以从网上找到算法,写了个小例子。
这个例子假定装配中拾取了一个工作面,它将对第一个组件进行围绕这个面进行镜像。希望对大家有所帮助。
Sub MirrorPartInAss()
Dim oAssDoc As AssemblyDocument
Set oAssDoc = ThisApplication.ActiveDocument
'mirror plane
Dim oMirrorWP As WorkPlane
Set oMirrorWP = oAssDoc.SelectSet(1)
Dim oPlane As Plane
Set oPlane = oMirrorWP.Plane
'get normal of the plane
Dim oNormalX As Double
oNormalX = oPlane.Normal.X
Dim oNormalY As Double
oNormalY = oPlane.Normal.Y
Dim oNormalZ As Double
oNormalZ = oPlane.Normal.Z
'create the mirroring matrix
Dim oMirrorMatrix As Matrix
Set oMirrorMatrix = Th