Hallo zusammen,
Ich habe ein Problem, das ich ohne eure Hilfe nicht lösen kann. Ich habe ein dummes Solid (keine Features genauso wie copy and paste "As Result") und ich will die Anzahl von B-Rep Flächen innerhalb des Solids wissen.
Mein erster Versuch war mit der Anwendung von einem "Do while" Zyklus. Ich habe hier jede einzelne Fläche ausgelesen (i = i+1) und danach habe ich eine Referenz mit dieser Fläche erzeugt. Ich habe mir gedacht dass bei der Referenzerzeugung von der lezten Fläche "+ 1" einen Fehler kommen würde, weil diese Fläche existiert im Prinzip nicht. Ich habe den folgenden Code benutzt aber ich bekomme niemals einen Fehler und der "Do while" zyklus wird nie stoppen
Set Document = CATIA.ActiveDocument
Set oPart = Document.Part
Set Selection = Document.Selection
Selection.Clear
Dim sFilter(0)
sFilter(0) = "AnyObject"
sStatus = Selection.SelectElement2(sFilter, "Select a Pad element", False)
If sStatus = "Cancel" Then
MsgBox ("Das Makro wurde abgebrochen")
End
End If
Set oSolid = Selection.Item(1).Value
sSolidName = oSolid.Name
i = 0
Err.Number = 0
Do While Err.Number = 0
i = i + 1
Set oRef = oPart.CreateReferenceFromBRepName("RSur
Face
Brp
" & sSolidName & ";%" & i & ");None
);Cf11
));WithPermanentBody;WithoutBuildError;WithSelectingFeatureSupport;MFBRepVersion_CXR14)", oSolid)
Loop
habt ihr vielleicht eine bessere Idee um mein Ziel zu erreichen??
vielen Dank und ich hoffe dass jemand mir helfen kann.
viele Grüße
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP