我正在寻求帮助,以找到解决我想法的方法。使用Catscript。
我正在尝试搜索,选择和删除一个特定草图内的所有几何图形(点,线等)。但是我找不到正确的搜索命令来做到这一点。它要么选择整个零件的所有几何形状,但我不想要。还是什么都没有。
有人对此有建议吗?
答案 0 :(得分:0)
您需要首先通过用户选择或通过搜索名称来选择所需的草图,然后您需要在此选择内搜索2D几何图形(通过高级查询,您可以选择并删除所需的任何图形)。 / p>
答案 1 :(得分:0)
如果您仍在寻找答案,请尝试以下代码:
Sub CATMain()
Dim partDocument1 As PartDocument
Set partDocument1 = CATIA.ActiveDocument
Dim part1 As Part
Set part1 = partDocument1.Part
Dim hybridBodies1 As HybridBodies
Set hybridBodies1 = part1.HybridBodies
Dim hybridBody1 As HybridBody
Set hybridBody1 = hybridBodies1.Item("Geometrical Set.1")
Dim sketches1 As Sketches
Set sketches1 = hybridBody1.HybridSketches
Dim sketch1
Set sketch1 = sketches1.Item("Sketch.1")
Dim factory2D1 As Factory2D
Set factory2D1 = sketch1.OpenEdition()
Dim geometricElements1 As GeometricElements
Set geometricElements1 = sketch1.GeometricElements
While geometricElements1.Count > 1
If geometricElements1.Item(geometricElements1.Count).GeometricType <> catGeoTypeAxis2D Then
Dim Geometry2D
Set Geometry2D = geometricElements1.Item(geometricElements1.Count)
Set objHSF = part1.HybridShapeFactory
Set objRef = part1.CreateReferenceFromObject(Geometry2D)
objHSF.DeleteObjectForDatum objRef
End If
Wend
sketch1.CloseEdition
part1.Update
End Sub
但是要小心,使用代码删除所有几何图形不会删除草图! Catia中不能有空草图。将其留空可能会导致各种问题。