Advanced Examples¶
More complex examples and patterns.
Batch Operations¶
Process multiple objects:
from AutoCAD import AutoCAD, APoint, Color
cad = AutoCAD()
# Create multiple circles
for i in range(5):
center = APoint(i * 15, 0, 0)
circle = cad.add_circle(center, radius=5)
cad.set_object_color(circle, Color.BLUE)
cad.zoom_extents()
cad.save()
Copy and Transform¶
from AutoCAD import AutoCAD, APoint
cad = AutoCAD()
# Create original
original = cad.add_circle(APoint(0, 0, 0), radius=5)
# Copy multiple times
for i in range(3):
displacement = APoint(20 * (i + 1), 0, 0)
cad.copy_object(original, displacement)
cad.save()
Selective Object Manipulation¶
from AutoCAD import AutoCAD, Color
cad = AutoCAD()
# Process all circles in the drawing
for circle in cad.iter_objects("AcDbCircle"):
# Change color based on size
radius = circle.Radius
if radius < 5:
cad.set_object_color(circle, Color.GREEN)
elif radius < 10:
cad.set_object_color(circle, Color.BLUE)
else:
cad.set_object_color(circle, Color.RED)
cad.save()
Dynamic Grid Creation¶
from AutoCAD import AutoCAD, APoint
cad = AutoCAD()
# Create a grid of circles
spacing = 10
rows, cols = 5, 5
for row in range(rows):
for col in range(cols):
center = APoint(col * spacing, row * spacing, 0)
cad.add_circle(center, radius=2)
cad.zoom_extents()
cad.save()
Dimension Multiple Objects¶
from AutoCAD import AutoCAD, APoint, Dimension, DimensionType
cad = AutoCAD()
# Create a line
line = cad.add_line(APoint(0, 0, 0), APoint(10, 0, 0))
# Add dimension
dimension = Dimension(
start_point=APoint(0, 0, 0),
end_point=APoint(10, 0, 0),
text_point=APoint(5, -2, 0),
dimension_type=DimensionType.LINEAR
)
cad.add_dimension(dimension)
cad.save()