MoveArcSlabCloserToObjByInverse
From scripting
Sub MoveArcSlabCloserToObjByInverse(ASlab As ArcSlab, TInverse As HybridShapeInverse, CompareObj As Variant, ConstSet As HybridBody) If IsUpdatable(ASlab) = False Or IsUpdatable(TInverse) = False Then Exit Sub End If Dim CompMeas Set CompMeas = TheSPAWorkbench.GetMeasurable(CompareObj) Dim A1Meas Set A1Meas = TheSPAWorkbench.GetMeasurable(MyPart.CreateReferenceFromObject(ASlab)) Dim FCoord(2) A1Meas.GetCOG FCoord Dim MyPt As HybridShapePointCoord Set MyPt = MyHSFactory.AddNewPointCoord(FCoord(0), FCoord(1), FCoord(2)) ConstSet.AppendHybridShape MyPt IsUpdatable MyPt Dim FDist 'As Double FDist = CompMeas.GetMinimumDistance(MyPt) Dim OrigBool As Integer OrigBool = TInverse.Orientation Dim OppBool As Integer OppBool = (-1) * OrigBool TInverse.Orientation = OppBool IsUpdatable AWall Set A1Meas = TheSPAWorkbench.GetMeasurable(MyPart.CreateReferenceFromObject(ASlab)) Dim SCoord(2) A1Meas.GetCOG SCoord MyPt.X.Value = SCoord(0) MyPt.Y.Value = SCoord(1) MyPt.Z.Value = SCoord(2) IsUpdatable MyPt Dim SDist 'As Double SDist = CompMeas.GetMinimumDistance(MyPt) If SDist > FDist Then TInverse.Orientation = OrigBool IsUpdatable ASlab End If MyHSFactory.DeleteObjectForDatum MyPt End Sub