Tidy Slots (Python)¶
Tidy Slots (Python)¶
1# This example creates a slot (rectangle) and tidys it
2
3# Create a local variable for the impact.gui
4g = impact.gui
5
6# Create a local variable for the output toolbox
7ot = g.output_toolbox
8
9# Clear the output toolbox
10ot.clear()
11
12# Create a local variable for the active drawing
13ad = impact.active_drawing
14
15# Check there is an active drawing
16if ad.isNone():
17
18 # Display a message in the output toolbox
19 ot.add("Unable to continue: there is no active drawing")
20
21else:
22
23 # Create a local variable for the active block
24 ab = ad.active_layer.active_block
25
26 # Move to the origin
27 ab.move_ad(0, 0)
28
29 # Create a rectangle (slot)
30 line1 = ab.line_ad( 10, 0 )
31 line2 = ab.line_ad( 10, 100 )
32 line3 = ab.line_ad( 0, 100 )
33 line4 = ab.line_ad( 0, 0 )
34
35 # Ensure None is selected (auto select may be on)
36 ab.select_none()
37
38 # Select all the lines
39 line1.selected = True
40 line2.selected = True
41 line3.selected = True
42 line4.selected = True
43
44 # Define some local variables for the method parameters
45 maxSlotWidth = 90
46 maxSlotAngle = 10
47 tidyFlapSlots = True
48 tidyLockSlots = True
49
50 # Tidy the slots
51 ab.tidy_slots(maxSlotWidth, maxSlotAngle, tidyFlapSlots, tidyLockSlots)
52
53 # View the extents
54 g.active_window.view_extents()