Autor
|
Thema: Eckpunkte eines Topology.Face finden (1467 mal gelesen)
|
pfannensepp Mitglied
Beiträge: 74 Registriert: 03.11.2011 HP Z800 12x 2,66Ghz 24GB RAM CATIA V5 R19
|
erstellt am: 21. Okt. 2013 10:19 <-- editieren / zitieren --> Unities abgeben:
Hallo ich stecke mal wieder fest. Ich habe einen Würfel (vereinfachtes Beispiel) an diesem Würfel will ich alle sechs Seiten finden und dann jeweils die vier Eckpunkte der Seiten als Koordinaten rausschreiben. Das Problem liegt nicht beim Rauschreiben der koordinaten sondern am Finden der Eckpunkte. Ich habe schon versucht mit Code: Set Selektion = CATIA.ActiveDocument.Selection Selektion.Clear Selektion.Search "Topology.Face;all"
die Faces zu finden und dann mit Code: Selektion.item(1).Search ("Topology.Vertex;sel")
in der Selektion wiederrum die vier Vertex der Face zu finden. Leider funktioniert das nicht (auch nicht mit der Strg+F suche in Catia). Er findet dann da die Vertex nicht. Habt ihr eine Idee wie ich an das Problem rangehen könnte? Ich brauche eine Lösung die möglichst vermeidet viele Geometrien zu erzeugen. Da ich später sehr viele (>1000) Faces erkennen will... und mit Geometrieerzeugung in ner Schleige ist das so ne sache... Vielen Dank Sepp
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas Harmening Ehrenmitglied V.I.P. h.c. Arbeiter ツ
Beiträge: 2897 Registriert: 06.07.2001 NX 10 Win 7
|
erstellt am: 21. Okt. 2013 12:49 <-- editieren / zitieren --> Unities abgeben: Nur für pfannensepp
habe mir derletzt sowas zusammen ähnliches geschustert. A) Geoset erzeugen mit den Extremwerten eines Körpers [Userauswahl] - (aus Kochbuch Catia V5 automatisieren J.Hansen) B) Das Geoset auswählen, und die Vertex auswerten und in die Exceldatei schreiben (Schnippsel aus Cad.de) - erzeugen eines Solid zur Kontrolle. [Diese Nachricht wurde von Thomas Harmening am 21. Okt. 2013 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
pfannensepp Mitglied
Beiträge: 74 Registriert: 03.11.2011 HP Z800 12x 2,66Ghz 24GB RAM CATIA V5 R19
|
erstellt am: 22. Okt. 2013 09:33 <-- editieren / zitieren --> Unities abgeben:
Hallo thomas vielen Dank für dein Beispiel. Soweit ichd as bei dir aber gesheen hab, wählst du nur alle Vertex von einem Körper aus. Bei mir kommt "erschwerend" dazu, dass ich zuerst das Face auswähle und dann die Vertex dieses Face. Ich habe inzwischen eine Lösung welche das Face selektiert, um dieses Face eine Boundary erzeugt und dann die Vertex in dieser Boundary sucht. Das funktioniert. Allerdings muss ich dann wieder Geometrie erzeugen (Boundary ) ...und genau dass will ich eigentlich vermeiden, da es rechenintensiv ist. was in deinem beispiel schön ist und bei mir nicht funktionierte, dass du direkt die koordinaten aus der selektion ausliest. ich hab immer erst einen punkt auf dem vertex erzeugen müssen um die koordinaten auslesen zu können. das werd ich mir nochmal anschauen. wenn noch jemand eine idee hat um innerhalb einer selektion (face) wiederum eine selektion(vertex) zu machen wär ich dankbar. lg und vielen dank schonmal Sepp Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HoBLila Mitglied Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx
Beiträge: 1118 Registriert: 29.05.2008 DELL PRECISION T3500 Intel(R) Xeon(R) CPU W3540 @ 2.93GHz 12285 MB RAM NVIDIA Quadro FX 1800 Microsoft Windows 7 Enterprise Service Pack 1 CATIA V5 R19 SP09 HF69 VB6.5 CAA RADE CDC
|
erstellt am: 22. Okt. 2013 15:14 <-- editieren / zitieren --> Unities abgeben: Nur für pfannensepp
Funktioniert nicht eine interne Suche über die Selection? Also die Face selektieren und dann eine Suche in der Selection nach Vertex? ------------------ Mit freundlichen Grüßen, Henry Schneider alias Lila Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren: Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen, die Natur versucht, immer bessere Idioten zu bauen Xing Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
pfannensepp Mitglied
Beiträge: 74 Registriert: 03.11.2011 HP Z800 12x 2,66Ghz 24GB RAM CATIA V5 R19
|
erstellt am: 22. Okt. 2013 16:10 <-- editieren / zitieren --> Unities abgeben:
nein leider nicht. das ist dass was ich im ersten Post mit den zwei code schnippseln gemacht habe. erst mit einer selektion.search (all) nach den faces suchen und dann mit einer selektion.search (sel) nach den vertex suchen. aber da findet er dann keine ... wenn es gehen würde wäre dass die beste lösung! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas Harmening Ehrenmitglied V.I.P. h.c. Arbeiter ツ
Beiträge: 2897 Registriert: 06.07.2001 NX 10 Win 7
|
erstellt am: 22. Okt. 2013 18:54 <-- editieren / zitieren --> Unities abgeben: Nur für pfannensepp
wenn die Fläche nicht im Raum sondern im Baum selektiert wird funktioniert die Weitergabeaka Code: Set selection1 = MySelection.Selection MsgBox ("Wähle eine Fläche im Baum aus") Dim InputObjectType(0) InputObjectType(0) = "HybridShapeSurfaceExplicit" '"Face" -geht hier nicht Status = MySelection.SelectElement2(InputObjectType, "Fläche im Baum selektieren! (ESC = Abbruch)", False) If (Status = "Cancel") Then MySelection.Clear End Else End If 'oSel.Clear sStart = Format(Now(), "HH:MM:SS") oSel.Search ("Topology.Vertex;sel")
leider ist mein Wissen zu begrenzt um vom einem BREP Abgriff das so umzustricken das oSel.Search ("Topology.Vertex;sel") das auch frisst.
EDIT: LOL ich hatte vorher mit
Code: Sub mObjectType()Set CATIA = GetObject(, "CATIA.Application") Dim pd1 'As Document Set pd1 = CATIA.ActiveDocument Dim MySelection 'As Object Set MySelection = pd1.Selection Dim InputObjectType(0) 'As Variant InputObjectType(0) = "AnyObject" Dim Result 'As String Result = MySelection.SelectElement2(InputObjectType(), "Pick it", False) MsgBox TypeName(MySelection.Item(1).Value) End Sub
den Elementtyp mir ausgegeben ("Face") damit hat es nicht geklappt, dann habe ich testweise im Baum selektiert = Ergebnis "HybridShapeSurfaceExplicit" und die Suche hat funktioniert. Bin dann davon ausgegangen das es nur im Baum funktioniert. Gerade nochmal spasseshalber laufen lassen und siehe da, mit "HybridShapeSurfaceExplicit" funktioniert es auch mittels BREP Abgriff. [Diese Nachricht wurde von Thomas Harmening am 22. Okt. 2013 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HoBLila Mitglied Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx
Beiträge: 1118 Registriert: 29.05.2008 DELL PRECISION T3500 Intel(R) Xeon(R) CPU W3540 @ 2.93GHz 12285 MB RAM NVIDIA Quadro FX 1800 Microsoft Windows 7 Enterprise Service Pack 1 CATIA V5 R19 SP09 HF69 VB6.5 CAA RADE CDC
|
erstellt am: 23. Okt. 2013 11:46 <-- editieren / zitieren --> Unities abgeben: Nur für pfannensepp
Was sagt die Makroaufzeichnung? Die ist mir an der Stelle immer eine große Hilfe. Das ist leider auch die einzig sinnvolle Stelle, die ich finden konnte. :-D ------------------ Mit freundlichen Grüßen, Henry Schneider alias Lila Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren: Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen, die Natur versucht, immer bessere Idioten zu bauen Xing Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |