Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Relativer Speicherort

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:  Relativer Speicherort (2508 mal gelesen)
Jannis1988
Mitglied



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

Beiträge: 27
Registriert: 19.07.2012

Intel(R) Xeon(R) CPU
X5575 @ 3.07 GHz
15.9 GB RAM
Catia B19SP06HF57

erstellt am: 24. Jul. 2012 08:09    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 zusammen,
Meine Frage wäre wie man einen relativen Pfad zum Speichern erstellen kann?
D.h. Ich will mittels eines Makros ein product speichern, welches im selben Ordner beinhaltet ist wie das Kernproduct.
(Kernproduct hat eine dynamische Position)

Ist hierbei auch eine Hochzählung möglich - es werden also mehrere products erzeugt und sollen einen fortlaufenden Namen besitzen?
Vielen Dank schonmal im Vorraus!
Grüße Jannis

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

DanielFr.
Moderator
Manager


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

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 24. Jul. 2012 09:36    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 Jannis1988 10 Unities + Antwort hilfreich

Hallo,

naja da gibt es mehrer Möglichkeiten. Man könnte sich zum Beispiel den physikalischen Pfad des Root-Produkts (Kernprodukts) auslesen und dann speichern. Die Funktion .SaveAs unterstützt hierbei die Eingabe eines Dateinamens. Ergo könnte man mittels des FileSystemObjekts den Ordner zunächst nach Dateien durchsuchen die diesen Dateinamen bereits besitzen, diese in eine Collection nehmen und dann mittels .Count + 1 den Zähler setzen. Dieser wird im Anschluss an den Speichernamen angehängt (append).

Du kannst zunächst einmal eine neues VBA-Projekt erzeugen und dann mit aktiven Makro-Recorder eine Speicheroperation durchführen. Denn, von CATIA erzeugten Code, kannst du dann im VBA-Editor mittels der Funktion Step-byStep Debugging analysieren. Damit erhälst du das Basiswissen zur Speicherung von CATIA Dateien.

------------------
MFG Daniel

Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...)

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

Jannis1988
Mitglied



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

Beiträge: 27
Registriert: 19.07.2012

Intel(R) Xeon(R) CPU
X5575 @ 3.07 GHz
15.9 GB RAM
Catia B19SP06HF57

erstellt am: 24. Jul. 2012 11:00    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 Daniel  , vielen Dank für deine schnelle Antwort.
Ich habe zur Ermittlung des aktuellen Pfads eine Funktion erstellt:

--------------------
Funktion Pfad:


Function dbPath() As String
On Error GoTo Err_dbPath

dbPath = Left(CurrentDb.Name, Len(CurrentDb.Name) - Len(Dir(CurrentDb.Name)))

Exit_dbPath:
    Exit Function

Err_dbPath:
    MsgBox Err.Description
    Resume Exit_dbPath

End Function

--------------------

Diese binde ich in meiner Main ein:
(Auszug)

--------------------

Dim strFileName As String
        strFileName = dbPath() & "test"
       
        productDocument1.SaveAs strFileName
        productDocument1.Close

--------------------

Leider bekomme ich immer wieder diesen Fehler:

File text.CATProduct
The directory does not exist or it cannot be accessed.

Wo liegt hierbei das Problem? Das Verzeichniss ist aufjedenfall schon zugänglich, da ich einen statischen Speicherversuch durchgeführt habe.

Danke
Jannis

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

DanielFr.
Moderator
Manager


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

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 24. Jul. 2012 12:00    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 Jannis1988 10 Unities + Antwort hilfreich

Hallo,

soweit ich das sehen kann übergibst du der Speicher-Funktion ja im Moment nur den Speichernamen des Produkts (Variable dbPath). Woher soll das Script den wissen in welchen physikalischen Pfad es die Datei ablegen soll.

Wenn du eine Datei öffnest und diese mit File -> Save speicherst dann popt das SaveAs Fenster aus in dem eine Benutzerinteraktion notwenidg ist (physikalischen Pfad auswählen).

D.h. konkret: Du musst folgende Funktion durchführen (nur Schema)

Start Funktion Zaehlen

    Suche in Ordner Dateinamen mit (xxx*)
    Verschiebe Sie in eine Kollektion
    Zähle die Anzahl den Einträge der Collection
    Zähle zur Anzahl 1 hinzu
    Übergebe den Wert im Type String

Ende der Funktion Zaehlen

Start Funktion Dateipfad

    Hole den Wert aus Zaehlen
    Lesen den Pfad des Kernprodukts (CurrentDb.FullPath)
    Lese den Dateiname (siehe deine Funktion) aber ohne Extension
    Setze den Speicherpfad = Pfad + "/" + Dateiname + "_" + Zaehlen & ".CATxxx"
    Übergebe den Wert im Type String

Ende der Funktion Dateipfad

------------------
MFG Daniel

Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...)

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

Jannis1988
Mitglied



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

Beiträge: 27
Registriert: 19.07.2012

Intel(R) Xeon(R) CPU
X5575 @ 3.07 GHz
15.9 GB RAM
Catia B19SP06HF57

erstellt am: 26. Jul. 2012 11:01    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 die Logik, hat funktioniert!

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