MoveArcSlabCloserToObjByInverse

From scripting
Revision as of 07:23, 22 April 2017 by Nickpisca (talk | contribs) (Created page with " Sub MoveArcSlabCloserToObjByInverse(ASlab As ArcSlab, TInverse As HybridShapeInverse, CompareObj As Variant, ConstSet As HybridBody) If IsUpdatable(ASlab) = False Or IsU...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
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