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