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