http://nickpisca.com/BLAST/index.php?title=GetMaxProjDistance&feed=atom&action=historyGetMaxProjDistance - Revision history2024-03-29T13:06:09ZRevision history for this page on the wikiMediaWiki 1.28.1http://nickpisca.com/BLAST/index.php?title=GetMaxProjDistance&diff=133&oldid=prevNickpisca: Created page with " Function GetMaxProjDistance(CrvObj1 As Variant, Obj2 As Variant, IntervalDist As Double, ConstSet As HybridBody) As Double Dim Floater As HybridShapePointOnCurve Set Floate..."2017-04-22T05:57:35Z<p>Created page with " Function GetMaxProjDistance(CrvObj1 As Variant, Obj2 As Variant, IntervalDist As Double, ConstSet As HybridBody) As Double Dim Floater As HybridShapePointOnCurve Set Floate..."</p>
<p><b>New page</b></p><div> Function GetMaxProjDistance(CrvObj1 As Variant, Obj2 As Variant, IntervalDist As Double, ConstSet As HybridBody) As Double<br />
Dim Floater As HybridShapePointOnCurve<br />
Set Floater = MyHSFactory.AddNewPointOnCurveFromDistance(CrvObj1, 0, True)<br />
ConstSet.AppendHybridShape Floater<br />
If [[IsUpdatable]](Floater) = False Then<br />
GetMaxProjDistance = -1<br />
MyHSFactory.DeleteObjectForDatum Floater<br />
Exit Function<br />
End If<br />
<br />
Dim LargestVal As Double<br />
LargestVal = 0<br />
Dim CMeas<br />
Set CMeas = TheSPAWorkbench.GetMeasurable(CrvObj1)<br />
Dim CLength As Double<br />
CLength = CMeas.Length<br />
Dim LCounter As Double<br />
LCounter = 0<br />
While LCounter < CLength<br />
Floater.Offset.Value = LCounter<br />
MyPart.UpdateObject Floater<br />
If [[CheckProjection]](Floater, Obj2) Then<br />
Dim TempProj As HybridShapeProject<br />
Set TempProj = MyHSFactory.AddNewProject(Floater, Obj2)<br />
ConstSet.AppendHybridShape TempProj<br />
MyPart.UpdateObject TempProj<br />
<br />
Dim TempMeas<br />
Set TempMeas = TheSPAWorkbench.GetMeasurable(TempProj)<br />
Dim CurDist As Double<br />
CurDist = TempMeas.GetMinimumDistance(Floater)<br />
<br />
If CurDist > LargestVal Then<br />
LargestVal = CurDist<br />
End If<br />
MyHSFactory.DeleteObjectForDatum TempProj<br />
End If<br />
<br />
LCounter = LCounter + IntervalDist<br />
Wend<br />
<br />
MyHSFactory.DeleteObjectForDatum Floater<br />
GetMaxProjDistance = LargestVal<br />
End Function<br />
<br />
<br />
[[Category:CATIA DP VB]]</div>Nickpisca