Export von CAD-Zeichnungen (*.svg) und umwandeln selbiger mit Inkscape in *.plt [gelöst]

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

WICHTIG: Bitte zuerst lesen, bevor Sie posten
chrisond
Posts: 15
Joined: Tue Jan 29, 2019 4:11 pm

Export von CAD-Zeichnungen (*.svg) und umwandeln selbiger mit Inkscape in *.plt [gelöst]

Postby chrisond » Sat Mar 02, 2019 2:00 pm

Liebe Gemeinde,),

ein Dateiformatproblem treibt mich um.
Ich habe recht einfache CAD-Zeichnungen in der Drawing-Workbench erstellt. Extrudierte Skteches (aus Partdesign ) wurden in der Draft mit Maßen versehen und zuletzt in Drawing als Vektorgrafiken (svg) gespeichert.
Die Zeichnungen sind für Schneideplotter gedacht, die - leider - proprietäre plt-Dateien verlangen. Im Forum habe ich erfahren, dass eine Umwandlung der svg in plt am sichersten mit Inkscape zu bewerkstelligen ist. Leider bekomme ich beim Speichern im plt-Format folgende Fehlerausgabe:

Resources/lib/python2.7/site-packages/sk1libs/filters/__init__.py", line 212, in __call__
module.save(document, file, filename, options)
File "/Applications/Inkscape.app/Contents/Resources/lib/python2.7/site-packages/sk1libs/filters/export/pltsaver.py", line 205, in save
saver.SaveDocument(document)
File "/Applications/Inkscape.app/Contents/Resources/lib/python2.7/site-packages/sk1libs/filters/export/pltsaver.py", line 199, in SaveDocument
self.SaveLayers(doc.Layers())
File "/Applications/Inkscape.app/Contents/Resources/lib/python2.7/site-packages/sk1libs/filters/export/pltsaver.py", line 184, in SaveLayers
self.SaveObjects(layer.GetObjects())
File "/Applications/Inkscape.app/Contents/Resources/lib/python2.7/site-packages/sk1libs/filters/export/pltsaver.py", line 174, in SaveObjects
self.SaveObjects(object.GetObjects())
File "/Applications/Inkscape.app/Contents/Resources/lib/python2.7/site-packages/sk1libs/filters/export/pltsaver.py", line 174, in SaveObjects
self.SaveObjects(object.GetObjects())
File "/Applications/Inkscape.app/Contents/Resources/lib/python2.7/site-packages/sk1libs/filters/export/pltsaver.py", line 174, in SaveObjects
self.SaveObjects(object.GetObjects())
File "/Applications/Inkscape.app/Contents/Resources/lib/python2.7/site-packages/sk1libs/filters/export/pltsaver.py", line 179, in SaveObjects
self.PolyBezier(obj.Paths(), obj.Properties())
AttributeError: 'NoneType' object has no attribute 'Paths'

Sagt das irgendjemandem etwas? Die letzte Zeile lautet: "AttributeError: 'NoneType' object has no attribute 'Paths'"
Was bedeutet das? Welcher Pfad? Welches Attribut?

Die Vektorgrafiken werden übrigens im Browser (Tor, Firefox) und in Inkscape korrekt ausgegeben.

Grüße an alle, aber insbesondere an die Liebhaber der python-Konsole!!!

c/o
Last edited by chrisond on Sun Mar 10, 2019 12:39 pm, edited 2 times in total.
reox
Posts: 684
Joined: Sat Aug 13, 2016 10:06 am
Contact:

Re: Export von CAD-Zeichnungen (*.svg) und umwandeln selbiger mit Inkscape in *.plt

Postby reox » Sat Mar 02, 2019 2:17 pm

chrisond wrote:
Sat Mar 02, 2019 2:00 pm

Code: Select all

  File "/Applications/Inkscape.app/Contents/Resources/lib/python2.7/site-packages/sk1libs/filters/export/pltsaver.py", line 179, in SaveObjects
    self.PolyBezier(obj.Paths(), obj.Properties())
