【发布时间】:2014-11-21 23:50:49
【问题描述】:
我正在尝试制作一个点测量工具,但是每当我的循环偶然发现一个未更新的点时,它就会使我的 Measurable 崩溃。如何测量?
【问题讨论】:
我正在尝试制作一个点测量工具,但是每当我的循环偶然发现一个未更新的点时,它就会使我的 Measurable 崩溃。如何测量?
【问题讨论】:
四处搜索后,您似乎无法测量任何未更新的几何图形。
您可以使用 MecMod 零件库中的 UpdateObject 方法更新一个对象。既然你有一个更新的对象,那就运行可测量的方法。
像这样:
CurPart.UpdateObject Obj1
如果由于几何问题而无法更新几何,您可以随时通过错误检查(草率)跳过它,或使用命令“IsUpToDate”检查几何是否已更新。
像这样:
If CurPart.IsUpToDate(Obj1) = true then
Meas.GetPoint PTArr
End If
确保将对象名称保存在数组中,以便您可以提示用户列出所有未测量的对象。
【讨论】:
你总是可以隔离几何,然后你可以测量并删除它,如果你不再需要它了..
这是一个示例,它创建了第一个几何集合中第一个点的独立副本,无论是否更新,而原始点保持不变。
Sub makePointDatum()
Dim sPoint As HybridShapePointExplicit, oPart As Part, oHSF As HybridShapeFactory
Set oPart = CATIA.ActiveDocument.Part
Set oHSF = oPart.HybridShapeFactory
Set sPoint = oHSF.AddNewPointDatum(oPart.HybridBodies.Item(1).HybridShapes.Item(1))
oPart.UpdateObject sPoint
oPart.HybridBodies.Item(1).AppendHybridShape sPoint
End Sub
【讨论】: