Forum: PC-Programmierung Python DXF Plotten


von Iglu199 (Gast)


Lesenswert?

Hi,

ich würde gerne mit Python eine DXF Datei plotten, also anzeigen in 
einem Fenster,
diese DXF datei erzeuge ich selbst schon im Python nur habe ich bis 
jetzt nichts gefunden mit dem
es mir möglich ist einfach eine solche Datei anzuzeigen, hätte gedacht 
dazu würde es etwas geben.
Würde mich freuen wenn jemand einen Tipp hat ob es sowas gibt sonst muss 
ich sowas selbst schreiben der
Aufwand ist ja nciht gerade klein.

MFG

von Bert3 (Gast)


Lesenswert?

mehr Details?

einfach ein Fenster(willst du mit der Maus agieren können?)
oder nur ein Bild generieren
in 2D, 3D?
wie komplex sind deine DXFs - ein paar Linien oder der Airbus A380 
Aufbau?

von Lars K. (mrlaush)


Lesenswert?

Hi,

QCAD reicht dir nicht zum angucken?
https://qcad.org/de/

von Iglu199 (Gast)


Lesenswert?

Bert3 schrieb:
> mehr Details?
>
> einfach ein Fenster(willst du mit der Maus agieren können?)
> oder nur ein Bild generieren
> in 2D, 3D?
> wie komplex sind deine DXFs - ein paar Linien oder der Airbus A380
> Aufbau?

An sich ganz einfach, das Programm was die DXF Datei erzeug soll direkt 
diese anzeige, interaktion ist nicht notwendig deswegen ja plotten ganz 
simpel 2D Linien. Der Bildausschnitt lässt sich ja einfauch ausrechnen 
also Skalierung wäre nicht das problem.
Es ist dafür gedacht das die Änderung die man bei der Eingabe macht 
direkt als 2D Bild sieht und erkennen kann wie das DXF File manipuliert 
wird.
Soll die bedienung deutlich vereinfachen


Lars K. schrieb:
> QCAD reicht dir nicht zum angucken?
> https://qcad.org/de/

Anschauen ist nicht das problem DXF viewer gibt es ja genug
deswegen habe ich ja so gefragt wie ich gefragt hatte.
Danke

MFG

von Yalu X. (yalu) (Moderator)


Lesenswert?

Iglu199 schrieb:
> Lars K. schrieb:
>> QCAD reicht dir nicht zum angucken?
>> https://qcad.org/de/
>
> Anschauen ist nicht das problem DXF viewer gibt es ja genug
> deswegen habe ich ja so gefragt wie ich gefragt hatte.

So ganz habe ich dein Problem auch nicht verstanden.

Du willst

Iglu199 schrieb:
> eine DXF Datei plotten, also anzeigen in einem Fenster

Genau das tut doch QCAD (neben vielen anderen Dingen).

Iglu199 schrieb:
> diese DXF datei erzeuge ich selbst schon im Python

Wäre es nicht einfacher, die Daten vor oder während der DXF-Generierung
in das Fenster zu plotten? Damit würde die Dekodierung der DXF-Datei
entfallen.

Falls du, aus welchen Gründen auch immer, dennoch DXF-Dateien mit einem
Python-Programm einlesen willst, hilft dir evtl. dieses hier weiter:

  https://bitbucket.org/mozman/ezdxf

Ich habe aber selber keine Erfahrung damit, so dass ich keine Empfehlung
aussprechen kann.

von Iglu199 (Gast)


Lesenswert?

Yalu X. schrieb:
> Genau das tut doch QCAD (neben vielen anderen Dingen).

Die Gründe sind ja eindeutig, es soll in Echtzeit aktualisiert werden, 
wenn man eine Änderung vornimmt. Damit man ein direktes Feedback hat wie 
das fertige DXF File aussieht.
ezdxf ist auch nur ein Editor für DXF Dateien zum Eigleichen anzeigen 
gibt es dort nichts.
Mir scheint es, da es dort wahrscheinlich einfach nichts gibt.

von georg (Gast)


Lesenswert?

Iglu199 schrieb:
> Die Gründe sind ja eindeutig, es soll in Echtzeit aktualisiert werden

Das kann eine eigene Plottroutine genausowenig wie irgendein anderes 
Programm, praktisch müsste nach jeder Änderung die Anzeige gelöscht und 
die ganze Datei neu geplottet werden.

Georg

von georg (Gast)


Lesenswert?

DXF zu interpretieren kommt mir ziemlich unsinnig vor, wenn man die 
Daten hat, die als DXF ausgegeben wurden (Zeichnung -> DXF -> wieder 
einlesen -> aus DXF Zeichnung erstellen).

