MaciejBorucinski
Mechanical
- Nov 30, 2012
- 1
Hi
I am trying to get a VBA function to find x/y/z components of minimal distance vector between a pint and a body type feature. So far I've got something along the lines of:
Function mindistcoord(InputPoint As Point, Obj As Body) As Double
Dim PtDoc As Object
Set PtDoc = CATIA.ActiveDocument
Dim Distance As Double
Dim RefObj As Reference
Dim RefPt As Reference
Set RefObj = PtDoc.Part.CreateReferenceFromObject(Obj)
Set RefPt = PtDoc.Part.CreateReferenceFromObject(InputPoint)
Dim TheSPAWorkbench As Workbench
Set TheSPAWorkbench = PtDoc.GetWorkbench("SPAWorkbench")
Dim TheMeasurable
Set TheMeasurable = TheSPAWorkbench.GetMeasurable(RefObj)
Distance = Measurable1.GetMinimumDistance(RefPt)
mindistcoord = Distance
End Function
The problem is that GetMinimumDistance doesn't seem to work with Body. Also it provides just the Distance as a Double and I really need it broken down to components, so I'm stuck. Maybe you guys would have some ideas to make this work?
I am trying to get a VBA function to find x/y/z components of minimal distance vector between a pint and a body type feature. So far I've got something along the lines of:
Function mindistcoord(InputPoint As Point, Obj As Body) As Double
Dim PtDoc As Object
Set PtDoc = CATIA.ActiveDocument
Dim Distance As Double
Dim RefObj As Reference
Dim RefPt As Reference
Set RefObj = PtDoc.Part.CreateReferenceFromObject(Obj)
Set RefPt = PtDoc.Part.CreateReferenceFromObject(InputPoint)
Dim TheSPAWorkbench As Workbench
Set TheSPAWorkbench = PtDoc.GetWorkbench("SPAWorkbench")
Dim TheMeasurable
Set TheMeasurable = TheSPAWorkbench.GetMeasurable(RefObj)
Distance = Measurable1.GetMinimumDistance(RefPt)
mindistcoord = Distance
End Function
The problem is that GetMinimumDistance doesn't seem to work with Body. Also it provides just the Distance as a Double and I really need it broken down to components, so I'm stuck. Maybe you guys would have some ideas to make this work?