Autor
|
Thema: Die internen Namen für Elemente auslesen (1254 mal gelesen)
|
AndiKrue Mitglied Berater
Beiträge: 72 Registriert: 04.12.2008 Windows XP Prof x64 Edition Intel Xeon W3520 @ 2.67 GHz 8 GB RAM, Nvidia Quadro FX 1800 CATIA V5R19
|
erstellt am: 26. Jan. 2009 16:26 <-- editieren / zitieren --> Unities abgeben:
Hallo, in Breps werden ja die Internen Namen der Elemente verwendet, also zum Beispiel BorderREdge :(BEdge :(Brp :(GSMSweep.29;-2 :(Brp :(GSMIntersect.34;(Brp :(GSMBiDim.19;%88);Brp :(GSMPlane.23)))));None :(Limits1 :();Limits2 :();-1);Cf11 :());WithPermanentBody;WithoutBuildEr ror;WithSelectingFeatureSupport;MFBRepVersion_CXR15) GSMSweep.29 wär jetzt mein Interner Name für meinen Sweep, der im Baum als "Sweep.29" benannt ist aber auch "blabla" heissen könnte. Wie komme ich jetzt an den internen Namen eines Elements, damit ich es z.B. über nen Brep weiterverarbeiten kann? [Diese Nachricht wurde von AndiKrue am 26. Jan. 2009 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lusilnie Mitglied
Beiträge: 1486 Registriert: 13.07.2005
|
erstellt am: 27. Jan. 2009 21:32 <-- editieren / zitieren --> Unities abgeben: Nur für AndiKrue
|
AndiKrue Mitglied Berater
Beiträge: 72 Registriert: 04.12.2008 Windows XP Prof x64 Edition Intel Xeon W3520 @ 2.67 GHz 8 GB RAM, Nvidia Quadro FX 1800 CATIA V5R19
|
erstellt am: 30. Jan. 2009 11:42 <-- editieren / zitieren --> Unities abgeben:
|
Lusilnie Mitglied
Beiträge: 1486 Registriert: 13.07.2005
|
erstellt am: 30. Jan. 2009 21:07 <-- editieren / zitieren --> Unities abgeben: Nur für AndiKrue
Hallo AndiKrue, Zitat: Original erstellt von web_kai:
Set oModelElement = oFeature.GetItem("ModelElement") sInternalName = oModelElement.InternalName
wieso kannst Du oben stehende Zeilen nur für Geo-Sets und Parameter benutzen? Ich habe diese auch für Features in Bodies benutzt und es funktionierte hervorragend. Versuche sie einfach auf Deine Elemente zu adaptieren! Wenn Du damit nicht weiterkommst, helfen Dir hier sicher auch andere weiter, einfach den nicht funktionierenden Code posten! 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 |
AndiKrue Mitglied Berater
Beiträge: 72 Registriert: 04.12.2008 Windows XP Prof x64 Edition Intel Xeon W3520 @ 2.67 GHz 8 GB RAM, Nvidia Quadro FX 1800 CATIA V5R19
|
erstellt am: 02. Feb. 2009 17:08 <-- editieren / zitieren --> Unities abgeben:
Ich benutz diesen Code, um erst den Anzeigennamen auszugeben und dann den internen Namen. damit funktionierts aber nur bei Geosets, Skizzen und Parametern. ich kann mir denken warum es nicht funktioniert, aber wie kann es funktionieren? Steh da vor einer Wand... Sub bla2()
Dim Name as string Dim p As Part Set p = Catia.ActiveDocument.part Dim selection as selection Set selection = Catia.Activedocument.selection MSGBOX(selection.item(1).value.name) set name = selection.item(1).value.getitem("ModelElement") MSGBOX(name.InternalName) End Sub [Diese Nachricht wurde von AndiKrue am 02. Feb. 2009 editiert.] [Diese Nachricht wurde von AndiKrue am 02. Feb. 2009 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lusilnie Mitglied
Beiträge: 1486 Registriert: 13.07.2005
|
erstellt am: 02. Feb. 2009 22:41 <-- editieren / zitieren --> Unities abgeben: Nur für AndiKrue
Hallo AndiKrue, ich habe Deinen Code mal getestet und abgesehen von der falschen Deklaration von "Name" funktioniert er! Die Zeile von "Dim Name ..." lautet korrekt: Code: Dim Name As Object
Als einfaches Beispiel kannst Du ja mal den "PartBody" ("Hauptkörper") selektieren, dann sollte der "InternalName" etwa "MechanicalTool.1" lauten, so zumindest das Ergebnis bei mir.Natürlich funktioniert das nicht, wenn Du BREp-Flächen oder -Kanten im 3D selektierst, da dies ja keine "Features" sind! 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 |
AndiKrue Mitglied Berater
Beiträge: 72 Registriert: 04.12.2008 Windows XP Prof x64 Edition Intel Xeon W3520 @ 2.67 GHz 8 GB RAM, Nvidia Quadro FX 1800 CATIA V5R19
|
erstellt am: 02. Feb. 2009 23:36 <-- editieren / zitieren --> Unities abgeben:
|
AndiKrue Mitglied Berater
Beiträge: 72 Registriert: 04.12.2008 Windows XP Prof x64 Edition Intel Xeon W3520 @ 2.67 GHz 8 GB RAM, Nvidia Quadro FX 1800 CATIA V5R19
|
erstellt am: 04. Feb. 2009 11:11 <-- editieren / zitieren --> Unities abgeben:
Ok das "Object" ändert leider nichts, ich habe es gerade getestet. Linien, Punkte, Fillets, Joins usw. kann ich leider weiterhin nicht auslesen. Solids, Geosets, Skizzen und Parameter haben ja auch schon vorher funktioniert. [Diese Nachricht wurde von AndiKrue am 04. Feb. 2009 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KaiWa Mitglied Techniker Maschinenbau
Beiträge: 201 Registriert: 27.05.2004
|
erstellt am: 04. Feb. 2009 21:23 <-- editieren / zitieren --> Unities abgeben: Nur für AndiKrue
da hier gerade über interne Namen diskutiert wird und wohl einige interesse an so einem Macro haben. ich würde mir gerne ein macro Erstellen das folgendes tut. suche alle Parameter die ich selbst angelegt habe namen sind total verschieden. und nimm den internen Parameternamen und setzte ihn dem Parameternamen gleich, oder andersrum das Macro sollte in Zeichungen, Parts und Produkten funktionieren. über vorschläge bin ich jederzeit offen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |