Autor
|
Thema: Abfrage ob Part in Product vorhanden ist? (999 mal gelesen)
|
Schlabba Mitglied
Beiträge: 16 Registriert: 10.06.2008
|
erstellt am: 14. Jul. 2008 17:53 <-- editieren / zitieren --> Unities abgeben:
Hallo V5ler, ich habe folgendes Problem. Ich möchte über ein Makro abfragen, ob sich ein Bauteil in einer Baugruppe befindet oder nicht. Ich habe versucht ein Makro aufzuzeichnen und es dann entsprechend abzuändern. Dabei dachte ich, dass ich das Bauteil suche, es in eine Gruppe stecke und dann die Anzahl der Bauteile in der Gruppe abfrage. Wenn die Anzahl größer Null ist muss das Bauteil vorhanden sein, wenn nicht, dann gibt es das Bauteil in der Baugruppe nicht. Für die Suchfunktion habe ich die Suchfunktion im CATIA aufgezeichnet und verändert.
Code:
Dim search as String search= InputBox ("Bitte geben Sie den Partnamen an.", "Part", search) Dim selection1 As Selection Set selection1 = productDocument1.Selection selection1.Search "Name='search',all"
Ich möchte gerne den Bauteilnamen als Variable einfügen. Hab deshalb dort einen String reingesetzt. Vielleciht lässt scih das später auch aus Excel auslesen. Aber erst mal muss ich das hier schaffen. Code: Dim NewGroup as Group NewGroup.AddExplicit selection1
Und dann die Abfrage ob das Teil gefunden wurde. Code: If NewGroup.CountExplicit > 0 Then MsgBox "Bauteil ist vorhanden!" Else MsgBox "Bauteil ist nicht vorhanden" End If
Ich habe schon mehrere Versuche gemacht, indem ich Bauteilnamen aus dem Product rauskopiert habe und als Variablennamen definert habe. Unglücklicherweise wird sowohl bei vorhandenem Bauteil als auch bei fehlendem Bauteil immer das angezeigt, dass das Bauteil vorhanden ist.
Hab schon die Hilfen und das Forum durchgewühlt, bin bis jetzt mit meinem sehr beschränkten Wissen noch auf keinen grünen Zweig gekommen.
Mfg Schlabba Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
K.Siebert Mitglied Tech Zeichner
Beiträge: 415 Registriert: 19.05.2007 Win XP Catia V5 R19 Catia V5 R24
|
erstellt am: 14. Jul. 2008 20:23 <-- editieren / zitieren --> Unities abgeben: Nur für Schlabba
Hallo Schlabba, möchtest du nur danach suchen und weiter nichts? Da hat CATIA selbst schon eine Suchfunktion. Wenn du über Makro suchen möchtest kuck mal hier . Ich selbst habe noch nicht in das Makro reingeschaut hört sich aber an als könntest du dieses als Vorlage verwenden.
------------------ Sei Schlau bleib Dumm !!?!! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
kalanja Mitglied Entwicklungsing.
Beiträge: 1239 Registriert: 29.10.2001
|
erstellt am: 15. Jul. 2008 09:13 <-- editieren / zitieren --> Unities abgeben: Nur für Schlabba
|
| Entwicklungsingenieur Leistungselektronik (m/w/d) | Creating the future together: Das ist der Leitgedanke der pro-beam Gruppe. Wir sind eines der weltweit führenden Unternehmen im Bereich der Elektronenstrahltechnologie und bewegen uns ? vom Schweißen bis zur Additiven Fertigung ? in einem komplexen technologischen Umfeld. Mit unseren Produkten und Dienstleistungen gestalten wir aktiv die Zukunft, ermöglichen sichere Flüge in den Weltraum, statten Millionen von Autos aus und sind Teil von spektakulären Großforschungsprojekten.... | Anzeige ansehen | Entwicklung |
|
Schlabba Mitglied
Beiträge: 16 Registriert: 10.06.2008
|
erstellt am: 15. Jul. 2008 11:02 <-- editieren / zitieren --> Unities abgeben:
Erst mal vielen Dank für die Hilfe. Ich habe es in der Zwischenzeit gelöst. Hab bei dem von K.Siebert erwähnten Makro etwas gespickt. Meine Abfrage sieht nun folgendermaßen aus: Code: Language="VBSCRIPT"Sub CATMain() Dim produkts As Products Dim produkt As Product Dim suche as String Set produkt = CATIA.ActiveDocument.Product suche = InputBox ("Bitte geben Sie den Partnamen an.", "Part", suche) anzahl=0 For A=1 To produkt.Products.Count If produkt.Products.Item(A).Name = suche Then anzahl = anzahl +1 Else anzahl = anzahl End If Next If anzahl > 0 then MsgBox "Bauteil ist in der Baugruppe vorhanden!" Else MsgBox "Bauteil ist nicht in der Baugruppe vorhanden!" End If End Sub
Sollte der Schnipsel noch dahingehend erweitert werden, dass die Daten aus Excel ausgelesen werden, wird das Ding wahrscheinlich ziemlich langsam. Aber so funktioniert es jetzt erst mal. Wenn ich jetzt den funktionierenden Code betrachte, fällt mir auf, dass das eigentlich kein Hexenwerk war das Ding zu machen. Manchmal steht man halt einfach da wie der Ochs vor der Apotheke. Nochmals vielen Dank. Gruß Schlabba Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|