SymbolInsertd example¶
SymbolInsertd example¶
1# this example inserts a symbol in various modes using relative
2# coordinates and vector parameters
3
4# Create a local variable for the output toolbox
5ot = impact.gui.output_toolbox
6
7# Clear the output toolbox
8ot.clear()
9
10# Create a local variable for the active drawing
11ad = impact.active_drawing
12
13# check there is an active drawing
14if ad.isNone():
15
16 # display a message in the output toolbox
17 ot.add("Unable to continue: there is no active drawing")
18
19else:
20
21 # create a local variable for the active block
22 ab = ad.active_layer.active_block
23
24 # create local variables for the symbol name, scale angle and
25 # mirror options
26 symbol_name = "Die Face"
27 scale_value = 2
28 angle = 45
29 mirror_x = 0
30 mirror_y = 0
31
32 # insert the symbol as a symbol
33 symbol_insert = ab.symbol_insertd(symbol_name, 100, 0, scale_value, angle, mirror_x, mirror_y, ipSymbolInsertMode.simAsSymbols)
34
35 # check the symbol was inserted
36 if symbol_insert is not None:
37 ot.add("successfully inserted symbol '" + str(symbol_name) + "' as a symbol")
38 else:
39 ot.add("failed to insert symbol '" + str(symbol_name) + "' as a symbol")
40
41 # insert the symbol as a block
42 block_insert = ab.symbol_insertd(symbol_name, 100, 0, scale_value, angle, mirror_x, mirror_y, ipSymbolInsertMode.simAsBlocks)
43
44 # check the symbol was inserted
45 if block_insert is not None:
46 ot.add("successfully inserted symbol '" + str(symbol_name) + "' as a block")
47 else:
48 ot.add("failed to insert symbol '" + str(symbol_name) + "' as a block")
49
50 # insert the symbol as a block with symbols
51 block_insert = ab.symbol_insertd(symbol_name, 100, 0, scale_value, angle, mirror_x, mirror_y, ipSymbolInsertMode.simAsBlocksWithSymbols)
52
53 # check the symbol was inserted
54 if block_insert is not None:
55 ot.add("successfully inserted symbol '" + str(symbol_name) + "' as a block with symbols")
56 else:
57 ot.add("failed to insert symbol '" + str(symbol_name) + "' as a block with symbols")
58
59 # insert the symbol as a entities, note when inserting as entities the
60 # IActiveBlock.symbol_insert_a() method returns None
61 ab.symbol_insertd(symbol_name, 100, 0, scale_value, angle, mirror_x, mirror_y, ipSymbolInsertMode.simAsGeometry)
62
63 # View the extents of the active window
64 impact.gui.active_window.view_extents()