Autor
|
Thema: Join, Extract usw. ist Fläche oder Draht? (1251 mal gelesen)
|
torstnm Mitglied
Beiträge: 8 Registriert: 03.09.2007 Dell Precision M6500 12GB Ram Win 7 Catia V5 R18-24 VB6, .NET
|
erstellt am: 07. Mai. 2008 08:02 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, Wie kann Ich im Makro herausfinden ob ein Join, extract oder ähnliches Flächen oder Draht Geometrie ist? Bzw. bei Translate/Rotate könnte ja auch eine Achse drinstecken. Ich filtere die Eingabe mit:
Code: Dim InputObjectType1(10) 'Surface InputObjectType1(0) = "HybridShapeSurfaceExplicit" InputObjectType1(1) = "HybridShapeAssemble" InputObjectType1(2) = "HybridShapeHealing" InputObjectType1(3) = "HybridShapeTranslate" InputObjectType1(4) = "HybridShapeSplit" InputObjectType1(5) = "HybridShapeOffset" InputObjectType1(6) = "HybridShapeTrim" InputObjectType1(7) = "HybridShapeInverse" InputObjectType1(8) = "HybridShapeNear" InputObjectType1(9) = "HybridShapeRotate" InputObjectType1(10) = "HybridShapeExtrude" Dim InputObjectType3(4) 'Achse InputObjectType3(0) = "AxisSystem" InputObjectType3(2) = "HybridShapeRotate" InputObjectType3(3) = "HybridShapeTranslate"
und möchte dann nur den zulässigen Typ erlauben ------------------ mfg Torsten Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
noir333 Mitglied Ingenieur
Beiträge: 148 Registriert: 27.01.2004 Dell Precision 450 Dual Xeon, 2MB RAM, XP SP2, NX3 V5R17SP3
|
erstellt am: 07. Mai. 2008 09:49 <-- editieren / zitieren --> Unities abgeben: Nur für torstnm
Hallo Torsten, vielleicht hilft Dir die Funktion TypeName(Object) weiter? Man müsste dann allerdings erst eine unparametrische Kopie erzeugen, damit die Abfrage sinnvoll ist. ------------------ ----------- [Diese Nachricht wurde von noir333 am 07. Mai. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
torstnm Mitglied
Beiträge: 8 Registriert: 03.09.2007 Dell Precision M6500 12GB Ram Win 7 Catia V5 R18-24 VB6, .NET
|
erstellt am: 07. Mai. 2008 10:42 <-- editieren / zitieren --> Unities abgeben:
Danke, das passt. Scheinbar auch ohne eine Kopie zu erzeugen, vielleicht wegen SelectElement2? Jedenfalls reagiert das Makro jetzt auf Translate/Rotate Code: Status = sel.SelectElement2(InputObjectType3, "Select Axis,Click 'Esc' to Cancel Selection", True) If Status <> "Cancel" Then Set SCAchsenObj = sel.Item(1).Value If TypeName(SCAchsenObj) = "HybridShapeRotate" Or TypeName(SCAchsenObj) = "HybridShapeTranslate" Then Set SCAchsenObj = Nothing End If
Jetzt werde Ich mir mal den Join vornehmen und schauen ob Ich Flächen und Drähte unterscheiden kann......------------------ mfg Torsten --------------------------------- Mein "Hobby" C-CON Tools für Catia V5 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
torstnm Mitglied
Beiträge: 8 Registriert: 03.09.2007 Dell Precision M6500 12GB Ram Win 7 Catia V5 R18-24 VB6, .NET
|
erstellt am: 07. Mai. 2008 10:55 <-- editieren / zitieren --> Unities abgeben:
OK, bei Flächen komm Ich nicht an der Kopie vorbei mit Typename, Join ist natürlich immer "HybridShapeAssemble", und wenn das Makro mit einem Draht statt der geforderten Fläche gefüttert wird gibts reichlich Fehler :-D Oder hat jemand noch eine andere Idee? ------------------ mfg Torsten --------------------------------- Mein "Hobby" C-CON Tools für Catia V5 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Techniker Elektrotechnik (m/w/d) | Die besten Köpfe für die unterschiedlichsten Aufgaben zu finden sowie Menschen und Technologien zu verbinden, und zwar täglich aufs Neue - dafür schätzen unsere Kunden FERCHAU. Unterstütze uns: als ambitionierte:r Kolleg:in, der:die wie wir Technologien auf die nächste Stufe bringen möchte. Wir realisieren spannende Projekte für namhafte Kunden in allen Technologiebereichen und für alle Branchen und sorgen für sichere und nachhaltige Technologielösungen.... | Anzeige ansehen | Elektrotechnik, Elektronik |
|
Lusilnie Mitglied
Beiträge: 1486 Registriert: 13.07.2005
|
erstellt am: 07. Mai. 2008 23:21 <-- editieren / zitieren --> Unities abgeben: Nur für torstnm
Hallo torstnm, da es nur um eine Idee geht, wie wäre es mit: Code: HybridShapeFactory.GetGeometricalFeatureType(Reference_von_Deinem_Join)
da sollte laut Hilfe eine Zahl für den Elementtype heraus kommen... 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 |