Simple 3D model creation¶
Simple 3D model creation¶
1# This simple example creates a new 3d layer and then creates a 3d model from the original 2d layer.
2
3drawing = impact.active_drawing
4layer = drawing.active_layer
5
6# Get the required settings from the database
7palette_settings = impact.active_database.find_master_tool_setting("<Default>", ipMasterSettingType.mst3DPalettes)
8board_settings = impact.active_database.find_master_tool_setting("Carton|Carton - Silk Board", ipMasterSettingType.mst3DBoard)
9
10if not layer.layer_type == "THREE_D":
11 name_string = "New 3D Layer"
12 type_string = "THREE_D"
13
14 # Add a new 3d layer and get the scene
15 new_layer = drawing.layers.add(name_string, type_string, layer)
16 scene = new_layer.scene
17
18 if scene is not None:
19
20 # Create options for adding a 3d model
21 options = impact.creator.three_d().create_model_options()
22
23 options.layer = layer
24 options.name = "New Model"
25 options.origin = impact.creator.vector(0,0)
26 options.palette_settings = palette_settings
27 options.board_settings = board_settings
28
29 # Add a 3d model
30 scene.instances.add(ip3DObjectType.ot3DModel, options)
31
32 # Set the camera view
33 scene.view_extents(ip3DViewType.vt3DReference)
34
35 else:
36 impact.gui.output_toolbox.add("No 3d scene")
37
38else:
39 impact.gui.output_toolbox.add("not a 2d layer")
40