Autor
|
Thema: Problem mit SaveAs (2334 mal gelesen)
|
Timberwolve Mitglied
Beiträge: 233 Registriert: 21.07.2006
|
erstellt am: 04. Dez. 2007 16:12 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich hab mal wieder ein, diesmal wohl leider ein kompliziertes, Problem. Ich habe eine Produktstruktur, in der ich z.B. 2Parts habe. Part1 Part2 Part2 leite ich von Part1 vom Inhalt her ab. Wenn ich das ganze aktualisieren möchte über mein Makro soll folgendes Passieren. 1. Part2 aus Struktur löschen. 2. Part2 auf FestPlatte löschen 2. Part2 neu in Struktur erzeugen. 3. Part2 neu abspeichern Jetzt kommt der Haken. Es kann hier passieren das sich die PartNumber nicht verändert. Sprich Part2 heisst nun immernoch Part2. Wenn ich das neu erzeugte Part2 nun speichern will, geht das leider nicht. Kann ich das irgendwie umgehen? Die PartNumber kann ich nicht hochzählen lassen, also kein "_1" oder sowas in der Art. Vielleicht hat ja jemand ne Idee
Gruß Timber ------------------ Wenn alle Stricke reissen, nehm ich ein Drahtseil Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jens Hansen Mitglied Senior Consult
Beiträge: 1055 Registriert: 05.08.2000 Win7 CATIA V5 R19 VB.Net C#
|
erstellt am: 04. Dez. 2007 16:15 <-- editieren / zitieren --> Unities abgeben: Nur für Timberwolve
Hallo, mein Lösungsvorschlag wäre: 1. Partnumber von part2 auslesen und als Variable temp. sichern 2. Part2 löschen 3. Part2_neu neu erzeugen 4. Partnumber von Part2_neu mit temp. Variablen überschreiben SG Jens Hansen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Timberwolve Mitglied
Beiträge: 233 Registriert: 21.07.2006
|
erstellt am: 04. Dez. 2007 16:39 <-- editieren / zitieren --> Unities abgeben:
Hi, die PartNumber kann ich ja überschreiben, bzw. neu erzeugen. Das ist nicht mein Problem. Das Problem entsteht beim Speichern. Ich kann dann nicht das neue CATPart (neu per Makro erzeugt) nicht unter dem alten namen z.B. Part2.CATPart abspeichern, da steigt CATIA aus. ....Already loaded in Session.....Try another Name
Gruß Timber ------------------ Wenn alle Stricke reissen, nehm ich ein Drahtseil Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jens Hansen Mitglied Senior Consult
Beiträge: 1055 Registriert: 05.08.2000 Win7 CATIA V5 R19 VB.Net C#
|
erstellt am: 04. Dez. 2007 17:07 <-- editieren / zitieren --> Unities abgeben: Nur für Timberwolve
Stimmt .... die alte Partnumber steckt noch im Speicher. Kannst du nicht das produkt schließen und neu aufrufen? Dann sollte die Partnumber wieder frei sein. Alternative: Du schreibst du alte Partnumber vor dem Löschen um. Vielleicht klappt das ja. Viel Erfolg Jjens Hansen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Timberwolve Mitglied
Beiträge: 233 Registriert: 21.07.2006
|
erstellt am: 07. Dez. 2007 11:56 <-- editieren / zitieren --> Unities abgeben:
Hallo, das mit dem Umbenennen, wär noch ne Idee, aber ich befürchte das funkt nicht. Ich werds mal versuchen. Das Modell schliessen und neu aufmachen, kann ich leider nicht, das dauert bei den Modellen die ich verarbeiten muss einfach zu lang :-( Trotzdem danke für deine Mithilfe, sollte ich sich noch was ergeben, dann werd ich das aufjedenfall posten. Gruß Timber ------------------ Wenn alle Stricke reissen, nehm ich ein Drahtseil Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
kaeja Mitglied
Beiträge: 20 Registriert: 28.06.2012 CATIAV5R16, CATIAV5R19, WinXP
|
erstellt am: 23. Jul. 2012 09:56 <-- editieren / zitieren --> Unities abgeben: Nur für Timberwolve
Beim testen meines Makros für das Speichern eines Produktes als Part habe ich auch das Problem mit der vorhandenen Datei in der Session. Wenn ich CATIA neu starte und das Makro starte, läuft es problemlos durch. Wenn ich aber die gleiche Stp-datei erneut einlese, steigt er hier aus: Code: Activdocu.SaveAs FullpartName
Sobald ich alle offenen Fenster in CATIA schließe erhalte ich: Modifications on 123Name are still active because the 123Name is use in other windows Wie kann sicherstellen, dass alle Sessions in CATIA beendet sind und ich den gleichen Namen erneut verwenden kann? Danke und Gruß kaeja Hier noch mein Code:
Code: Sub CATMain() StP_Form.Show Dim documents1 As Documents Dim partDocument1 As Document Dim oBGProd As Product Dim oProd2Part Dim oAllCATPart Dim ActivePart Dim CATRel As Integer Dim PosString As Integer Dim Name As String Set documents1 = CATIA.Documents Set partDocument1 = documents1.Open(DateiNameStp) Set Activdocu = CATIA.ActiveDocument CATRel = CInt(Left(Right(Activdocu.Application.FullName, 29), 2)) PosString = InStr(1, Activdocu.Name, ".CATProduct") Name = Mid(Activdocu.Name, 1, PosString - 1) '----------CATPart aus Product If CATRel = 16 Then Dim MySel As Selection Set oAllCATPart = CATIA.ActiveDocument Set MySel = CATIA.ActiveDocument.Selection MySel.Add oAllCATPart.Product '.Products.Item(1) CATIA.RefreshDisplay = True CATIA.StartCommand "Generate CATPart from Product..." CATIA.RefreshDisplay = True Dim PauseTime, Start ', Finish, TotalTime PauseTime = 0.5 Start = Timer Do While Timer < Start + PauseTime DoEvents Loop CATIA.RefreshDisplay = True SendKeys "{Enter}", True Else Set oBGProd = Activdocu.Product Set oProd2Part = oBGProd.GetItem("DECProductToPart") oProd2Part.Run End If Activdocu.Close Set Activdocu = CATIA.ActiveDocument FullpartName = Replace(DateiNameStp, ".stp", ".CATPart") Activdocu.Product.PartNumber = Name CATIA.DisplayFileAlerts = False Activdocu.SaveAs FullpartName CATIA.DisplayFileAlerts = True End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Randle Mitglied CAD/PLM Consultant
Beiträge: 695 Registriert: 12.04.2003 Win10 x64 CATIA V5 R18, R19, R21, R27-29
|
erstellt am: 17. Aug. 2012 07:01 <-- editieren / zitieren --> Unities abgeben: Nur für Timberwolve
Hallo, was evtl. gehen "könnte" wäre, das du das Part2 umbenennst bevor du es aus der Struktur und von der Platte löscht. Gruß Randle ------------------ MfG Randle ! It's not a bug, it's a feature ! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RSchulz Moderator² Head of CAD, Content & Collaboration / IT-Manager
Beiträge: 5541 Registriert: 12.04.2007 @Work Lenovo P510 Xeon E5-1630v4 64GB DDR4 Quadro P2000 256GB PCIe SSD 512GB SSD SmarTeam V5-6 R2016 Sp04 CATIA V5-6 R2016 Sp05 E3.Series V2019 Altium Designer/Concord 19 Win 10 Pro x64
|
erstellt am: 17. Aug. 2012 08:08 <-- editieren / zitieren --> Unities abgeben: Nur für Timberwolve
|