Autor
|
Thema: Send To - Befehl (6519 mal gelesen)
|
Studdy Mitglied
Beiträge: 9 Registriert: 23.05.2006
|
erstellt am: 24. Mai. 2006 11:57 <-- editieren / zitieren --> Unities abgeben:
Habe noch eine Frage. Hat hier jemand schon mal mit dem SendTo Befehl gearbeitet. ich möchte lediglich eine bestehende Zeichnung über ein Makro in einem anderem Verzeichnis speichern. Um die alten verknüpfungen zu löschen und das ganze in einem neuen Ordner zu legen um diesen dann in EDM anzulegen benötige ich den SendTo Befehl. Danke für eure Hilfe! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
serrano Mitglied Student
Beiträge: 27 Registriert: 06.12.2005
|
erstellt am: 26. Mai. 2006 12:52 <-- editieren / zitieren --> Unities abgeben: Nur für Studdy
Hi, Villeicht kann ich dir ein bisschen helfen. Um den SendTo-Befehl zu automatisieren brauchst du eine "CATIA-PPR xPDM Gateway 1 Product" lizens. Ich habe ein Code geschrieben der villeicht dir eine Ahnung gibt wie man den SendTo Befelh benutzt. Damit kannst deine Zeichnung in einem anderen Verzeichnis speichern. Sub CATMain() CATIA.DisplayFileAlerts = True Path = CATIA.ActiveDocument.Path Name = CATIA.ActiveDocument.Name initial = Path & "\" & Name Set Folder = CATIA.FileSystem.CreateFolder("oTemp") oFolder = Path & "\oTemp" Set Send = CATIA.CreateSendTo() Send.SetInitialFile (initial) Send.SetDirectoryFile (oFolder) Send.Run End Sub ------------------ mfg, serrano Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Catrin Moderator Ingenieurin Maschinenbau/Informatik
Beiträge: 1928 Registriert: 12.12.2000 HP ZBook 15 Windows 7 / V5R24
|
erstellt am: 29. Mai. 2006 08:06 <-- editieren / zitieren --> Unities abgeben: Nur für Studdy
Zitat: Original erstellt von serrano: Hi,Um den SendTo-Befehl zu automatisieren brauchst du eine "CATIA-PPR xPDM Gateway 1 Product" lizens.
Abkuerzung fuer diese Lizenz: PX1 (falls Du die brauchst, um beim Haendler Deines Vertrauens nachzufragen Gruess Catrin ------------------ CATIS GmbH 38444 Wolfsburg catrin.eger@catis.de www.catis.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Studdy Mitglied
Beiträge: 9 Registriert: 23.05.2006
|
erstellt am: 30. Mai. 2006 07:52 <-- editieren / zitieren --> Unities abgeben:
Danke sehr.... Funktioniert fast einwandfrei.... Habe leider noch das Problem, dass zwei Parts aus dem Product nicht mitgesendet werden. Wissen Sie was da die Ursache sein könnte? Und schön wäre auch, wenn die Ordnerstruktur beibehalten werden könnten. Das funktioniert beim manuellen SendTo indem ich das Häkchen anklicke.... Nur im Makro noch nicht... Für weitere Hilfe wäre ich sehr dankbar. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
shorty10 Mitglied Konstrukteur, Masch. Bau
Beiträge: 16 Registriert: 05.05.2006
|
erstellt am: 20. Jun. 2006 07:11 <-- editieren / zitieren --> Unities abgeben: Nur für Studdy
Hallo serrano. Du hast ja über den Befehl "CATIA.FileSystem.CreateFolder" einen neuen Ordner erstellt. Gibt es auch einen Befehl zum Ordner löschen ? Ich programmiere gerade ein Makro mit neuer Ordner erstellung, allerdings soll bei Benutzerabbruch der Ordner wieder gelöscht werden. Schönen Dank und viele Grüße, shorty Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
uhde Mitglied
Beiträge: 46 Registriert: 20.04.2005
|
erstellt am: 23. Jun. 2006 10:39 <-- editieren / zitieren --> Unities abgeben: Nur für Studdy
|
serrano Mitglied Student
Beiträge: 27 Registriert: 06.12.2005
|
erstellt am: 23. Jun. 2006 12:58 <-- editieren / zitieren --> Unities abgeben: Nur für Studdy
|
InFlames Mitglied techn. Productdesigner
Beiträge: 72 Registriert: 22.09.2014 Windows 7 Professional Catia V5R26
|
erstellt am: 21. Jan. 2015 14:55 <-- editieren / zitieren --> Unities abgeben: Nur für Studdy
Hi Leute, ich versche auch gerade mir ein entsprechendes Makro zu schreiben mit einer SendTo-Funktion. Ich habe auch die richtige Lizenz und kann manuell SendTo ausführen. Ich erhalte jedoch immer bei den fetten Zeilen Fehlermeldungen. Woran liegt das? Ist bei V5R19 und V5R24 so. Sub CATMain() CATIA.DisplayFileAlerts = True Path = CATIA.ActiveDocument.Path Name = CATIA.ActiveDocument.Name initial = Path & "\" & Name Set Folder = CATIA.FileSystem.CreateFolder("oTemp") oFolder = Path & "\oTemp" Set Send = CATIA.CreateSendTo() Send.SetInitialFile (initial) Send.SetDirectoryFile (oFolder) Send.Run End Sub Ich hätte noch eine Frage und zwar wie kann ich in einem Assembly alle ReusedPattern finden?! Mit CATPrtSearch.Pattern finde ich alle Pattern in den einzelnen Parts aber nicht die Reused im Assembly. Ich habe es auf viele Arten versucht und das hier ist eine davon:
Sub CATMain() Set oDocument = CATIA.ActiveDocument Set oSel = oDocument.Selection oSel.Search "CATAsmSearch.Pattern, all" MsgBox oSel.Count End Sub Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 21. Jan. 2015 17:56 <-- editieren / zitieren --> Unities abgeben: Nur für Studdy
Servus Zum SendTo: Bei mir läuft der Code. Welche Fehlermeldung kommt? Gibt es das Verzeichnis? Ist das Dokument gespeichert? Zum Assembly-Pattern: Lässt sich IMHO per Makro nicht ansprechen. Gruß Bernd
------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
InFlames Mitglied techn. Productdesigner
Beiträge: 72 Registriert: 22.09.2014 Windows 7 Professional Catia V5R26
|
erstellt am: 23. Jan. 2015 07:53 <-- editieren / zitieren --> Unities abgeben: Nur für Studdy
Guten Morgen, ja natürlich ist die Baugruppe gespeichert! Der Code ist 1:1 so im Makro: Sub CATMain() CATIA.DisplayFileAlerts = True Path = CATIA.ActiveDocument.Path Name = CATIA.ActiveDocument.Name initial = Path & "\" & Name Set Folder = CATIA.FileSystem.CreateFolder("oTemp") oFolder = Path & "\oTemp" Set Send = CATIA.CreateSendTo() Send.SetInitialFile (initial) Send.SetDirectoryFile (oFolder) Send.Run End Sub Fehlermeldung kommt diese: Source: CATIASendToService Description: The methode SetInitialFile failed Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
InFlames Mitglied techn. Productdesigner
Beiträge: 72 Registriert: 22.09.2014 Windows 7 Professional Catia V5R26
|
erstellt am: 23. Jan. 2015 08:03 <-- editieren / zitieren --> Unities abgeben: Nur für Studdy
Also das Makro habe ich jetzt so geändert: Sub CATMain() CATIA.DisplayFileAlerts = True Path = CATIA.ActiveDocument.Path Name = CATIA.ActiveDocument.Name initial = Path & "\" & Name oFolder = Path & "\oTemp" CATIA.FileSystem.CreateFolder(oFolder) Set Send = CATIA.CreateSendTo() Send.SetInitialFile (initial) Send.SetDirectoryFile (oFolder) Send.Run End Sub Alle Pfade werden per MsgBox richtig ausgegeben und der Ordner oTemp wird auch im Projekt Ordner erstellt. Erst bei SendTo gibt es dann die obige Fehlermeldung?! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 23. Jan. 2015 08:20 <-- editieren / zitieren --> Unities abgeben: Nur für Studdy
|
InFlames Mitglied techn. Productdesigner
Beiträge: 72 Registriert: 22.09.2014 Windows 7 Professional Catia V5R26
|
erstellt am: 23. Jan. 2015 08:53 <-- editieren / zitieren --> Unities abgeben: Nur für Studdy
Das gibts doch nicht oO Ja ich habe die richtige Lizenz und ich kann das SendToDirectory manuell ausführen?! Beim makro kommt aber immer dieselbe Fehlermeldung... Und das unter V5R19 und V5R24?! Und mit dem MakroRecorder kann ich den vorgang nicht aufnehmen und somit auch keine Rückschlüsse ziehen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
InFlames Mitglied techn. Productdesigner
Beiträge: 72 Registriert: 22.09.2014 Windows 7 Professional Catia V5R26
|
erstellt am: 23. Jan. 2015 12:08 <-- editieren / zitieren --> Unities abgeben: Nur für Studdy
Ich brauch diesen blöden Befehl xD So habe ich das bisher in meinem Makro verbaut und immer bei SendTo steigts aus... 'Projektinformationen sammeln oFile = oDocument.Name oPath = oDocument.FullName oSplit = split(oPath, oFile) NewFolderPath = Left(oSplit(0), Len(oSplit(0)) -1) OldFolderPath = NewFolderPath & "_ALT" 'Product schließen / Daten verschieben / Product öffnen CATIA.FileSystem.CreateFolder(OldFolderPath) oDocument.save oDocument.close CATIA.FileSystem.CopyFolder NewFolderPath, OldFolderPath set oFS = CreateObject("Scripting.FileSystemObject") oFS.DeleteFolder(NewFolderPath) set ReOpen = CATIA.Documents.Open(OldFolderPath & "\" & oFile) 'Neuen Projektordner Anlegen / Product SendTo CATIA.FileSystem.CreateFolder(NewFolderPath) CATIA.DisplayFileAlerts = True Set Send = CATIA.CreateSendTo() Send.SetInitialFile (oPath) Send.SetDirectoryFile (NewFolderPath) Send.Run 'Alle Drawings und Excel-Tabellen in der selben Struktur nach NewFolderPath kopieren ... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
InFlames Mitglied techn. Productdesigner
Beiträge: 72 Registriert: 22.09.2014 Windows 7 Professional Catia V5R26
|
erstellt am: 23. Jan. 2015 14:01 <-- editieren / zitieren --> Unities abgeben: Nur für Studdy
Ok die PX1-Lizenz ist gerade besetzt. Ich habe geschaut ob ich das manuell machen kann und bin davon ausgegangen das ich dann die richtige lizenz habe, da ich den Befehl ja ausführen kann. Sehe ich das jetzt richtig, dass ich das sendto immer manuell machen kann (geht bei mir mit jeder Lizenz), aber per Makro das sendto nur mit der PX1-Lizenz nutzen kann?! Wo ist denn da die Logik? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 23. Jan. 2015 14:11 <-- editieren / zitieren --> Unities abgeben: Nur für Studdy
|
InFlames Mitglied techn. Productdesigner
Beiträge: 72 Registriert: 22.09.2014 Windows 7 Professional Catia V5R26
|
erstellt am: 23. Jan. 2015 16:59 <-- editieren / zitieren --> Unities abgeben: Nur für Studdy
Ok mit der Lizenz läufts super xD Wie bekomm ich es hin das die Struktur beibehalten wird? Dem iKeep muss ich doch irgendwas zuweisen oder? Set Send = CATIA.CreateSendTo() Send.SetInitialFile (OldFolderPath & "\" & oFile) Send.SetDirectoryFile (NewFolderPath) Send.KeepDirectory(iKeep) Send.Run
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 23. Jan. 2015 17:06 <-- editieren / zitieren --> Unities abgeben: Nur für Studdy
|
InFlames Mitglied techn. Productdesigner
Beiträge: 72 Registriert: 22.09.2014 Windows 7 Professional Catia V5R26
|
erstellt am: 23. Jan. 2015 17:30 <-- editieren / zitieren --> Unities abgeben: Nur für Studdy
Also wenn ich 0 einsetze kopiert er alles nur in einen Ordner. Wenn ich 1 einetze kopiert er garnichts und im Protokoll steht ebenfalls das keine Datei kopiert werden konnte... Sub CATMain() CATIA.DisplayFileAlerts = True Path = CATIA.ActiveDocument.Path Name = CATIA.ActiveDocument.Name initial = Path & "\" & Name Set Folder = CATIA.FileSystem.CreateFolder("oTemp") oFolder = Path & "\oTemp" Set Send = CATIA.CreateSendTo() Send.SetInitialFile (initial) Send.SetDirectoryFile (oFolder) Send.KeepDirectory(1) Send.Run End Sub Jetzt aber ein schönes Wochenende. Bis nächste woche [Diese Nachricht wurde von InFlames am 23. Jan. 2015 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |