Creation of a DXF Document with a Dog House Layer
This code snippet demonstrates how to create a DXF document using the ezdxf library in Python. It defines dimensions in centimeters and creates a layer named 'DogHouse' with basic shapes representing the base and walls of a dog house.unknown
python
a year ago
2.4 kB
17
Indexable
import ezdxf
# Definizione delle dimensioni in cm
width = 150 # larghezza
depth = 150 # profondità
height = 180 # altezza
# Creazione di un nuovo documento DXF
doc = ezdxf.new(dxfversion='R2010')
# Aggiunta di un nuovo layer per la cuccia
doc.layers.add(name='DogHouse', color=1)
# Creazione della base (pavimento)
msp = doc.modelspace()
msp.add_lwpolyline([(0, 0), (width, 0), (width, depth), (0, depth), (0, 0)], dxfattribs={'layer': 'DogHouse'})
# Creazione delle pareti
# Parete anteriore
msp.add_lwpolyline([(0, 0), (0, height)], dxfattribs={'layer': 'DogHouse'})
msp.add_lwpolyline([(width, 0), (width, height)], dxfattribs={'layer': 'DogHouse'})
msp.add_lwpolyline([(0, height), (width, height)], dxfattribs={'layer': 'DogHouse'})
# Parete posteriore
msp.add_lwpolyline([(0, depth), (0, depth + height)], dxfattribs={'layer': 'DogHouse'})
msp.add_lwpolyline([(width, depth), (width, depth + height)], dxfattribs={'layer': 'DogHouse'})
msp.add_lwpolyline([(0, depth + height), (width, depth + height)], dxfattribs={'layer': 'DogHouse'})
# Parete sinistra
msp.add_lwpolyline([(0, 0), (0, depth)], dxfattribs={'layer': 'DogHouse'})
msp.add_lwpolyline([(0, depth), (0, depth + height)], dxfattribs={'layer': 'DogHouse'})
msp.add_lwpolyline([(0, depth + height), (0, height)], dxfattribs={'layer': 'DogHouse'})
# Parete destra
msp.add_lwpolyline([(width, 0), (width, depth)], dxfattribs={'layer': 'DogHouse'})
msp.add_lwpolyline([(width, depth), (width, depth + height)], dxfattribs={'layer': 'DogHouse'})
msp.add_lwpolyline([(width, depth + height), (width, height)], dxfattribs={'layer': 'DogHouse'})
# Creazione del soffitto
msp.add_lwpolyline([(0, height), (width, height), (width, depth + height), (0, depth + height), (0, height)], dxfattribs={'layer': 'DogHouse'})
# Aggiunta della porta (plexiglass trasparente)
door_width = 60 # cm
door_height = 100 # cm
door_x = (width - door_width) / 2
msp.add_lwpolyline([(door_x, 0), (door_x, door_height)], dxfattribs={'layer': 'DogHouse'})
msp.add_lwpolyline([(door_x + door_width, 0), (door_x + door_width, door_height)], dxfattribs={'layer': 'DogHouse'})
msp.add_lwpolyline([(door_x, door_height), (door_x + door_width, door_height)], dxfattribs={'layer': 'DogHouse'})
# Salvataggio del file DXF
file_path = 'dog_house_project.dwg'
doc.saveas(file_path)
print(f"File salvato in {file_path}")
Editor is loading...
Leave a Comment