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
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?
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
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.
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.
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
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
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
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,
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
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.
https://wiki.opensourceecology.org/wiki/DXF_Import_into_FreeCAD https://github.com/yorikvanhavre/Draft-dxf-importer http://free-cad.sourceforge.net/SrcDocu/de/d1f/importDXF_8py_source.html viell. als Anregung. :)
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.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.