Autor
|
Thema: Part Im Produkt Selektieren (1277 mal gelesen)
|
akrenz Mitglied CAD-Konstrukteur
Beiträge: 15 Registriert: 27.12.2006
|
erstellt am: 12. Jan. 2007 18:23 <-- editieren / zitieren --> Unities abgeben:
Hallo an Alle, da ich ziemlich neu in der Makro umgebung bin hänge ich an einem Wahrscheinlich relativ kleinem Problem..... Ich möchte in einem Produkt ein Makro nur ein Bestimmtes Part (das in dem Produkt vorhanden ist) anwenden über eine User Selction habe ich das bisher nicht hinbekommen vielleicht kann mir ja jemand hierbei helfen. Mfg Akrenz Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lusilnie Mitglied
Beiträge: 1486 Registriert: 13.07.2005
|
erstellt am: 12. Jan. 2007 23:34 <-- editieren / zitieren --> Unities abgeben: Nur für akrenz
Hallo akrenz, ich hoffe, ich interpretiere Dich richtig! Wenn du Dich vom Part-Dokument "herunter hangelst", sollten die nachfolgenden Befehle des Macros nur darauf Anwendung finden. Du müsstest also so starten: Code: Dim partDoc As PartDocument Set partDoc = CATIA.Documents.Item("Das_ist_der_PartName.CATPart")Dim usedPart As Part Set usedPart = partDoc.Part ...
Allerdings kann es noch Probleme geben, wenn das Part nicht im "DesignMode" geladen ist. Doch dazu gibt es schon einige Beiträge im Forum, Du kannst also dazu die Such-Funktion bemühen! 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 |
akrenz Mitglied CAD-Konstrukteur
Beiträge: 15 Registriert: 27.12.2006
|
erstellt am: 15. Jan. 2007 09:17 <-- editieren / zitieren --> Unities abgeben:
Hallo Lusilnie und alle anderen, der Ansatz ist schon nicht schlecht aber ich habe noch eine Farge.... Kann ich das Set partDoc = CATIA.Documents.Item("Das_ist_der_PartName.CATPart") nicht über eine Variable oder UserSelction vornehmen?? Der Hintergrund ist das ich Makro auf verschiedene Parts im Product anwenden möchte... Vielen Dank für eure Hilfe..... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lusilnie Mitglied
Beiträge: 1486 Registriert: 13.07.2005
|
erstellt am: 15. Jan. 2007 20:56 <-- editieren / zitieren --> Unities abgeben: Nur für akrenz
|
akrenz Mitglied CAD-Konstrukteur
Beiträge: 15 Registriert: 27.12.2006
|
erstellt am: 16. Jan. 2007 19:06 <-- editieren / zitieren --> Unities abgeben:
Hallo Lusilnie und alle anderen.... Ich glaube ich bin echt zu ..... dafür habe jetzt den ganzen Tag dran Probiert und ich komme einfach nicht zurecht.... Kannst du oder Ihr mir vielleicht noch ein bischen unter die Arme greifen??? Das wäre echt nett Mfg AKrenz Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lusilnie Mitglied
Beiträge: 1486 Registriert: 13.07.2005
|
erstellt am: 16. Jan. 2007 20:43 <-- editieren / zitieren --> Unities abgeben: Nur für akrenz
Hallo akrenz, prinzipiell kann ich das schon, doch ich sperre mich dagegen, für andere zu programmieren! Also: Stell mal den Code rund um die Stelle, wo Du nicht weiter kommst, hier ein und beschreibe Dein Problem (Was hast Du. Was brauchst Du. Womit willst Du weitermachen...). Dann schau ich (oder ein anderer) mal, was falsch ist bzw. wie wir Dir weiterhelfen können. Aber: Du musst schon eine Vorleistung bringen! 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 |
akrenz Mitglied CAD-Konstrukteur
Beiträge: 15 Registriert: 27.12.2006
|
erstellt am: 17. Jan. 2007 16:07 <-- editieren / zitieren --> Unities abgeben:
Hallo Lusilnie und alle anderen Sorry wenn da wohl ein Missverständniss vorlag. Ich wollte ja nicht das mir jemand ein Makro schreibt ich wollte mich nur auf meinen vorherigen Beitrag beziehen mit der übergabe der Variablen.... Aber hier habe ich jetzt ein Auszug von meinem bisherigen Script und eine Fehlermeldung angehängt... Dim Usersel1 As Selection Set Usersel1 = CATIA.ActiveDocument.Selection Usersel1.Clear Dim E As AnyObjekt E = Usersel1.SelectElement2(Was, "Part waehlen", True) If E = "Normal" Then Dim partdocucemt1 As PartDocument Set partdocument1 = CATIA.Documents.Item(1) Dim part1 As Part Set part1 = partdocument1.Part ich Hoffe das mir hier jemand weiterhelfen kann.... Mfg Akrenz Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Proofin Mitglied Dpl.Ing
Beiträge: 208 Registriert: 24.11.2004
|
erstellt am: 17. Jan. 2007 16:22 <-- editieren / zitieren --> Unities abgeben: Nur für akrenz
Hi Akrenz, wenn ich das richtig verstanden hab willst du ein Part in deinem Product auswählen lassen. Dazu solltest du nach der Selektion auch die Werte deiner Selektion verwenden und nicht die aus der Catia Dokumentliste. Deshalb sollte dein Code so aus sehen: Dim Usersel1 As Selection Set Usersel1 = CATIA.ActiveDocument.Selection Dim Was(0) Was(0) = "Part" Dim part1 As Part Usersel1.Clear Dim E E = Usersel1.SelectElement2(Was, "Part waehlen", True) If E = "Normal" Then Set part1 = Usersel1.Item(1).Value End If Gruß Proofin [Diese Nachricht wurde von Proofin am 17. Jan. 2007 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
akrenz Mitglied CAD-Konstrukteur
Beiträge: 15 Registriert: 27.12.2006
|
erstellt am: 17. Jan. 2007 18:33 <-- editieren / zitieren --> Unities abgeben:
Hallo Nochmal erstmal vielen Dank für die Antwort.... aber ich bin wahrscheinlich nicht geeignet um ein Makro zu Schreiben. Jetzt habe dank eurer Hilfe die Selektion hinbekommen und stolpper schon wieder über das nächste Problem.... Wenn ich jetzt in meinem Selektiertem Part ein Element suchen lassen will dann sucht er trotzdem wieder in allen Parts die in dem Produkt geladen sind.... Hier mein Code: Dim Usersel1 As Selection Set Usersel1 = CATIA.ActiveDocument.Selection Dim Was(0) Was(0) = "Part" Dim part1 As Part Usersel1.Clear Dim E E = Usersel1.SelectElement2(Was, "Part waehlen", True) If E = "Normal" Then Set part1 = Usersel1.Item(1).Value Dim selection1 As selection Set selection1 = part1.Selection selection1.Search "Name=Material_Vector ,all" iaCount = selection1.Count Danke nochmal Mfg Akrenz
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lusilnie Mitglied
Beiträge: 1486 Registriert: 13.07.2005
|
erstellt am: 17. Jan. 2007 19:52 <-- editieren / zitieren --> Unities abgeben: Nur für akrenz
Hallo akrenz, mit dem Code ist es kein Problem, Dir zu helfen. Zuvor noch eine Info: Wenn ich mich recht entsinne, ist die "Selektion" bloß pro "Active_Document", also "Fenster", möglich. Um nun in Deiner Selektion zu suchen, musst Du im "Search" anstelle von "..,all" nur "..,sel" (am Ende!) einsetzen, dann sucht CATIA innerhalb der bestehenden Selektion. 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 |
akrenz Mitglied CAD-Konstrukteur
Beiträge: 15 Registriert: 27.12.2006
|
erstellt am: 18. Jan. 2007 09:58 <-- editieren / zitieren --> Unities abgeben:
|