Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Attribute Link auf Drawing Text

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Attribute Link auf Drawing Text (5004 mal gelesen)
Plechri
Mitglied


Sehen Sie sich das Profil von Plechri an!   Senden Sie eine Private Message an Plechri  Schreiben Sie einen Gästebucheintrag für Plechri

Beiträge: 5
Registriert: 19.12.2012

erstellt am: 19. Dez. 2012 09:59    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,
ich möchte folgendes über ein CATScript Makro realisieren: Wenn ich im Drafting Modul einen Zeichnungsrahmen über ein Makro einfüge, sollen Einträge aus einer auszuwählenden 3D Datei (Part oder Product) mit dem im Schriftfeld vorhandenen Text verlinkt werden (Attribute Link). Das Problem ist dabei, dass ich über SelectElement4 ein objekt der Klasse "Part" oder "Product" auswählen möchte (indem ich während der Ausführung des Makros in das 3D Fenster des Part oder Product wechsele und darin den Part oder Product Knoten mit der Maus auswähle) und mit dieser Auswahl auf die Metadaten des 3D Dokumentes (Product.PartName oder Product.UserRefProperties...) zugreifen will. Leider habe ich auch nach langer Recherche nicht herausgefunden, wie die Auflösung auf die Variablen lautet.
Der folgende Code soll die Problemstellung verdeutlichen. Er erwartet zunächst die Auswahl eines 3D Part oder Product. Nach der Auswahl generiert er einen Test "hallo", der dann aber mit der PartNumber des ausgewählten 3D Teiles überschrieben werden soll. Kann Mir jemand schreiben, wie ich auf die Daten zugreifen kann?

Sub CATMain()

Dim myText As DrawingText
Dim E As String
Dim PartDocument
Dim sel(1)
sel(0)="Parameter"
sel(1)="Part"
E=CATIA.ActiveDocument.Selection.SelectElement4(sel,"Select","Select",false,PartDocument)
Set myText=CATIA.ActiveDocument.Sheets.ActiveSheet.Views.ActiveView.Texts.Add("hallo",0,0)


MyText.InsertVariable 0,0 ,PartDocument.Selection.Item(1).PartNumber
End Sub


vielen Dank im Voraus

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Plechri
Mitglied


Sehen Sie sich das Profil von Plechri an!   Senden Sie eine Private Message an Plechri  Schreiben Sie einen Gästebucheintrag für Plechri

Beiträge: 5
Registriert: 19.12.2012

erstellt am: 15. Jan. 2013 08:07    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hat denn tatsächlich nieman eine Idee, oder habe ich nur das falsche Forum für meine Frage ausgewählt?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 15. Jan. 2013 08:21    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Plechri 10 Unities + Antwort hilfreich

Servus
Wäre es nicht einfacher, über die Methode "GenerativeBehavior" einer Ansicht auf das verlinkte CAD-Modell (AFAIR ein Product) zu kommen?
Oder leitest du auch die Einzelteilzeichnungen über die Baugruppe ab?

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Plechri
Mitglied


Sehen Sie sich das Profil von Plechri an!   Senden Sie eine Private Message an Plechri  Schreiben Sie einen Gästebucheintrag für Plechri

Beiträge: 5
Registriert: 19.12.2012

erstellt am: 17. Jan. 2013 08:25    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Bernd,
die Einzelteilzeichnungen leite ich nicht aus der Baugruppe ab. Ich werde es mal mit der Methode "GenerativeBehavior" versuchen - vielen Dank!
Trotzdem habe ich mich gewundert, dass ich auf alle Parameter eines CATPart problemlos einen Attribute Link erstellen kann, nur eben auf die Metadaten nicht.

Grüße,
Christian

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 17. Jan. 2013 08:53    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Plechri 10 Unities + Antwort hilfreich

Servus
Zu deinem vorherigen Code: was liefert dir das Objekt "PartDocument"  zurück? ggf könntest du dann über PartDocument.PartNumber bzw PartDocument.product.partnumber direkt zuzugreifen. (einfach mit dem Watch-Fenster die Selektion/Objekte untersuchen)

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

K.Siebert
Mitglied
Tech Zeichner


Sehen Sie sich das Profil von K.Siebert an!   Senden Sie eine Private Message an K.Siebert  Schreiben Sie einen Gästebucheintrag für K.Siebert

Beiträge: 415
Registriert: 19.05.2007

Win XP
Catia V5 R19
Catia V5 R24

erstellt am: 17. Jan. 2013 11:09    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Plechri 10 Unities + Antwort hilfreich

Hallo,
hier mal eine kleiner Beitrag.
So konnte ich das Problem lösten.

------------------
Sei Schlau bleib Dumm !!?!!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Plechri
Mitglied


Sehen Sie sich das Profil von Plechri an!   Senden Sie eine Private Message an Plechri  Schreiben Sie einen Gästebucheintrag für Plechri

Beiträge: 5
Registriert: 19.12.2012

erstellt am: 17. Jan. 2013 12:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Der Hinweits mit dem Watch Fenster ist sehr interessant. Bisher habe ich nur mit dem internen CATIA Makro Editor gearbeitet. Der VBA Editor gibt mir eine Fehrermeldung für die Methode SelectElement4 heraus, obwohl ich diese bei der Eingabe direkt aus einem Dropdown Menü auswählen konnte. Muss ich ggf irgendwelche Einstellungen am VBA Editor ändern?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 17. Jan. 2013 12:34    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Plechri 10 Unities + Antwort hilfreich

Servus
Im VBA musst du eine Sektion als Objekt deklarieren. Siehe auch hier.

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Plechri
Mitglied


Sehen Sie sich das Profil von Plechri an!   Senden Sie eine Private Message an Plechri  Schreiben Sie einen Gästebucheintrag für Plechri

Beiträge: 5
Registriert: 19.12.2012

erstellt am: 17. Jan. 2013 14:46    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Super, jetzt Funktioniert es!!!

Die Variable PartDocument ist sehr komplex, aber mit

PartDocument.Selection.Item(1)

konnte ich mich durch das Überwachungsfenster bis zu den Metadaten durchklicken. Die Code sieht jetzt folgendermaßen aus:

Sub CATMain()

Dim myText As DrawingText
Dim E As String
Dim PartDocument
Dim iSelection As Selection
Dim iSelectionObj As Object
Dim sel(1)
sel(0) = "Parameter"
sel(1) = "Part"
Set iSelection = CATIA.ActiveDocument.Selection
Set iSelectionObj = iSelection
E = iSelectionObj.SelectElement4(sel, "Select", "Select", False, PartDocument)
Set myText = CATIA.ActiveDocument.Sheets.ActiveSheet.Views.ActiveView.Texts.Add("hallo", 0, 0)


myText.InsertVariable 0, 0, PartDocument.Selection.Item(1).Value.Parameters.Item(15)
End Sub

bleibt nur noch zu kläten, ob die Partnumber in einem CATPart normalerweise immer auf Item(15) liegt...

Bernd, tausend Dank für Deine wertvolle Unterstützung - dadurch bin ich in der Lage, mein Titleblock Makro so aufzubohren, dass sich das Schriftfeld nach Auswahl des 3D Teiles automatisch ausfüllt und Dank der Attribute Links immer auf dem aktuellen Stand ist.

Grüße, Christian

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz