Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Part komplett entladen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Part komplett entladen (437 / mal gelesen)
roccat
Mitglied
Konstrukteur


Sehen Sie sich das Profil von roccat an!   Senden Sie eine Private Message an roccat  Schreiben Sie einen Gästebucheintrag für roccat

Beiträge: 172
Registriert: 19.02.2010

WinXP/Win7
Office XP/2007
Catia V5 R16-R19, VB6.0, VBA, BASCOM-AVR
VB .Net 2010

erstellt am: 27. Jan. 2023 12:22    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,

folgende Situation:

Ich habe ein PartA welches geöffnet ist und CCP-Links von einem PartB besitzt, welches nicht geöffnet ist.

Nun möchte ich PartB über "open" oder "read" kurz dazu laden, um die Links upzudaten, und dann wieder schließen.

Allerdings funktioniert das nur einmal, da dass PartB auch nach einem close im Speicher bleibt.

Wie bekomme ich das PartB aus dem Speicher oder gibt es eine andere Möglichkeit die Links im PartA zu aktualisieren?

Danke

mfG
Mario

------------------
Wenn das die Lösung sein soll,
will ich mein Problem zurück !!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Randle
Mitglied
CAD/PLM Consultant


Sehen Sie sich das Profil von Randle an!   Senden Sie eine Private Message an Randle  Schreiben Sie einen Gästebucheintrag für Randle

Beiträge: 695
Registriert: 12.04.2003

Win10 x64
CATIA V5 R18, R19, R21, R27-29

erstellt am: 27. Jan. 2023 13:08    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für roccat 10 Unities + Antwort hilfreich

Hallo,

was meinst du mit ...

Zitat:
Allerdings funktioniert das nur einmal

Was passiert denn dann, bzw. was geht dann nicht mehr?
Wie sieht denn dein Code bislang aus?

Generell ist mir, außer CATIA neu zu starten, keine Möglichkeit bekannt ein einmal in CATIA geladenes Dokument (open/read) wieder aus der Document Collection rauszubekommen.

Gruß Randle

------------------
Wer für nichts steht, fällt für alles!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

roccat
Mitglied
Konstrukteur


Sehen Sie sich das Profil von roccat an!   Senden Sie eine Private Message an roccat  Schreiben Sie einen Gästebucheintrag für roccat

Beiträge: 172
Registriert: 19.02.2010

WinXP/Win7
Office XP/2007
Catia V5 R16-R19, VB6.0, VBA, BASCOM-AVR
VB .Net 2010

erstellt am: 27. Jan. 2023 13:44    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Fehler.PNG

 
Hallo Randle,

danke für deine Antwort.

Na dann kommt die Meldung dass das Part bereits geladen ist und aktualisiert dann nicht mehr, weil der alte Stand noch im Speicher ist. (siehe Anhang)
Achso, das PartB wird außerhalb der aktuellen CATIA-Sitzung zuvor überschrieben. Daher will ich das immer wieder mal dazu laden und aktualisieren.

Der Code ist nicht weiter spektakulär, mir geht es eher um die Verfahrensweise ob es überhaupt eine Möglichkeit gibt das PartB aus dem Speicher zu bekommen.

Hier mal die Unterfunktion:

Code:

Function ReplaceCam(i As Integer)

Dim MyDocuments    As Documents
Dim MyDocument      As Document
Dim MyPart          As Part

Dim oFSO            As Object
Dim isTrue          As Boolean
Dim MyUrl          As String

'Ordner Check/Anlegen
Set oFSO = CreateObject("Scripting.FileSystemObject")
If oFSO.FolderExists(mStart.sCamPath) = False Then
    oFSO.CreateFolder mStart.sCamPath
End If

Set oFSO = Nothing

'Download
MyUrl = mStart.sLinks(i)
isTrue = DownloadFile(MyUrl, mStart.sCamPath & mStart.sCamFile)

'Read and close
Set MyDocuments = CATIA.Documents
Set MyDocument = MyDocuments.Read(mStart.sCamPath & mStart.sCamFile)
MyDocument.Save
MyDocument.Close

'Update
Set MyDocument = CATIA.ActiveDocument
Set MyPart = MyDocument.Part
MyPart.Update

End Function


Danke

mfG
Mario


------------------
Wenn das die Lösung sein soll,
will ich mein Problem zurück !!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Randle
Mitglied
CAD/PLM Consultant


Sehen Sie sich das Profil von Randle an!   Senden Sie eine Private Message an Randle  Schreiben Sie einen Gästebucheintrag für Randle

Beiträge: 695
Registriert: 12.04.2003

Win10 x64
CATIA V5 R18, R19, R21, R27-29

erstellt am: 27. Jan. 2023 14:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für roccat 10 Unities + Antwort hilfreich

Hallo,

ok. Also das erneute Laden könntest du verhindern in dem du zuvor prüfst ob das Dokument bereits geladen ist.

Das hier:

Code:

'Read and close
Set MyDocuments = CATIA.Documents
Set MyDocument = MyDocuments.Read(mStart.sCamPath & mStart.sCamFile)
MyDocument.Save '<--- ergibt keinen Sinn wenn das Document nur gelesen wird!
MyDocument.Close

ergibt keinen Sinn wenn das Document nur gelesen wird (MyDocuments.Read)

Wenn das Quellpart aber außerhalb der Sitzung verändert wird, so ist das natürlich ein Problem. Da wäre (aus der Ferne!) die Frage ob das methodisch so ganz "sauber" ist (Wer oder was überschreibt das?). Da fällt mir so auf die Schnelle auch keine Lösung ein.

Gruß Randle

------------------
Wer für nichts steht, fällt für alles!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

roccat
Mitglied
Konstrukteur


Sehen Sie sich das Profil von roccat an!   Senden Sie eine Private Message an roccat  Schreiben Sie einen Gästebucheintrag für roccat

Beiträge: 172
Registriert: 19.02.2010

WinXP/Win7
Office XP/2007
Catia V5 R16-R19, VB6.0, VBA, BASCOM-AVR
VB .Net 2010

erstellt am: 27. Jan. 2023 18:06    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Danke für deine Antwort.

Zitat:

MyDocument.Save '<--- ergibt keinen Sinn wenn das Document nur gelesen wird!

Da hast du natürlich Recht. Das war auch nur ein Versuch. Da manchmal Parts alleine durchs laden "modified" werden. Hätte sein können das der Status das saubere entladen verhindert. Daher nur mal ein Test das PartB nochmal auf Status "saved" zu stellen.

Zitat:

ok. Also das erneute Laden könntest du verhindern in dem du zuvor prüfst ob das Dokument bereits geladen ist.

Das wäre kein Problem aber das hilft mir nicht. Da ich ja neu laden will, dazu muss aber der alte Stand aus dem Speicher.

Zitat:

Da wäre (aus der Ferne!) die Frage ob das methodisch so ganz "sauber" ist (Wer oder was überschreibt das?).


Das kann (darf?) ich schlecht in zwei Sätzen erklären... Funktioniert aber OEM-weit.

zum Thema:

Eine Lösung gibt es schon, bisher hatte ich das Entladen wie folgt gemacht:

-PartA ist geladen, PartB ist nicht geladen
-neues Product im neuen Fenster anlegen
-PartB als existing component einfügen
-PartA update
-PartB über CATIA.Startcommands unloaden
-neues Product ohne speichern schließen
-PartB ist aus dem Speicher

Ich hatte gehofft es gibt eine schönere Lösung.

trotzdem Danke

mfG
Mario

------------------
Wenn das die Lösung sein soll,
will ich mein Problem zurück !!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz