Autor
|
Thema: ### Sicherungsverwaltung über VB Script ### (1868 mal gelesen)
|
Olaf Grunert Mitglied Application Specialist
Beiträge: 78 Registriert: 18.02.2002 CATIA-V5 R20 3D-VIA Composer 2013 64Bit
|
erstellt am: 20. Feb. 2004 09:57 <-- editieren / zitieren --> Unities abgeben:
Hallo Programmierer, ich suche für folgenden Vorgang ein Macro oder ein VB Script. Ich möchte mit der [Sicherungsverwaltung] einen kompletten Werkzeugaufbau(30.Produkte und 100.Parts) speichern, wobei zugleich die Produkte und Parts einen neuen Namen zugeteilt bekommen. z.B. Alter Name: 00000_00_000_X000_SC1.0000_030526_PD_Grundform.CATProduct Neuer Name: 01234_01_000_X000_SC1.0000_040220_PD_Grundform.CATProduct Vorstellen könnte ich mir, dass eine Eingabemaske erscheint, mit drei Feldern. 1 Feld: COM > 01234 2 Feld: Index > 01 3 Feld: Datum > 040220 (Jahr,Monat,Tag) Mit diesen Eingaben sollten dann Alle Produkte und Parts neu benannt werden. Der syntax ist die ersten 33 Zeichen gleich, bis auf die 10-12 Stelle (000), hier ist die Position festgelegt. Vielen Dank im Voraus. Gruss Olaf
------------------ Wenn es ein Geheimnis des Erfolges gibt, so ist es das: Den Standpunkt des anderen verstehen und die Dinge mit seinen Augen zu betrachten. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
louis Mitglied Geschäftsführer
Beiträge: 93 Registriert: 07.05.2001 V5 R19/R2014, WIN7, Visual Basic6.0 SP6
|
erstellt am: 20. Feb. 2004 12:31 <-- editieren / zitieren --> Unities abgeben: Nur für Olaf Grunert
Hallo Olaf, gerade wollte ich den gleichen Beitrag einstellen. Hab schon damit angefangen, aber immer wenn ich per Code ein CATProduct umbenenne kommt interaktiv in V5 eine Meldung, die man mit "OK" bestätigen muss. Also nix mit Automatik. Auch wenn ich ein Part per Code mit .saveas speichern möchte, kommt die Fehlermeldung, dass das Part schon besteht. Bestimmt ist einer der Kollegen schon weiter (und liest hoffentlich diese Zeilen) Informier mich bitte wenn Du was rauskriegts. Danke. Gruss Louis Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Olaf Grunert Mitglied Application Specialist
Beiträge: 78 Registriert: 18.02.2002
|
erstellt am: 20. Feb. 2004 12:39 <-- editieren / zitieren --> Unities abgeben:
Hallo Louis, kannst Du mir dein Skript zur Verfügung stellen, vielleicht kann ich es ja vollenden. Gruss Olaf ------------------ Wenn es ein Geheimnis des Erfolges gibt, so ist es das: Den Standpunkt des anderen verstehen und die Dinge mit seinen Augen zu betrachten. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Steffen Hohmann Mitglied
Beiträge: 446 Registriert: 06.03.2002
|
erstellt am: 20. Feb. 2004 13:28 <-- editieren / zitieren --> Unities abgeben: Nur für Olaf Grunert
Hallo Olaf, die Sicherungsverwaltung mittels eines Macros nachzubilden ist schon eine heiße Sache. Grundsätzlich muß man immer von innen nach außen speichern, d.h. erst die CATParts und dann das übergeordnete Produkt. Bei verschachtelten Produkten muß man erst die Struktur analysieren (...Product.Products.Item(x).Products.Item(y).Products.Item(z) usw.) Sollten noch externe Referenzen zwischen Parts existieren, so muß man zuerst das Referenzteil speichern und dann das abhängige Teil. Wenn dann noch das Referenzteil in einer anderen Baugruppe liegt: o je! Lieber nicht! Also meine Empfehlung: Finger weg! Sollten alle Eventualitäten nicht beachtet werden, so wird sicherlich die Baugruppe zerschossen. Gruss Steffen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gv Mitglied structural engineer
Beiträge: 12 Registriert: 28.03.2005
|
erstellt am: 06. Jun. 2005 23:19 <-- editieren / zitieren --> Unities abgeben: Nur für Olaf Grunert
Ganz richtig: heisse eisen. Wir haben ziemlich gute erfahrungen gemacht mit automatisiertem safemanagement. Wir benennen unsere parts und products nach den partnumbers und partnames (anstelle von nichtssagendem part1.catpart usw.). Desweiteren speichern wir subparts und subproducts in unterverzeichnissen ab, stellen auf die art und weisse also den stammbaum vom catia product auf festplatte nach. hier ist unser strickmuster: -recursiv ganz runter im baum und dann mit saveas's alle parts und products wieder hoch. -dann das ganze nochmal mit regulaeren save's, damit upgedatete x-referenzen ordentlich gespeichert werden -voila: ein komplettes save mit selbstgebildeten filenames in selbstgebildeten directories hier sind die probleme die dabei auftauchen: -viel glueck bei mkdir, save und saveas, wenn die filenames (incl. path) laenger sind als 250 characters (bei unserer netzwerkverzeichnisstrucktur geht das sehr schnell). das scheint nicht zu funktionieren. wir halten deshalb kuenstlich unsere verzeichnisstrukturen klein. -hier ist der killer: sobald man fuer ein subpart (z.b. 1.3.2.4 in der hierarchie) saveas in ein neues verzeichnis ausfuehrt, macht catia beim ALTEN product im alten verzeichnis save's, und zwar einschliesslich hoeherer ebenen (z.b. neue save's im alten verzeichnis von 1., 1.3., 1.3.2, und 1.3.2.4). da zeigen also parts im alten product auf parts im neu erstellten verzeichniss. wo hier saveas draufsteht (also erstellen einer neuen kopie), ist also keineswegs saveas drin (weil andere producte gespeichert werden, obwohl man das gar nicht will). ich glaube, die ordentliche loesung waere, wenn man das "independent saves" vom catia save manager via code nachbauen koennte. ist "allow independent saves" als parameter im Catia object verfuegbar? liebe gruesse, Gregor Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
TomK79 Mitglied Maschinenbauingenieur
Beiträge: 17 Registriert: 19.04.2005
|
erstellt am: 07. Jun. 2005 11:55 <-- editieren / zitieren --> Unities abgeben: Nur für Olaf Grunert
Hallo Olaf! Ich hab das Ganze folgendermaßen gelöst: VAR_pfad = "D:\Pfad\" '--- Angabe des Speicherorts Set productDocument1 = CATIA.ActiveDocument Set product1 = productDocument1.Product Datei = VAR_pfad & product1.PartNumber CATIA.ActiveDocument.SaveAs Datei Mit diesen 5 Zeilen speichere ich das oberste Product. Automatisch werden alle untergeorneten Parts/Products mitgespeichert. Der Dateiname ist jeweils die Produkt-/Partbezeichnung ("product1.PartNumber"). Ich hoffe, dass ich helfen konnte, Gruß TomK79 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|