Autor
|
Thema: Root aktiv schalten..................... (1074 mal gelesen)
|
prosper Mitglied Dipl.-Ing. -- Methoden und Prozessentwicklung Catia V5
Beiträge: 86 Registriert: 05.05.2004
|
erstellt am: 01. Aug. 2006 21:56 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, mal wieder ein altes Thema... Wer hat es hinbekommen das Rootprodukt auf "Edit" zu setzen um C/P Operationen innerhalb einer Produktstruktur durchzuführen? Ohne StartCommand natürlich. Bin gespannt. Chris Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Timberwolve Mitglied
Beiträge: 233 Registriert: 21.07.2006
|
erstellt am: 02. Aug. 2006 18:59 <-- editieren / zitieren --> Unities abgeben: Nur für prosper
Geht nicht meins Wissens nach. Deklariere deine Selection einfach als Set Selection = ProductDocument.Selection. So funktionieren die C/P Operationen eigentlich ohen Probleme über die Produktstruktur. Hatte da nie Probs ------------------ Wenn alle Stricke reissen, nehm ich ein Drahtseil Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
prosper Mitglied Dipl.-Ing. -- Methoden und Prozessentwicklung Catia V5
Beiträge: 86 Registriert: 05.05.2004
|
erstellt am: 02. Aug. 2006 21:43 <-- editieren / zitieren --> Unities abgeben:
|
Lusilnie Mitglied
Beiträge: 1486 Registriert: 13.07.2005
|
erstellt am: 03. Aug. 2006 01:10 <-- editieren / zitieren --> Unities abgeben: Nur für prosper
Hallo prosper, jetzt muß ich allerdings sagen: "Habe ich da etwas falsch verstanden?" Also: Das Root-Product, für mich der oberste Knoten, ist doch immer über "CATIA.ActiveDocument.Prodcut" bzw. für Selektion ab diesem, über "CATIA.ActiveDocument.Selection" zu erreichen, ODER? Was der Anwender aktiv hat, innerhalb des aktiven Fensters, ist für das Macro ohne Bedeutung! Nur das aktive Fenster ist von Belang. 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 |
Augustiner Mitglied Konstrukteur
Beiträge: 188 Registriert: 02.12.2005 HP Workstation Windows XP Professional Visual Studio 2005 Professional CATIA V5 R14SP5 & R17SP3
|
erstellt am: 03. Aug. 2006 07:23 <-- editieren / zitieren --> Unities abgeben: Nur für prosper
|
Timberwolve Mitglied
Beiträge: 233 Registriert: 21.07.2006
|
erstellt am: 03. Aug. 2006 08:32 <-- editieren / zitieren --> Unities abgeben: Nur für prosper
@ Augustiner : das sind Copy/Paste Operationen so wie ich das verstanden habe :-) Also bei Selektionen die du kopieren und einfügen willst ist es nicht von belang was im moment aktiv ist. Es läuft ja folgendermaßen ab: 1. Selektion der Elemente die du kopieren willst. 2. kopier mit Selektion.Copy 3. Danach machst du die Selektion wieder frei mit Clear, da die Elemente zum kopieren ja bereits im Zwischenspeicher liegen. 4. Das ZielPart oder Set in die Selektion mit Add. je nach dem was ebene kopiert wurde. 5. Selektion.Paste(Special) wie gewünscht. dann werden alle elemente in das bei Punkt 4 selektierte Ziel eingefügt. Es ist also nicht von relevanz was auf dem Bildschirm als Aktiv dargestellt wird weil das Ziel im Script sowieso deklariert werden muss. Nun alles klar?? ------------------ Wenn alle Stricke reissen, nehm ich ein Drahtseil Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
prosper Mitglied Dipl.-Ing. -- Methoden und Prozessentwicklung Catia V5
Beiträge: 86 Registriert: 05.05.2004
|
erstellt am: 03. Aug. 2006 13:28 <-- editieren / zitieren --> Unities abgeben:
Hallo, @Timberwolve: Danke, und so mache ich es ja auch. Noch einmal (siehe Bild): Ich habe eine Produktstruktur offen und ein Part (hier Part2) oder ein Product ist aktiv und möchte ein importlink zwischen Part1 und Part10 per Makro erzeugen. Das funktionniert nicht, da kommt die meldung "Copy/Paste Operation nit allowed" oder sowas ganz einfach, weil mein Product40 nicht aktiv ist. Wenn ich das Product40 auf edit setze und das Makro starte funktionniert es problemlos. Und maine Frage ist "Hat jemand eine Idee wie mann den Product40 per Makro aktiv schalten kann?" Ich suche schon ewig und habe es noch nie geschaft. Danke Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
prosper Mitglied Dipl.-Ing. -- Methoden und Prozessentwicklung Catia V5
Beiträge: 86 Registriert: 05.05.2004
|
erstellt am: 03. Aug. 2006 13:41 <-- editieren / zitieren --> Unities abgeben:
Servus zusammen, anbei eine Produktstruktur und hier ein Skript. Nichts besseres als ein Beispiel. Sub CATMain() 'Part2 aktiv schalten und Makro laufen lassen -> geht nicht 'Root aktiv schalten und Makro laufen lassen -> geht Set osel = CATIA.ActiveDocument.Selection ReDim afilter(0) afilter(0) = "Body" sta = osel.SelectElement(afilter, "Select Body_to_copy in Part1", False) Set obody = osel.Item(1).Value osel.EndSelectElement osel.Clear afilter(0) = "Part" sta = osel.SelectElement(afilter, "Select Part10", False) Set oPart = osel.Item(1).Value osel.EndSelectElement osel.Clear osel.Add obody osel.Copy osel.Clear osel.Add oPart osel.PasteSpecial "CATPrtResult" End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |