FreeCAD kann Dateien ohne Pfad nicht mehr speichern

In diesem Forum Fragen und Diskussionen in Deutsch
Forum rules
Foren-Regeln und hilfreiche Informationen

WICHTIG: Bitte zuerst lesen, bevor Sie posten
Post Reply
rynn
Posts: 454
Joined: Tue Jul 31, 2018 7:00 am

FreeCAD kann Dateien ohne Pfad nicht mehr speichern

Post by rynn »

Wenn man eine Datei über Kommandozeilen ohne Pfadbestandteil öffnet z.B.

Code: Select all

freecad X.FCStd
oder (erstaunlicherweise) auch

Code: Select all

freecad ./X.FCStd
Kann Freecad diese Datei über Speichern nicht mehr speichern. Speichern unter… funktioniert noch. Enthält der Aufruf einen Pfadbestandteil anders als ./ funktioniert es.

Fehlermeldung ist:

Code: Select all

Traceback (most recent call last):
  File "<string>", line 1, in <module>
<class 'Base.FreeCADError'>: boost::filesystem::create_directories: Das Argument ist ungültig
Freecad ist:
OS: Debian GNU/Linux 11 (bullseye) (KDE/plasma)
Word size of FreeCAD: 64-bit
Version: 0.20.25739 +3 (Git)
Build type: Release
Branch: Meins
Hash: d0a57d7f189e6f4b94712e75f4fb0e33ccc4b26d
Python version: 3.9.2
Qt version: 5.15.2
Coin version: 4.0.0
OCC version: 7.5.1
Locale: German/Germany (de_DE)
User avatar
thomas-neemann
Veteran
Posts: 11800
Joined: Wed Jan 22, 2020 6:03 pm
Location: Osnabrück DE 🇩🇪
Contact:

Re: FreeCAD kann Dateien ohne Pfad nicht mehr speichern

Post by thomas-neemann »

rynn wrote: Sat Sep 18, 2021 6:39 pm
hier funktioniert es

OS: Ubuntu 20.04.1 LTS (XFCE/xubuntu)
Word size of FreeCAD: 64-bit
Version: 0.20.25645 (Git) AppImage
Build type: Release
Branch: master
Hash: 37d9757399b4c2ec30318eb88d7cd7c508246345
Python version: 3.9.7
Qt version: 5.12.9
Coin version: 4.0.0
OCC version: 7.5.2
Locale: German/Germany (de_DE)


1.png
1.png (22.02 KiB) Viewed 2376 times
Gruß Dipl.-Ing. (FH) Thomas Neemann

https://www.youtube.com/@thomasneemann5 ... ry=freecad
chrisb
Veteran
Posts: 53919
Joined: Tue Mar 17, 2015 9:14 am

Re: FreeCAD kann Dateien ohne Pfad nicht mehr speichern

Post by chrisb »

Auch unter macOS ist es kein Problem. Liegt die Datei womöglich auf einem Cloud- oder Netzlaufwerk. Da sind Probleme bekannt. Wie sehen die Berechtigungen der Datei und des Ordners aus?

OS: macOS 10.16
Word size of FreeCAD: 64-bit
Version: 0.20.25645 (Git)
Build type: Release
Branch: master
Hash: 37d9757399b4c2ec30318eb88d7cd7c508246345
Python version: 3.9.7
Qt version: 5.12.9
Coin version: 4.0.0
OCC version: 7.5.2
Locale: C/Default (C)
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
rynn
Posts: 454
Joined: Tue Jul 31, 2018 7:00 am

Re: FreeCAD kann Dateien ohne Pfad nicht mehr speichern

Post by rynn »

Eure Versionen sind wohl einfach zu alt.
Ursache ist vermutlich PR 4996 von vorgestern.
git commit 820e88f95b5c6d34da09d2152fc3aa3b268e7a95
[Core] (Partially?) Fix data loss on dir rename (#4996)

vermutlich diese Zeile:

Code: Select all

+    // In case some folders in the path do not exist
+    fs::create_directories(fs::path(filename).parent_path());
Hinweis: Das verwendet <boost/filesystem.hpp> und nicht C++17 filesystem.

Nachtrag:
Die Boost-Doku sagt:

Code: Select all

Returns: (empty() || begin() == —end()) ? path() : pp,
Die Funktion kann einen leeren Pfad zurückgeben, das wird nicht abgefangen.
Last edited by rynn on Sun Sep 19, 2021 7:27 pm, edited 2 times in total.
chrisb
Veteran
Posts: 53919
Joined: Tue Mar 17, 2015 9:14 am

Re: FreeCAD kann Dateien ohne Pfad nicht mehr speichern

Post by chrisb »

rynn wrote: Sat Sep 18, 2021 8:35 pm Eure Versionen sind wohl einfach zu alt.
Sehr gut möglich, morgen gibt es hoffentlich eine neue.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
wmayer
Founder
Posts: 20241
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: FreeCAD kann Dateien ohne Pfad nicht mehr speichern

Post by wmayer »

So wie es aussieht, darf der Pfadname weder leer, noch "." oder ".." sein.

Code: Select all

    // In case some folders in the path do not exist
    fs::path parent = fs::path(filename).parent_path();
    if (!parent.empty() && !parent.filename_is_dot() && !parent.filename_is_dot_dot())
        fs::create_directories(parent);
User avatar
bernd
Veteran
Posts: 12849
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: FreeCAD kann Dateien ohne Pfad nicht mehr speichern

Post by bernd »

rynn wrote: Sat Sep 18, 2021 8:35 pm ...
Commit: 820e88f95b5c6d34da09d2152fc3aa3b268e7a95
...
wenn du den commit hash in commit tags setzt wird ein link auf das github repo erstellt ...


so sieht es im editor aus:

Code: Select all

[commit]820e88f95b5c6d34da09d2152fc3aa3b268e7a95[/commit]

so dann im post:
git commit 820e88f95b5c6d34da09d2152fc3aa3b268e7a95

für gewöhnlich reichen 12 zeichen
git commit 820e88f95b5c
rynn
Posts: 454
Joined: Tue Jul 31, 2018 7:00 am

Re: FreeCAD kann Dateien ohne Pfad nicht mehr speichern

Post by rynn »

bernd wrote: Sun Sep 19, 2021 6:43 pm wenn du den commit hash in commit tags setzt wird ein link auf das github repo erstellt ...
Danke. fixed.
für gewöhnlich reichen 12 zeichen
git commit 820e88f95b5c
Ich weiß.
Post Reply