AttributeError: 'NoneType' object has no attribute 'Paths'
Das sagt dir, dass die Variable obj None ist statt dem was sie sein sollte.
Der Fehler tritt vermutlich sehr viel früher irgendwo auf, warum auch immer.
Das würde ich eher in einem Inkscape Forum fragen...
bzw such mal nach der Zeile

Code: Select all

self.PolyBezier(obj.Paths(), obj.Properties())
Da gibts so einiges, zB http://www.inkscapeforum.com/viewtopic.php?t=14094
chrisond
Posts: 15
Joined: Tue Jan 29, 2019 4:11 pm

Re: Export von CAD-Zeichnungen (*.svg) und umwandeln selbiger mit Inkscape in *.plt

Postby chrisond » Sat Mar 02, 2019 4:38 pm

Hi reox,

danke, der Link hat geholfen. Allerdings wende ich einfach brav einen Algorhitmus an,
den ich nicht verstehe. Egal, da die Vektorgrafiken (*.svg) aus FreeCAD stammen für alle, denen Probleme bei
der Übertragung in Plotterdateien (*.plt) begegnen sollten, hier nochmal die Prozedur in Inkscape:

1 - svg-Datei in Inkscape öffnen

2 - Bearbeiten > Alles Auswählen

3 - Pfad > Objekt in Pfad umwandeln

4 - Objekt > Gruppieren

5 - Speichern unter...*.plt (oder Ähnliches)

So long,

c/o
reox
Posts: 684
Joined: Sat Aug 13, 2016 10:06 am
Contact:

Re: Export von CAD-Zeichnungen (*.svg) und umwandeln selbiger mit Inkscape in *.plt

Postby reox » Sun Mar 03, 2019 10:14 am

Offenbar sind im SVG auch Objekte enthalten die keine Pfade sind - sondern irgendwas anderes. Das PLT file kann scheinbar nur mit Pfaden umgehen - daher musst du wohl konvertieren.
Das ist alles was ich aus dem Thread herauslesen konnte... Wieso, weshalb, warum kann ich dir leider auch nicht sagen.
chrisond
Posts: 15
Joined: Tue Jan 29, 2019 4:11 pm

Re: Export von CAD-Zeichnungen (*.svg) und umwandeln selbiger mit Inkscape in *.plt

Postby chrisond » Thu Mar 07, 2019 1:08 pm

Ich hätte diesen Thread ja zu gerne geschlossen, aber...
gleiches Projekt und eine leicht veränderte Zeichnung und der Inkscape-Parser meckert erneut:

UniConvertor failed:

Traceback (most recent call last):
File "/Applications/Inkscape.app/Contents/Resources/lib/python2.7/site-packages/sk1libs/filters/import/svgloader.py", line 1305, in Load
xml_reader.parse(input_source)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/xml/sax/expatreader.py", line 110, in parse
xmlreader.IncrementalParser.parse(self, source)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/xml/sax/xmlreader.py", line 125, in parse
self.close()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/xml/sax/expatreader.py", line 226, in close
self._cont_handler.endDocument()
File "/Applications/Inkscape.app/Contents/Resources/lib/python2.7/site-packages/sk1libs/filters/import/svgloader.py", line 559, in endDocument
self.parseElements(element)
File "/Applications/Inkscape.app/Contents/Resources/lib/python2.7/site-packages/sk1libs/filters/import/svgloader.py", line 579, in parseElements
getattr(self, method)(attrs)
File "/Applications/Inkscape.app/Contents/Resources/lib/python2.7/site-packages/sk1libs/filters/import/svgloader.py", line 915, in rect
self.parse_attrs(attrs)
File "/Applications/Inkscape.app/Contents/Resources/lib/python2.7/site-packages/sk1libs/filters/import/svgloader.py", line 654, in parse_attrs
self.parse_style(val)
File "/Applications/Inkscape.app/Contents/Resources/lib/python2.7/site-packages/sk1libs/filters/import/svgloader.py", line 667, in parse_style
self.try_add_style(key, val)
File "/Applications/Inkscape.app/Contents/Resources/lib/python2.7/site-packages/sk1libs/filters/import/svgloader.py", line 750, in try_add_style
self.style.line_cap = cap[val]
KeyError: u'miter'
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/Applications/Inkscape.app/Contents/Resources/lib/python2.7/site-packages/uniconvertor/__init__.py", line 95, in uniconv_run
doc = load.load_drawing(input_file)
File "/Applications/Inkscape.app/Contents/Resources/lib/python2.7/site-packages/uniconvertor/app/io/load.py", line 377, in load_drawing
return load_drawing_from_file(file, filename)
File "/Applications/Inkscape.app/Contents/Resources/lib/python2.7/site-packages/uniconvertor/app/io/load.py", line 354, in load_drawing_from_file
raise SketchLoadError(_("Parsing error: ")+ str(value))
app.events.skexceptions.SketchLoadError: Parsing error: u'miter'