Das ist so wie wenn man einen Text hat, den als PDF ausgibt, und darauf 
eine OCR-System loslässt um den Text wiederzugewinnen, den man ja 
eigentlich schon längst hat.

Georg

von Iglu199 (Gast)


Lesenswert?

Das macht schon sinn, wenn man das Format von DFX kennt. Denn um das was 
im Programm intern berechnet wird, um die DXF Datei zu erzeugen, lässt 
sich nicht so ohne weiters durch einen weiteren großen Rechenaufwand 
wieder in was Sinnvolles umwandeln das man dann direkt Plotten könnte. 
Zu dem ist das vorteilhaft die DXF zu interpretieren, dann kann man 
sichergehen, das die Datei selbst Sinvoll ist.
Aber wie es mir scheint weiß keiner von euch wie das geht bzw. gibt es 
dort in Python noch nichts.
Die Antwort ist mir lieber, als das ständige kommentieren, wieso was 
gemacht wird, das interessiert den Fragesteller überhaupt nicht, zudem 
müsste man dann immer zu viel erklären, um eine einfache Frage zu 
beantworten. Die Frage war ja Sinn gemäß "kann man DXF Dateien mit 
Python direkt Plotten zb. in einem Fenster" keine komplizierte Frage da 
braucht man auch keine großen Zusatzinfos, so wie ich das jetzt sehe ist 
die einfache Antwort "Nein", ich verstehe ja das ihr jemand helfen wollt 
in dem man Tipps gibt wie man es anders machen könnte aber wäre die 
Antwort auf die Frage im ersten Moment wichtiger danach kann man immer 
noch nach einer Anderen Lösung Suchen.
Danke für die ganze Infos zu dem Thema, dann werde ich da mal selber was 
schreiben

von Günter Lenz (Gast)


Lesenswert?

georg schrieb:
>DXF zu interpretieren kommt mir ziemlich unsinnig vor, wenn man die
>Daten hat, die als DXF ausgegeben wurden (Zeichnung -> DXF -> wieder
>einlesen -> aus DXF Zeichnung erstellen).

Ich ich habe das so verstanden, er will mit Python
einen DXF-Viewer programmieren, das Programm soll also
eine vorhandene DXF-Datei auf den Bildschirm zaubern.
Dazu muß man wissen wie eine DXF-Datei aufgebaut ist
und wissen wie man mit Python Grafik programmiert,
also Punkte setzen, Linien ziehen usw. Würde mich
auch Interessieren.

 Iglu199 schrieb:
>ich würde gerne mit Python eine DXF Datei plotten, also anzeigen in
>einem Fenster,

von georg (Gast)


Lesenswert?

Günter Lenz schrieb:
> das Programm soll also
> eine vorhandene DXF-Datei auf den Bildschirm zaubern

Schon klar, nur hat er die DXF-Datei ja selbst erzeugt.

Georg

von Günter Lenz (Gast)


Lesenswert?

georg schrieb:
>Schon klar, nur hat er die DXF-Datei ja selbst erzeugt.

Man kann ja auch eine Datei erzeugen ohne das auf
dem Bildschirm irgendwas zu sehen ist. Ich kenne
das DXF-Format zwar nicht, aber ich habe daß schon
mal mit WAV gemacht, also Python hat eine WAV-Datei
geschrieben, die ich anschließend mit einen anderen
Programm abgespielt habe.

von W. M. (thematsche)


Lesenswert?


von Planlos (Gast)


Lesenswert?

Starte einen (mehr oder weniger) beliebigen DXF-Viewer auf deiner Datei, 
nimm Python dafür, um dem Programm "F5", "Ctrl-R" oder eben die passende 
"Reload"-Tastenkombination unterzuschieben, wenn sich das DXF-Dateidatum 
ändert.

von Iglu199 (Gast)


Lesenswert?

Planlos schrieb:
> Starte einen (mehr oder weniger) beliebigen DXF-Viewer auf deiner Datei,
> nimm Python dafür, um dem Programm "F5", "Ctrl-R" oder eben die passende
> "Reload"-Tastenkombination unterzuschieben, wenn sich das DXF-Dateidatum
> ändert.

Ja das ist gerade auch einer der lösungsansätze, der ist nicht optimal 
aber würde notfalls auch ok sein, bin gerade auch am evaluieren welcher 
Viewer sich am besten verhält und steuern lässt
Danke für die Ideen

MFG

von Tek (Gast)


Lesenswert?

Hier gibt es ein CAD in Python geschrieben:
https://sourceforge.net/projects/pythoncad/

Ohne in den Quelltext geschaut zu haben:
Vielleicht bekommt man den Teil zum anzeigen der dxf Datei mit 
vertretbarem Aufwand extrahiert.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.