Autor
|
Thema: Einzelne Elemente von eine Achsensystem selektieren mit Selection.search (1103 / mal gelesen)
|
razzor88 Mitglied
Beiträge: 42 Registriert: 09.06.2016
|
erstellt am: 24. Jul. 2016 14:30 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich versuche verzweifelt eine möglichkeit den Originpoint und die einzelnen Achsen eines Achsensystems über Selection.search zu selektieren. Bisher allerdings ohne Erfolg. Weis jemand ob das überhaupt möglich ist und falls ja wie? mfg RaZzoR88 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: 24. Jul. 2016 16:03 <-- editieren / zitieren --> Unities abgeben: Nur für razzor88
|
razzor88 Mitglied
Beiträge: 42 Registriert: 09.06.2016
|
erstellt am: 24. Jul. 2016 21:06 <-- editieren / zitieren --> Unities abgeben:
Hey joehz, die Funktionen sind mir bekannt, liefern mir allerdings nur ein Array mit Koordinaten... damit kann ich leider nichts anfangen. Denn ich möchte gerne den Punkt und die Achsen mit hilfe von selection.search selektieren, da ich grade versuche eine Funktion zu basteln mit der man eine positionierte Skizze erstellen kann... dafür muss man aber unter anderem mal den Punkt vom Achsensystem oder die einzelnen Achsen mit selection.search anwählen können und daran scheitere ich momentan 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: 24. Jul. 2016 21:43 <-- editieren / zitieren --> Unities abgeben: Nur für razzor88
Servus IMHO kann man auf die Achsen und den Ursprung von Achsensystemen nur per BREP zugreifen (siehe zb hier) Bei einer Skizze gibt es ja nur die Methode SetAbsoluteAxisData die auch nur die Vektoren benötigt. Wozu benötigst du dann die Achse/Ursprung des Achsensystems? Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
razzor88 Mitglied
Beiträge: 42 Registriert: 09.06.2016
|
erstellt am: 24. Jul. 2016 22:22 <-- editieren / zitieren --> Unities abgeben:
ja wenn ich bei der positionierten skizzen z.b. projectionpoint als origintype auswähle möchte ich da z.b. gerne den Originpoint von einem Achsensystem angeben können. Oder halt ne Achse für die Ausrichtung... und dafür muss ich die Sachen halt selektieren können. Hatte es schon über brep versucht allerdings bisher ohne Erfolg. Werde es morgen nochmal probieren... 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: 25. Jul. 2016 00:18 <-- editieren / zitieren --> Unities abgeben: Nur für razzor88
|
razzor88 Mitglied
Beiträge: 42 Registriert: 09.06.2016
|
erstellt am: 26. Jul. 2016 18:48 <-- editieren / zitieren --> Unities abgeben:
So hab es eben nochmal per brep versucht, allerdings wieder ohne Erfolg ja hatte auch schon überlegt vorher einen Punkt auf den Origin zu setzen usw aber das gefällt mir nicht so gut. Naja schade, muss ich die Idee mit der Positionierten Skizze wohl wieder verwerfen und mit der sliding Sketch leben 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: 26. Jul. 2016 18:50 <-- editieren / zitieren --> Unities abgeben: Nur für razzor88
|
razzor88 Mitglied
Beiträge: 42 Registriert: 09.06.2016
|
erstellt am: 26. Jul. 2016 18:53 <-- editieren / zitieren --> Unities abgeben:
Ja ich wollte eine Funktion schreiben mit der das über StartCommand funktioniert. Aber nun scheitere ich daran das ich den OriginPunkt und die Achsen von einem Achsenkreuz nicht auswählen kann mit selection.search... 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: 27. Jul. 2016 11:21 <-- editieren / zitieren --> Unities abgeben: Nur für razzor88
Zitat: So hab es eben nochmal per brep versucht, allerdings wieder ohne Erfolg
Warum funktioniert es bei dir nicht? Ich habe es schon öfters gemacht, funktioniert eiwandfrei. Zeig uns dein Code. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
razzor88 Mitglied
Beiträge: 42 Registriert: 09.06.2016
|
erstellt am: 27. Jul. 2016 19:56 <-- editieren / zitieren --> Unities abgeben:
Code: Dim Doc1 As PartDocument ' Formbacke Dim Part1 As Part ' Aktives Part Dim Selection1 As Selection ' Selektion im aktiven Dokument Dim AXS_FB As AxisSystem Dim OriginPoint As Reference Doc1 = Catia.ActiveDocument Part1 = Doc1.Part Selection1 = Doc1.Selection AXS_FB = Part1.AxisSystems.Item("AXS_Formbacke") OriginPoint = Part1.CreateReferenceFromBRepName("FVertex:(Vertex:(Neighbours:(Face:(Brp:(" & AXS_FB.GetItem("ModelElement").InternalName & ";2);None:();Cf11:());Face:(Brp:(" & AXS_FB.GetItem("ModelElement").InternalName & ";3);None:();Cf11:());Face:(Brp:(" & AXS_FB.GetItem("ModelElement").InternalName & ";1);None:();Cf11:()));Cf11:());WithPermanentBody;WithoutBuildError;WithSelectingFeatureSupport;MFBRepVersion_CXR15)", AXS_FB) ' 1. Versuch Selection1.Search("Name='" & OriginPoint.Name & "', all") ' 2. Versuch Selection1.Search("Name='" & OriginPoint.GetItem("ModelElement").Internalname & "', all")
Habe es unter anderem mit diesen beiden Suchstrings versucht... Allerdings klappt es nicht. Das einzige was funktioniert ist selection.add(OriginPoint). Das bringt mich aber nicht weiter, da ich den OriginPoint über selection.search selektieren muss. [Diese Nachricht wurde von razzor88 am 27. Jul. 2016 editiert.] 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: 27. Jul. 2016 20:05 <-- editieren / zitieren --> Unities abgeben: Nur für razzor88
Servus Und warum musst du den Punkt über die Suche selektieren? Selektiert ist selektiert, oder nicht? Wird der Ursprung über .Add auch selektiert/hervorgehoben? Wie ist dein geplanter Ablauf zum erstellen der positionierten Skizze? Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
razzor88 Mitglied
Beiträge: 42 Registriert: 09.06.2016
|
erstellt am: 27. Jul. 2016 20:49 <-- editieren / zitieren --> Unities abgeben:
Ja der Punkt wird hervorgehoben wenn ich es über selection.add mache Also ich rufe den Befehl für die Positionierte Skizze über StartCommand auf, dann wird als erstes die Ebene selektiert auf der die Skizze liegen soll ( die Ebene kann an die Funktion übergeben werden und wird dann automatisch selektiert) Dann wird über die WinApi überprüft ob das Fenster für die Positionierte skizze offen ist und die benötigten Handles ausgelesen. Als nächstes wird dann der Ursprungstyp über die WinApi ausgewählt, z.b. Projektionspunkt. Dann möchte ich als nächstes den Projektionspunkt auswählen ( Dieser wird auch an die Funktion übergeben) Wenn es ein normaler Punkt ist ist das ja kein Problem, aber am OriginPunkt von nem Achsensystem scheitere ich zur Zeit. Das ganze muss mit Selection.Search gemacht werden, da sonst kein Element in das Selektionsfeld eingetragen wird 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: 28. Jul. 2016 06:24 <-- editieren / zitieren --> Unities abgeben: Nur für razzor88
|
razzor88 Mitglied
Beiträge: 42 Registriert: 09.06.2016
|
erstellt am: 28. Jul. 2016 17:35 <-- editieren / zitieren --> Unities abgeben:
|
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: 28. Jul. 2016 20:45 <-- editieren / zitieren --> Unities abgeben: Nur für razzor88
|
razzor88 Mitglied
Beiträge: 42 Registriert: 09.06.2016
|
erstellt am: 28. Jul. 2016 20:52 <-- editieren / zitieren --> Unities abgeben:
|