Was ist der u'miter'?
Ich hab praktisch nur ein Maße verändert...und ja, die Frage auch im Inkscape_Forum gepostet.

Sorry, wenn 's nervt, aber jetzt eben noch Python lernen, sprengt bisschen meinen Zeitplan:)

Grüße
c/o
freecad-heini-1
Posts: 6224
Joined: Tue Jan 07, 2014 11:10 am
Contact:

Re: Export von CAD-Zeichnungen (*.svg) und umwandeln selbiger mit Inkscape in *.plt

Postby freecad-heini-1 » Thu Mar 07, 2019 3:32 pm

chrisond wrote:
Thu Mar 07, 2019 1:08 pm
Ich hätte diesen Thread ja zu gerne geschlossen, aber...
gleiches Projekt und eine leicht veränderte Zeichnung und der Inkscape-Parser meckert erneut:

UniConvertor failed:

Traceback (most recent call last):
File "/Applications/Inkscape.app/Contents/Resources/lib/python2.7/site-packages/sk1libs/filters/import/svgloader.py", line 1305, in Load
xml_reader.parse(input_source)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/xml/sax/expatreader.py", line 110, in parse
xmlreader.IncrementalParser.parse(self, source)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/xml/sax/xmlreader.py", line 125, in parse
self.close()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/xml/sax/expatreader.py", line 226, in close
self._cont_handler.endDocument()
File "/Applications/Inkscape.app/Contents/Resources/lib/python2.7/site-packages/sk1libs/filters/import/svgloader.py", line 559, in endDocument
self.parseElements(element)
File "/Applications/Inkscape.app/Contents/Resources/lib/python2.7/site-packages/sk1libs/filters/import/svgloader.py", line 579, in parseElements
getattr(self, method)(attrs)
File "/Applications/Inkscape.app/Contents/Resources/lib/python2.7/site-packages/sk1libs/filters/import/svgloader.py", line 915, in rect
self.parse_attrs(attrs)
File "/Applications/Inkscape.app/Contents/Resources/lib/python2.7/site-packages/sk1libs/filters/import/svgloader.py", line 654, in parse_attrs
self.parse_style(val)
File "/Applications/Inkscape.app/Contents/Resources/lib/python2.7/site-packages/sk1libs/filters/import/svgloader.py", line 667, in parse_style
self.try_add_style(key, val)
File "/Applications/Inkscape.app/Contents/Resources/lib/python2.7/site-packages/sk1libs/filters/import/svgloader.py", line 750, in try_add_style
self.style.line_cap = cap[val]
KeyError: u'miter'
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/Applications/Inkscape.app/Contents/Resources/lib/python2.7/site-packages/uniconvertor/__init__.py", line 95, in uniconv_run
doc = load.load_drawing(input_file)
File "/Applications/Inkscape.app/Contents/Resources/lib/python2.7/site-packages/uniconvertor/app/io/load.py", line 377, in load_drawing
return load_drawing_from_file(file, filename)
File "/Applications/Inkscape.app/Contents/Resources/lib/python2.7/site-packages/uniconvertor/app/io/load.py", line 354, in load_drawing_from_file
raise SketchLoadError(_("Parsing error: ")+ str(value))
app.events.skexceptions.SketchLoadError: Parsing error: u'miter'


