Ich habe ein Problem im folgenden Code.Mein Code kann die Koordinaten der .dxf Datei lesen und wie folgt drucken. Aber ich muss es als Linie oder Kreis kategorisieren. Die Kategorisierungsbedingungen sind wie folgt: -
1) Identifizieren Sie den Kreis, wenn die Geometrie durch die Koordinaten des Mittelpunkts und des Radius beschrieben wird
2) Identifizieren Sie als Linien, wenn (Geometrie wird durch Position, Breite(width) und pitch(auf Englisch) definiert).
Könnten Sie bitte vorschlagen, wie kann ich die Änderungen in meinem obigen Code vornehmen?
Code: Alles auswählen
import ezdxf
filename = r'D:\Python\sample.dxf'
# Open the DXF file
doc = ezdxf.readfile(filename)
# Get the modelspace block from the DXF file [Abrufen des Modelspace-Blocks aus der DXF-Datei]
modelspace = doc.modelspace()
# Create an empty list to hold the contents of the DXF file [Erstellen Sie eine leere Liste für den Inhalt der DXF-Datei]
dxf_contents = []
# Iterate over all the entities in the modelspace block and append them to the list [Durchlaufen Sie alle Elemente im Modelspace-Block und hängen Sie sie an die Liste an.]
for entity in modelspace:
dxf_contents.append(entity)
# Print the contents of the DXF file
print(dxf_contents)
Code: Alles auswählen
<class 'ezdxf.entities.circle.Circle'> CIRCLE(#2FBFD), <class 'ezdxf.entities.circle.Circle'> CIRCLE(#2FBFE), <class 'ezdxf.entities.circle.Circle'> CIRCLE(#2FBFF), <class 'ezdxf.entities.circle.Circle'> CIRCLE(#2FC00), <class 'ezdxf.entities.lwpolyline.LWPolyline'> LWPOLYLINE(#31E7C), <class 'ezdxf.entities.lwpolyline.LWPolyline'> LWPOLYLINE(#31E85), <class 'ezdxf.entities.lwpolyline.LWPolyline'> LWPOLYLINE(#31E86), <class 'ezdxf.entities.lwpolyline.LWPolyline'> LWPOLYLINE(#31E87), <class 'ezdxf.entities.lwpolyline.LWPolyline'> LWPOLYLINE(#31E88), <class 'ezdxf.entities.lwpolyline.LWPolyline'> LWPOLYLINE(#31E89), <class 'ezdxf.entities.lwpolyline.LWPolyline'> LWPOLYLINE(#31E8A), <class 'ezdxf.entities.lwpolyline.LWPolyline'> LWPOLYLINE(#31E8D), <class 'ezdxf.entities.lwpolyline.LWPolyline'> LWPOLYLINE(#31E8E), <class 'ezdxf.entities.lwpolyline.LWPolyline'> LWPOLYLINE(#31E8F), <class 'ezdxf.entities.lwpolyline.LWPolyline'> LWPOLYLINE(#31E90), <class 'ezdxf.entities.lwpolyline.LWPolyline'> LWPOLYLINE(#31E91), <class 'ezdxf.entities.lwpolyline.LWPolyline'> LWPOLYLINE(#31E94), <class 'ezdxf.entities.lwpolyline.LWPolyline'> LWPOLYLINE(#31E95), <class 'ezdxf.entities.lwpolyline.LWPolyline'> LWPOLYLINE(#31E96)