| |
| KISTERS 3DViewStation: Effektiver Know-how-Schutz von sensiblen Produktdaten, eine Pressemitteilung
|
Autor
|
Thema: Aus dem Drawing heraus Parameter im Product abfragen (2059 mal gelesen)
|
cChris Mitglied Konstrukteur
Beiträge: 53 Registriert: 27.09.2010 CATIA V5 R19 Microsoft Windows XP; Professionalx64 Edition; Version 2003; SP 2; Intel Core2 Duo CPU E8600 3.33Ghz; 7.98Gb RAM CATScript
|
erstellt am: 14. Jan. 2011 16:20 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich hab mal wieder ein Problem. Bevor das Macro mit seiner eigentlichen Arbeit beginnt, müssen ein paar Abfragen gemacht werden. 1. Ist ein Dokument geöffnet? 2. ist ein Drawing geöffnet? 3. Ist im Parameter Textfeld "Bitte Parameter eingeben" angewählt? 4. Würden Products selektuiert? Abfrage ein und zwei habe ich im Macro untergebracht drei und vier leider noch nicht. Ich muss dazu sagen, dass ich das Macro aus dem Drawing heraus steueren möchte. Und daran hakt es auch. Im Klartext ich möchte aus dem Drawing heraus auf das Product zu greifen. Code:
Sub CATMain() 'Dokument geöffnet?******************************* If CATIA.Documents.Count = 0 Then Box = MsgBox("Es wurde kein aktives Dokument identifiziert" + Chr(10) + "Bitte oeffnen Sie zuerst ein Dokument und starten Sie dann das Makro erneut", vbInformation, "HINWEIS") Exit Sub End If
Dim oDocument As Document Set oDocument = CATIA.ActiveDocument
'Drawing geöffnet?******************************** If TypeName(oDocument) <> "DrawingDocument" Then Box = MsgBox("Dokument ist keine Drawing!" + Chr(10) + "Bitte oeffnen Sie zuerst ein Drawing - Dokument und starten Sie dann das Makro erneut", vbInformation, "ERROR") Exit Sub End If 'Parameter Textfeld prüfen**************************************
Vielen Dank im vorraus. ------------------ Mit freundlichen Grüßen, cChris Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 12005 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 14. Jan. 2011 16:32 <-- editieren / zitieren --> Unities abgeben: Nur für cChris
Servus Was willst du de mit dem Parameter Textfeld "Bitte Parameter eingeben"? Wenn du von der Drawing auf das Produkt greifen willst sollte es so gehen: - geeignete Ansicht "wählen" (nach Benennung?) - über DrawingViewGenerativeBehavior -> Document auf das Produkt greifen (Vorsicht bei Szenen, siehe Forensuche) - ist das Document ein CatProduct (könnte ja auch ein Part sein) Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cChris Mitglied Konstrukteur
Beiträge: 53 Registriert: 27.09.2010 CATIA V5 R19 Microsoft Windows XP; Professionalx64 Edition; Version 2003; SP 2; Intel Core2 Duo CPU E8600 3.33Ghz; 7.98Gb RAM CATScript
|
erstellt am: 17. Jan. 2011 07:44 <-- editieren / zitieren --> Unities abgeben:
Guten Morgen Bernd, erstmal Danke für deine schnelle Antwort. Ich will den Parameter Textfeld prüfen, ob dieser den Wert "Bitte Parameter eingeben" enthält. Sollte das der Fall sein, wird das Macro abgebrochen. Es wird aus dem Drawing heraus immer auf das Product zugegriffen. Mit der Vorgehensweise die Du mir beschreibst wird eine Zeichnung abgeleitet. Kann ich über diesen Weg auch den Parameter auslesen ? Nicht das es zu Missverständnissen kommt, ich möchte nur den Wert des Parameters - Parameter Textfeld, siehe Bild - auslesen ? ------------------ Mit freundlichen Grüßen, cChris Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DanielFr. Ehrenmitglied V.I.P. h.c. Manager
Beiträge: 2506 Registriert: 10.08.2005 HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3
|
erstellt am: 17. Jan. 2011 09:59 <-- editieren / zitieren --> Unities abgeben: Nur für cChris
Hallo Chris, ich verstehe leider nicht ganz was du machen willst. Eventuell ist es dir ja möglich deinen Ausgangszustand sowie dein Ziel in Worte zu fassen (nicht nur die Abfrage). Warum sollte eine Produkt selektiert sein? Soll der Anwender vor dem Start des Makro´s ein Product in der PreSelection haben? Soll von diesem vorselektierten Produkt ein Parameter in dein Textfeld eingefügt werden? Das halte ich für sehr gefährlich. Ist das falsche Produkt in der Vorselektion dann baust du einen Link zum falschen Produkt auf. Bernd beschreibt die die Vorgehensweise wie man eine Ansicht erzeugt sondern wie man sich von einer existierenden Ansicht auf das abgeleitete Objekt (in dem Fall ein Produkt) zurückhangelt. ------------------ MFG Daniel Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cChris Mitglied Konstrukteur
Beiträge: 53 Registriert: 27.09.2010 CATIA V5 R19 Microsoft Windows XP; Professionalx64 Edition; Version 2003; SP 2; Intel Core2 Duo CPU E8600 3.33Ghz; 7.98Gb RAM CATScript
|
erstellt am: 17. Jan. 2011 13:45 <-- editieren / zitieren --> Unities abgeben:
Hallo Daniel, Mein Ausgangszustand ist der, das ein Product geöffnet ist, dass mehrere Products enthält. Dann öffne ich das Drawing. Das Drawing ist leer und soll jetzt mit Information gefüttert werden. Aber bevor Information übermittelt werden, sollen erst noch ein paar Abfragen getätigt werden. Nach der Abfrage wird dann eine Zeichnung abgeleitet. Von dem Parameter Textfeld darf man sich nicht beirren lassen. Der Parameter könnte auch den Namen Parameter X haben. Dieser Parameter dient erstmal nur zur Kontrolle. Der Parameter muss vom Bediener manuell bearbeitet und steht der Wert des Parameter auf "Bitte Parameter eingeben" wurde der Parameter nicht geändert, was aber eine Bedingung ist. Der Parameter ist also eine Sicherheitsabfrage. Ist der Wert "Bitte Parameter eingaben" -> Macro abbrechen, jeder andere Wert hat zur Folge das, dass Macro weiterläuft. Zu den selektierten Products, man könnte alle Products auch per Macro anwählen, aber es ist der Wunsch, dass die Products von Hand selektiert werden. ------------------ Mit freundlichen Grüßen, cChris Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cChris Mitglied Konstrukteur
Beiträge: 53 Registriert: 27.09.2010 CATIA V5 R19 Microsoft Windows XP; Professionalx64 Edition; Version 2003; SP 2; Intel Core2 Duo CPU E8600 3.33Ghz; 7.98Gb RAM CATScript
|
erstellt am: 18. Jan. 2011 10:33 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich formuliere meine Frage etwas anderst. Ich möchte ein Macro in der Drawing Oberfläche starten, dass auf ein geöffnetes Product zugreift. Allerdings weiß ich den Befehl nicht, wie ich von der Drawing Oberfläche ins Product zugreife. Ich möchte eine Abfrage haben, ob ein Parameter true oder false ist. In meinem Fall wäre die Abfrage, hat der Parameter Textfeld den Wert „Bitte Parameter eingeben“ -> true/false So in der Art
Code: If TypeName(xxxxxx) <> "Bitte Parameter eingeben" ThenBox = MsgBox("Der Parameter Textfeld ist nicht zugewiesen." + Chr(10) + "Das Makro kann nicht ausgeführt werden und wird beendet!", vbInformation, "ERROR")
------------------ Mit freundlichen Grüßen, cChris Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Christian.O Mitglied Konstrukteur
Beiträge: 1212 Registriert: 17.07.2009
|
erstellt am: 18. Jan. 2011 10:42 <-- editieren / zitieren --> Unities abgeben: Nur für cChris
Servus, Zitat: Original erstellt von cChris: Ich möchte ein Macro in der Drawing Oberfläche starten, dass auf ein geöffnetes Product zugreift. Allerdings weiß ich den Befehl nicht, wie ich von der Drawing Oberfläche ins Product zugreife.
die Antwort bzw. Vorgehensweise hat dir Bernd ja schon beschrieben (siehe zeiter Beitrag)
------------------ Mit freundlichen Grüßen aus Tirol Christian Obholzer Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 12005 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 18. Jan. 2011 12:07 <-- editieren / zitieren --> Unities abgeben: Nur für cChris
Servus Das Document bekommst du ja über "DrawingViewGenerativeBehavior": Dann kannst den Parameter über: Code: set oParameter = ProductDocument.Product.Parameters.item("Parameter_Textfeld") MsgBox(oParameter.value)
Ansprechen/ausgebenGruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |