Standard Variables¶
Standard Variables¶
1# This example shows how to read variables stored in a standard
2impact.gui.output_toolbox.clear()
3
4# Note: You should always assign impact.active_database.standard_creator
5# to a local variable
6sc = impact.active_database.standard_creator
7
8sc.standard = "FEFCO 0201"
9sc.material = impact.active_database.find_master_tool_setting("Corrugated|B Flute", ipMasterSettingType.mstMaterial)
10
11if sc.valid:
12 impact.gui.output_toolbox.add("Successfully loaded standard: " + str(sc.description))
13
14 # you can read variables directly
15 impact.gui.output_toolbox.add("Variable L: " + str(sc.variable_settings.variables.item("L").value))
16
17 # you can iterate all variables
18 for variable in sc.variable_settings.variables:
19
20 # we need to ignore variables with an unknown type - these are text or line separators
21 if variable.variable_type != ipVariableType.vtUnknown:
22 impact.gui.output_toolbox.add("Variable Name: " + str(variable.name))
23 impact.gui.output_toolbox.add(" Group: " + str(variable.group.name))
24 impact.gui.output_toolbox.add(" Type: " + str(variable.variable_type))
25 impact.gui.output_toolbox.add(" Value: " + str(variable.value))
26 impact.gui.output_toolbox.add(" Prompt: " + str(variable.prompt))
27 impact.gui.output_toolbox.add(" Visible: " + str(variable.visible))
28 impact.gui.output_toolbox.add(" ReadOnly: " + str(variable.read_only))
29 impact.gui.output_toolbox.add(" IsMaterial: " + str(variable.material_variable))
30 impact.gui.output_toolbox.add(" Expression: " + str(variable.expression))
31
32 if variable.variable_type == ipVariableType.vtChoiceList:
33 impact.gui.output_toolbox.add(" ChoiceList Count: " + str(variable.choice_count))
34
35 for i in range(1, variable.choice_count + 1):
36 impact.gui.output_toolbox.add(" Choice " + str(i) + ": " + str(variable.choice_prompt(i)))
37 impact.gui.output_toolbox.add(" Preview Layer: " + str(variable.choice_preview_layer(i)))
38
39 # you can iterate all groups
40 for group in sc.variable_settings.groups:
41 impact.gui.output_toolbox.add("Group Name: " + str(group.name))
42 impact.gui.output_toolbox.add(" Preview Layer: " + str(group.preview_layer))
43 impact.gui.output_toolbox.add(" Visible: " + str(group.visible))
44 impact.gui.output_toolbox.add(" Advanced: " + str(group.advanced))
45
46 # you can find all visible variables of a group
47 group = sc.variable_settings.groups.item("Main")
48
49 if not group.isNone():
50 impact.gui.output_toolbox.add("Finding visible variables for Group: " + str(group.name))
51 for variable in sc.variable_settings.variables:
52 if (variable.group.name == group.name) and (variable.variable_type != ipVariableType.vtUnknown) and variable.visible:
53 impact.gui.output_toolbox.add(" Variable: " + str(variable.name))
54
55 # you can determine preview layers for the standard
56 impact.gui.output_toolbox.add("Preview Layer: " + str(sc.variable_settings.preview_layer))
57 impact.gui.output_toolbox.add("3D Preview Layer: " + str(sc.variable_settings.preview3_d_layer))
58
59else:
60 impact.gui.output_toolbox.add("Unable to load the standard FEF0201")
61