Was ist der u'miter'?
Ich hab praktisch nur ein Maße verändert...und ja, die Frage auch im Inkscape_Forum gepostet.

Sorry, wenn 's nervt, aber jetzt eben noch Python lernen, sprengt bisschen meinen Zeitplan:)

Grüße
c/o
Bringst Du Deinen VW in die Toyota Werkstatt zur Inspektion?
chrisond
Posts: 15
Joined: Tue Jan 29, 2019 4:11 pm

Re: Export von CAD-Zeichnungen (*.svg) und umwandeln selbiger mit Inkscape in *.plt

Postby chrisond » Thu Mar 07, 2019 7:53 pm

Lieber freecad-heini-1,
ehrlich gesagt, kombiniere ich Öffentliche Verkehrsmittel mit einem schnellen Fahrrad und einer App und hoffe bald schneller zu sein als
sowohl VW- als auch Toyota-Fahrer (die Chance is klein, aber real).
Zurück zum Thema: Wenn ich mit FreeCAD CAD-Vektorgrafiken erstelle, die von Schneide-Plottern gelesen werden sollen, bedeutet das praktisch (meines Wissens) - sie müssen zunächst von Inkscape gelesen werden können.
Ist doch für FreeCADler interessant, ob der Export in andere freie Software funktioniert, oder?
Wenn ich da falsch liege, Frage einfach ignorieren.)

So long

c/o
freecad-heini-1
Posts: 6224
Joined: Tue Jan 07, 2014 11:10 am
Contact:

Re: Export von CAD-Zeichnungen (*.svg) und umwandeln selbiger mit Inkscape in *.plt

Postby freecad-heini-1 » Fri Mar 08, 2019 6:46 am

chrisond wrote:
Sat Mar 02, 2019 2:00 pm
Ich habe recht einfache CAD-Zeichnungen in der Drawing-Workbench erstellt. Extrudierte Skteches (aus Partdesign ) wurden in der Draft mit Maßen versehen und zuletzt in Drawing als Vektorgrafiken (svg) gespeichert.
Die Zeichnungen sind für Schneideplotter gedacht, die - leider - proprietäre plt-Dateien verlangen.
Bitte lade eine einfache Beispielzeichnung hoch, welchen Schneidplotter verwendest Du?
Hast Du mal versucht mit Techdraw zu bemaßen und in SVG zu exportieren, oder in DXF?
Vielleicht recherchierst Du mal zu LiberCAD, ob es PLT exportieren kann.
reox
Posts: 684
Joined: Sat Aug 13, 2016 10:06 am
Contact:

Re: Export von CAD-Zeichnungen (*.svg) und umwandeln selbiger mit Inkscape in *.plt

Postby reox » Fri Mar 08, 2019 8:13 am

chrisond wrote:
Thu Mar 07, 2019 1:08 pm
Ich hätte diesen Thread ja zu gerne geschlossen, aber...
gleiches Projekt und eine leicht veränderte Zeichnung und der Inkscape-Parser meckert erneut:

UniConvertor failed:

Traceback (most recent call last):
File "/Applications/Inkscape.app/Contents/Resources/lib/python2.7/site-packages/sk1libs/filters/import/svgloader.py", line 1305, in Load
xml_reader.parse(input_source)
[...]
raise SketchLoadError(_("Parsing error: ")+ str(value))
app.events.skexceptions.SketchLoadError: Parsing error: u'miter'
Schaut so aus als ob beim laden vom XML file was schief läuft. Miter bezieht sich da vermutlich auf den typ von zusammenschluss von vektorlinien: https://developer.mozilla.org/en-US/doc ... e-linejoin

