Autor
|
Thema: Selektion Z-Achse (1099 / mal gelesen)
|
Lauchheimer Mitglied
Beiträge: 11 Registriert: 28.10.2016 V5-6 R2014 SP4
|
erstellt am: 28. Okt. 2016 22:00 <-- editieren / zitieren --> Unities abgeben:
Tag Leute, Arbeite mich gerade in Makroprogrammierung ein. Wie kann ich die Z-Achse eines Achsenkreuzes selektieren? Ich habe bereits folgendes: Sub Selektion_Z_Ax() Dim Was(0) Was(0) = "AxisSystem"
'Selektion definieren und leeren Dim UserSel As Object Set UserSel = CATIA.ActiveDocument.Selection UserSel.Clear 'Selektion durchführen Dim E As String E = UserSel.SelectElement2(Was, "Achse angeben", False) If E = "Normal" Then MsgBox (UserSel.Item(1).Value.Name) Set Z_Ax = UserSel.Item(1).Value Else MsgBox ("Abbruch") End If 'Selektion freigeben UserSel.Clear End Sub Was muss ich anstatt "axissystem" angeben? Gruß Martin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 28. Okt. 2016 22:17 <-- editieren / zitieren --> Unities abgeben: Nur für Lauchheimer
Servus Leider kann die Suche/Selektion da nicht richtig einschränken. Die Achsen werden wie Kanten behandelt (ReclinearTriDimFeatEdge). Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lauchheimer Mitglied
Beiträge: 11 Registriert: 28.10.2016 V5-6 R2014 SP4
|
erstellt am: 28. Okt. 2016 22:33 <-- editieren / zitieren --> Unities abgeben:
|
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 29. Okt. 2016 11:07 <-- editieren / zitieren --> Unities abgeben: Nur für Lauchheimer
Servus Schau mal in der Doku nach "CATSelectionFilter" und such dir einen passenden raus. (vermutlich "RectilinearMonoDimInfinite") Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ferdo Mitglied engineer
Beiträge: 34 Registriert: 15.04.2009 Windows 7, 64 CATIA v5r25 , 3DEXPERIENCE on cloud
|
erstellt am: 29. Okt. 2016 22:31 <-- editieren / zitieren --> Unities abgeben: Nur für Lauchheimer
Servus CATIA mit English menu. Sub CATMain() Dim Was(0) Was(0) = "AnyObject" 'Selektion definieren und leeren Dim UserSel As Object Set UserSel = CATIA.ActiveDocument.Selection UserSel.Clear 'Selektion durchführen Dim E As String E = UserSel.SelectElement2(Was, "Select an Axis System to get the value name", False) If E = "Normal" Then MsgBox (UserSel.Item(1).Value.Name) End If 'Selektion freigeben UserSel.Clear End Sub Gruß Fernando ------------------ Best regards Fernando Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 30. Okt. 2016 01:32 <-- editieren / zitieren --> Unities abgeben: Nur für Lauchheimer
Servus Fernando Dann lässt sich aber jedes beliebige Objekt selektieren und nicht nur eine Achse des Achsensystems wie gewünscht. Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joehz Moderator Freiberuflicher Konstrukteur
Beiträge: 1057 Registriert: 25.11.2006 Win7 Pro 64 + Ubuntu + Irix6.5.20 Dell Precision M6600 i7-2960XM 2.7GHz 16GB NVidia Quadro M5010 Catia V5R19 VB6Pro.SP6/VBA 6.5.1053
|
erstellt am: 30. Okt. 2016 15:29 <-- editieren / zitieren --> Unities abgeben: Nur für Lauchheimer
Hi, vielleicht hilft das weiter. Die unterschiedlichen Achsen können, bei bekanntem Achsensystem folgendermassen angesprochen werden: Code:
'refs der schenkel des neuen achsensystems bilden Set X_Axis = oParent.CreateReferenceFromBRepName("REdge:(Edge:(Face:(Brp:(" & oAxSysCos.Name & ";1);None:();Cf11:());Face:(Brp:(" _ & oAxSysCos.Name & ";3);None:();Cf11:());None:(Limits1:();Limits2:());Cf11:());WithPermanentBody;WithoutBuildError;" & _ "WithSelectingFeatureSupport;MFBRepVersion_CXR15)", oAxSysCos) Set Y_Axis = oParent.CreateReferenceFromBRepName("REdge:(Edge:(Face:(Brp:(" & oAxSysCos.Name & ";2);None:();Cf11:());Face:(Brp:(" _ & oAxSysCos.Name & ";1);None:();Cf11:());None:(Limits1:();Limits2:());Cf11:());WithPermanentBody;WithoutBuildError;" & _ "WithSelectingFeatureSupport;MFBRepVersion_CXR15)", oAxSysCos) Set Z_Axis = oParent.CreateReferenceFromBRepName("REdge:(Edge:(Face:(Brp:(" & oAxSysCos.Name & ";3);None:();Cf11:());Face:(Brp:(" _ & oAxSysCos.Name & ";2);None:();Cf11:());None:(Limits1:();Limits2:());Cf11:());WithPermanentBody;WithoutBuildError;" & _ "WithSelectingFeatureSupport;MFBRepVersion_CXR15)", oAxSysCos)
wobei oAxSysCos definiert ist mit Code:
Dim oAxSysCos As AxisSystem 'axis system for measuring angles Dim X_Axis As Reference 'ref axis of oAxSysCos Dim Y_Axis As Reference Dim Z_Axis As Reference und oParent As Part
Tschau, Joe ------------------ Inoffizielle Catia Hilfeseite Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ferdo Mitglied engineer
Beiträge: 34 Registriert: 15.04.2009 Windows 7, 64 CATIA v5r25 , 3DEXPERIENCE on cloud
|
erstellt am: 30. Okt. 2016 16:32 <-- editieren / zitieren --> Unities abgeben: Nur für Lauchheimer
|
Lauchheimer Mitglied
Beiträge: 11 Registriert: 28.10.2016 V5-6 R2014 SP4
|
erstellt am: 03. Nov. 2016 11:41 <-- editieren / zitieren --> Unities abgeben:
|
joehz Moderator Freiberuflicher Konstrukteur
Beiträge: 1057 Registriert: 25.11.2006 Win7 Pro 64 + Ubuntu + Irix6.5.20 Dell Precision M6600 i7-2960XM 2.7GHz 16GB NVidia Quadro M5010 Catia V5R19 VB6Pro.SP6/VBA 6.5.1053
|
erstellt am: 03. Nov. 2016 13:44 <-- editieren / zitieren --> Unities abgeben: Nur für Lauchheimer
|
Lauchheimer Mitglied
Beiträge: 11 Registriert: 28.10.2016 V5-6 R2014 SP4
|
erstellt am: 03. Nov. 2016 13:56 <-- editieren / zitieren --> Unities abgeben:
|
joehz Moderator Freiberuflicher Konstrukteur
Beiträge: 1057 Registriert: 25.11.2006 Win7 Pro 64 + Ubuntu + Irix6.5.20 Dell Precision M6600 i7-2960XM 2.7GHz 16GB NVidia Quadro M5010 Catia V5R19 VB6Pro.SP6/VBA 6.5.1053
|
erstellt am: 03. Nov. 2016 19:39 <-- editieren / zitieren --> Unities abgeben: Nur für Lauchheimer
|
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 03. Nov. 2016 20:01 <-- editieren / zitieren --> Unities abgeben: Nur für Lauchheimer
Servus Dann springe ich mal für Joe ein. Code: Dim XY_Plane As Reference Set XY_Plane = part1.CreateReferenceFromBRepName("RSur:(Face:(Brp:(" & oAxSysCos.Name & ";1);None:();Cf11:());WithPermanentBody;WithoutBuildError;WithSelectingFeatureSupport;MFBRepVersion_CXR15)", oAxSysCos)Dim XZ_Plane As Reference Set XZ_Plane = part1.CreateReferenceFromBRepName("RSur:(Face:(Brp:(" & oAxSysCos.Name & ";3);None:();Cf11:());WithPermanentBody;WithoutBuildError;WithSelectingFeatureSupport;MFBRepVersion_CXR15)", oAxSysCos) Dim YZ_Plane As Reference Set YZ_Plane = part1.CreateReferenceFromBRepName("RSur:(Face:(Brp:(" & oAxSysCos.Name & ";2);None:();Cf11:());WithPermanentBody;WithoutBuildError;WithSelectingFeatureSupport;MFBRepVersion_CXR15)", oAxSysCos)
Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |