|  |  | 
|  | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für CATIA & Co. | 
|  |  | 
|  | KISTERS 3DViewStation - Der Schlüssel zur Einsparung von CAD-Lizenzen, eine Pressemitteilung 
 | 
| Autor | Thema:  Join, Extract usw. ist Fläche oder Draht? (1491 mal gelesen) | 
 | torstnm Mitglied
 
 
 
      Beiträge: 8Registriert: 03.09.2007
 Dell Precision M650012GB 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: 148Registriert: 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: 8Registriert: 03.09.2007
 Dell Precision M650012GB 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: 8Registriert: 03.09.2007
 Dell Precision M650012GB 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 | 
                       
 | Lusilnie Mitglied
 
 
     
 
      Beiträge: 1486Registriert: 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:da sollte laut Hilfe eine Zahl für den Elementtype heraus kommen...HybridShapeFactory.GetGeometricalFeatureType(Reference_von_Deinem_Join)
 
 
 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 |