.dxf??
Im CAD werden verschiedene Dateiformate verwendet (Software zum Zeichnen von Konstruktionszeichnungen von Maschinen usw.). ".Dxf" ist einer von ihnen.
Es gibt andere Dateiformate, aber die häufig verwendete ".dwg" kann nur von einer bestimmten Software wie Auto CAD gelesen werden.
Da die Spezifikationen von ".dxf" für die Öffentlichkeit zugänglich sind, kann sie nicht nur von einer bestimmten Software, sondern auch von verschiedenen Softwareprogrammen gelesen und geschrieben werden. (Sie können den Inhalt lesen, indem Sie ihn mit einem Texteditor öffnen.)
Daher handelt es sich um ein Dateiformat wie den Industriestandard, der für den Austausch von Zeichnungen zwischen verschiedenen Unternehmen verwendet wird (möglicherweise ...).
ezdxf?? Eine Bibliothek, die DXF-Dateien mit Python erstellt und liest. https://ezdxf.readthedocs.io/en/stable/
Wenn Sie beispielsweise AutoCAD verwenden (was ziemlich teuer ist), können Sie mit VBA ein Programm für sich selbst bewegende Bilder erstellen. https://www.youtube.com/watch?v=cL7vAIFjsmQ Wenn Sie über AutoCAD verfügen, ist dies häufig bequemer.
jedoch Wenn Sie Python verwenden möchten, um ein CAD-Autogramm zu erstellen, oder wenn Sie kein AutoCAD haben, möchten Sie ein CAD-Auto-Image erstellen ... (Vielleicht). In solchen Fällen kann "Ezdxf" verwendet werden.
Die Installation ist auch mit Anaconda einfach! conda install -c conda-forge ezdxf
Verwenden Sie ezdxf, um eine gerade Linie zu zeichnen und zu speichern (wie im Tutorial beschrieben). Sie können eine DXF-Datei mit einer Anweisung von 5 Zeilen erstellen.
#python 3.85
import ezdxf #'0.13.1'
#DXF-Versionsspezifikation
doc = ezdxf.new("R2010")
#Erstellen Sie eine neue Entität im Modellbereich
msp = doc.modelspace()
#Erstellen Sie eine gerade Linie
msp.add_line(start=[0, 0], end=[100, 0])
#sparen
doc.saveas('line.dxf')
Wenn ich die erstellte .dxf-Datei öffne, sehe ich eine gerade Linie wie diese (einsam).
Apropos Zuerst habe ich jwcad heruntergeladen, einen kostenlosen CAD mit einer hohen Penetrationsrate. Ich wusste überhaupt nicht, wie ich es benutzen sollte (ich kann die Figur nicht bewegen!), Also Diese CAD-Datei wurde in Libre Office Draw geöffnet.
Wenn Sie sich daran gewöhnt haben, scheint jwcad ein wunderbarer CAD zu sein, aber es scheint, dass sich die Operationsmethode von anderen CAD unterscheidet. Es scheint, dass es Hamar-Punkte gibt, wenn Leute, die anderes CAD verwendet haben, es so verwenden, wie es ist. (Da das Lernen von JWCAD mühsam ist, schneide ich Ecken)
Es scheint also andere freie CAD zu geben Für diejenigen, die es normalerweise für bezahlte CAD-Arbeit verwenden, um zu Hause zu spielen, Möglicherweise möchten Sie einen anderen CAD ausprobieren.
Wenn es sich um eine Zeile handelt, ist dies umständlich. Daher werde ich die Anzahl der Zeilen etwas erhöhen und ein Quadrat erstellen.
import ezdxf #'0.13.1'
doc = ezdxf.new("R2010") #DXF-Versionsspezifikation
msp = doc.modelspace() #add new entities to the modelspace
msp.add_line([0, 0], [100, 0])
msp.add_line([100, 0], [100, 100])
msp.add_line([100, 100], [0, 100])
msp.add_line([0, 100], [0, 0])
doc.saveas('tetra.dxf') #sparen
Versuchen Sie, die erstellte Datei zu öffnen.
Ich konnte ein Quadrat richtig zeichnen.
In 2d CAD wie .dxf muss die Ebeneneinstellung berücksichtigt werden. Eine Ebene ist eine Sammlung desselben Linientyps, und der Linientyp (Punkte usw.) und die Farbe sind für jede Ebene unterschiedlich.
Definieren Sie die Ebenen vor und geben Sie die Ebenen an, wenn Sie eine gerade Linie oder einen Kreis zeichnen (Argument: dxfattribs).
import ezdxf #'0.13.1'
#Geben Sie die Version mit dxf an
doc = ezdxf.new("R2010", setup=True)
#Ebenendefinition
doc.layers.new(name="MyLine1", dxfattribs={'linetype': 'DASHED', 'color': 7})
doc.layers.new(name="MyLine2", dxfattribs={'linetype': 'CONTINUOUS', 'color': 1})
doc.layers.new(name="MyLine3", dxfattribs={'linetype': 'CENTER', 'color': 2})
#add new entities to the modelspace
msp = doc.modelspace()
#Fügen Sie eine gerade Linie hinzu
msp.add_line([0, 0], [100, 0], dxfattribs={'layer': 'MyLine1'})
msp.add_line([100, 0], [100, 100], dxfattribs={'layer': 'MyLine1'})
msp.add_line([100, 100], [0, 100], dxfattribs={'layer': 'MyLine1'})
msp.add_line([0, 100], [0, 0], dxfattribs={'layer': 'MyLine1'})
#Center[50, 50],Hinzufügen eines Kreises mit einem Radius von 50
msp.add_circle(center=[50, 50], radius=50, dxfattribs={'layer': 'MyLine2'})
#Bogen hinzufügen
msp.add_arc(center=[50, 50], radius=40,
start_angle=0, end_angle=90, dxfattribs={'layer': 'MyLine2'})
msp.add_arc(center=[50, 50], radius=40,
start_angle=90, end_angle=360, dxfattribs={'layer': 'MyLine3'})
#[50, 50]Fügen Sie einen Punkt an der Position von hinzu
msp.add_point([50, 50], dxfattribs={'layer': 'MyLine1'})
#Bild speichern
doc.saveas('sample.dxf')
Als ich die erstellte Datei öffnete, wurde sie wie folgt.
Anfangs war der Punkt bei [50, 50] zu klein und ich habe ihn als Staub auf dem LCD-Monitor missverstanden.
Recommended Posts