Autor
|
Thema: Axis Center Point - Auswahl filter (3025 mal gelesen)
|
imation1999 Mitglied dipl.-ing. Maschinenbau
Beiträge: 276 Registriert: 02.08.2011 Dell Precision T3500 Intel® Xeon® Quad Core NVIDIA Quadro® 5000 Win7 x64 Ultimate CATIA V5 R20 SP2
|
erstellt am: 04. Okt. 2011 13:38 <-- editieren / zitieren --> Unities abgeben:
Ich habe unter einem CATPart mehrhundert tote Axis System. Ich möchte die "Center Point"s mit einem "Extract" rausnehmen. Kennt Ihr eine filter dazu? [Diese Nachricht wurde von imation1999 am 04. Okt. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lusilnie Mitglied
Beiträge: 1486 Registriert: 13.07.2005
|
erstellt am: 07. Okt. 2011 00:22 <-- editieren / zitieren --> Unities abgeben: Nur für imation1999
Hallo imation1999, ich weiß nicht genau, was Du möchtest, doch hier mal ein Ansatz: Wenn Du in der Toolbar "User Selection Filter" den "Point Filter" aktivierst, dann kannst Du in der Funktion "Extract" in der Workbench "Generative Shape Design" die "Origin"'s der Achsensysteme selektieren und als Punkte ableiten. mfg, Lusilnie
------------------ Alle Aussagen zu DassaultSystemes-Produkten sind sehr optimistisch, selbst diese!!! frei nach größeren Geistern Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
imation1999 Mitglied dipl.-ing. Maschinenbau
Beiträge: 276 Registriert: 02.08.2011 Dell Precision T3500 Intel® Xeon® Quad Core NVIDIA Quadro® 5000 Win7 x64 Ultimate CATIA V5 R20 SP2
|
erstellt am: 07. Okt. 2011 14:46 <-- editieren / zitieren --> Unities abgeben:
Vielen Dank für die Antwort. JA, deine Idee ist nicht schlecht, aber ich möchte eigentlich die mehrhunderte "Axis Center Point" mit wenigsten Arbeit extrahieren (und nicht mehrhundertmal draufklicken). Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11849 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 07. Okt. 2011 15:41 <-- editieren / zitieren --> Unities abgeben: Nur für imation1999
Servus Du könntest dir auch ein Makro schreiben: - eine Schleife über alle Achsensysteme laufen lassen - für jedes Achsensystem die Koordinaten auslesen und ein Punkt mit diesen erstellen. Code: Language="VBSCRIPT"Sub CATMain() Dim partDocument1 As Document 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("Geometrisches Set.1") Dim hybridShapeFactory1 As Factory Set hybridShapeFactory1 = part1.HybridShapeFactory Dim hybridShapePointCoord1 As HybridShapePointCoord Set hybridShapePointCoord1 = hybridShapeFactory1.AddNewPointCoord(0.000000, 0.000000, 0.000000) Dim axisSystems1 As AxisSystems Set axisSystems1 = part1.AxisSystems Dim axisSystem1 As AxisSystem Dim originCoord(2) for i = 1 to axisSystems1.Count Set axisSystem1 = axisSystems1.Item(i) axisSystem1.GetOrigin originCoord Set hybridShapePointCoord1 = hybridShapeFactory1.AddNewPointCoord(originCoord(0), originCoord(1), originCoord(2)) hybridBody1.AppendHybridShape hybridShapePointCoord1 next part1.Update End Sub
Gruß Bern------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
imation1999 Mitglied dipl.-ing. Maschinenbau
Beiträge: 276 Registriert: 02.08.2011 Dell Precision T3500 Intel® Xeon® Quad Core NVIDIA Quadro® 5000 Win7 x64 Ultimate CATIA V5 R20 SP2
|
erstellt am: 10. Okt. 2011 07:38 <-- editieren / zitieren --> Unities abgeben:
Hallo Bernd, vielen Dank für deine Hilfe, aber...siehe Anhang! [Diese Nachricht wurde von imation1999 am 10. Okt. 2011 editiert.] [Diese Nachricht wurde von imation1999 am 10. Okt. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11849 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 10. Okt. 2011 08:06 <-- editieren / zitieren --> Unities abgeben: Nur für imation1999
|
imation1999 Mitglied dipl.-ing. Maschinenbau
Beiträge: 276 Registriert: 02.08.2011 Dell Precision T3500 Intel® Xeon® Quad Core NVIDIA Quadro® 5000 Win7 x64 Ultimate CATIA V5 R20 SP2
|
erstellt am: 11. Okt. 2011 07:27 <-- editieren / zitieren --> Unities abgeben:
|
bgrittmann Moderator Konstrukteur
Beiträge: 11849 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 11. Okt. 2011 07:50 <-- editieren / zitieren --> Unities abgeben: Nur für imation1999
Servus Kannst du mal einen Screenshot deines Strukturbaumes posten? mein Makro funktioniert, in der aktuellen Version, nur wenn die Achsensysteme direkt im Part unter "Achsensysteme" angeordnet sind. Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
imation1999 Mitglied dipl.-ing. Maschinenbau
Beiträge: 276 Registriert: 02.08.2011 Dell Precision T3500 Intel® Xeon® Quad Core NVIDIA Quadro® 5000 Win7 x64 Ultimate CATIA V5 R20 SP2
|
erstellt am: 11. Okt. 2011 10:52 <-- editieren / zitieren --> Unities abgeben:
Ach ja...So funktioniert! Danke Bernd! Aber leider meine Axis Systems sind unter "External References". Und die haben verschiedene Namen. [Diese Nachricht wurde von imation1999 am 11. Okt. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11849 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 11. Okt. 2011 12:26 <-- editieren / zitieren --> Unities abgeben: Nur für imation1999
Servus Anbei ein Beispiel (CATScript), bei dem du zuerst das GeoSet mit den Achsensystem wählen musst. Die Punkte werden dann in einem neue GeoSet erzeugt: Code: Language="VBSCRIPT" Sub CATMain()Dim partDocument1 As Document Dim part1 As Part Dim hybridBodies1 As HybridBodies Dim oSel as Selection Dim hybridBody1 As HybridBody Dim hybridShapeFactory1 As Factory Dim hybridShapePointCoord1 As HybridShapePointCoord dim filter(0) Dim axisSystem1 As AxisSystem Dim originCoord(2) 'Start Set partDocument1 = CATIA.ActiveDocument Set oSel = partDocument1.Selection Set part1 = partDocument1.Part 'GeoSet auswaehlen osel.Clear filter(0) = "HybridBody" Status = osel.SelectElement2 (filter, "Bitte geometrisches Set wählen",true) if Status <> "Normal" then MsgBox "Es wurde kein geometrisches Set gewählt. Das Makro wird beendet." Exit Sub end if 'Achsensysteme suchen Status = oSel.Search("(((CATStFreeStyleSearch.AxisSystem + CATPrtSearch.AxisSystem) + CATGmoSearch.AxisSystem) + CATSpdSearch.AxisSystem),sel") if oSel.count2 = 0 then MsgBox "Es wurde kein Achsensystem im gewählten geometrisches Set gefunden. Das Makro wird beendet." Exit Sub end if 'GeoSet anlegen Set hybridBodies1 = part1.HybridBodies Set hybridBody1 = hybridBodies1.Add 'Punkte erstellen Set hybridShapeFactory1 = part1.HybridShapeFactory for i = 1 to osel.count2 Set axisSystem1 = osel.item2(i).Value axisSystem1.GetOrigin originCoord Set hybridShapePointCoord1 = hybridShapeFactory1.AddNewPointCoord(originCoord(0), originCoord(1), originCoord(2)) hybridBody1.AppendHybridShape hybridShapePointCoord1 next part1.Update End Sub
Gruß Bernd------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
imation1999 Mitglied dipl.-ing. Maschinenbau
Beiträge: 276 Registriert: 02.08.2011 Dell Precision T3500 Intel® Xeon® Quad Core NVIDIA Quadro® 5000 Win7 x64 Ultimate CATIA V5 R20 SP2
|
erstellt am: 11. Okt. 2011 12:40 <-- editieren / zitieren --> Unities abgeben:
|