Wie freecadheini schon gesagt hat würde ich mal probieren per DXF export das ganze zu laden.
freecad-heini-1 wrote:
Thu Mar 07, 2019 3:32 pm
Bringst Du Deinen VW in die Toyota Werkstatt zur Inspektion?
Grundsätzlich ein richtiger einwand, nur es bleibt auch zu prüfen ob hier FreeCAD falsches SVG erzeugt oder ob der Parser in Inkscape ein Problem hat... Dazu wäre aber die Datei sehr hilfreich.
Ich würds mal hier hochladen: https://validator.w3.org/ kann jedenfals auch SVG 1.x - evt gibts da noch mehr tools um SVG zu validieren, müsste man recherchieren.
Ein Crossposting in einem Inkscape Forum ist sicher nicht falsch, ggf wissen dort die Leute besser bescheid wo der Fehler herkommt.

Was es auch noch zu testen gibt wäre, ob das Problem immer auftritt oder nur mit besonderen Einstellungen etc.
chrisond
Posts: 15
Joined: Tue Jan 29, 2019 4:11 pm

Re: Export von CAD-Zeichnungen (*.svg) und umwandeln selbiger mit Inkscape in *.plt

Postby chrisond » Fri Mar 08, 2019 10:45 pm

Also erstmal euch allen -
"chapeau" für die Hinweise, eure Hilfs- und Gesprächsbereitschaft.
Das FreeCAD-Forum ist ein Lichtblick.

Die Details:

@reox:
1.
Ein Crossposting in einem Inkscape Forum ist sicher nicht falsch
Die Dateien hab ich eben auf Anfrage auch in die Inkscape-Community hochgeladen.
2.
es bleibt auch zu prüfen ob hier FreeCAD falsches SVG erzeugt oder ob der Parser in Inkscape ein Problem hat
Naja, die erste, ältere Version des Projektes - die mit Ausnahme einiger Maßangaben, Annotationen und einem veränderten Bogenradius - der zweiten aufs Haar gleicht - wurde - nach Berücksichtigung deiner Hinweise auf "Objekt gruppieren" - in Inkscape ja korrekt ausgegeben. Verändert habe ich also etwas in FreeCAD, nicht in Inkscape. Daher vermute ich das Problem hier. (zumal schaut auch mal die veränderten Dateigrößen bei den Vergleichsdateien an, das sind über 500 KB Unterschied!)

3.
Wie freecadheini schon gesagt hat würde ich mal probieren per DXF export das ganze zu laden
Ja, das ist komisch. Der addon-Manager sagt mir das ich die dxf-Bibliotheken installiert habe, findet sie aber dann beim Export nicht.
So ein Problem hatte ich schon mit einer user-workbench namens - glaube - "draft dimensioning".

@ freecadheini

4.
Hast Du mal versucht mit Techdraw zu bemaßen
Techdraw ist natürlich die bessere Lösung (v.a. ab der 2018-Version heißt es), die ich bei Beginn des Projektes schlicht nicht auf
dem Schirm hatte. Ich bin dran, da TechDraw wohl auch veränderte Maße aus den anderen workbenches automatisch in
die Zeichnungen übernimmt, was in Drawing zwar mit den Zeichnungen, in Draft aber nicht mit den Maßen funktioniert.

5.
welchen Schneidplotter verwendest Du
Sehr gute Frage - ich fahr Anfang April nach Stettin, wo das Teil in einer Textilfabrik steht.

6.
Bitte lade eine einfache Beispielzeichnung hoch
Gern. Ich lade - genau wie im Inkscape-Forum- die beide kaputten svg-Dateien (bauchi1...). Und eine ältere funktionierende (bauchi...)

Danke euch,
LiberCAD, https://validator.w3.org/, und den Miter-Verweis check ich kommende Woche

Schönes Wochenende
Attachments
bauchi_vorne.svg
(15.19 KiB) Downloaded 18 times
bauchi1_hinten.svg
(149.49 KiB) Downloaded 17 times
bauchi1_vorne.svg
(677.31 KiB) Downloaded 19 times