1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165 | import cadwork as cw
import attribute_controller as ac
import element_controller as ec
import visualization_controller as vc
import utility_controller as uc
import menu_controller as mc
def list_ele_types(ele_type):
l_ele_types = [[cw.element_type.is_additional_element(ele_type), 'is_additional_element'],
[cw.element_type.is_auxiliary(ele_type), 'is_auxiliary'],
[cw.element_type.is_cadwork(ele_type), 'is_cadwork'],
[cw.element_type.is_circular_axis(ele_type), 'is_circular_axis'],
[cw.element_type.is_circular_beam(ele_type), 'is_circular_beam'],
[cw.element_type.is_connector_axis(ele_type), 'is_connector_axis'],
[cw.element_type.is_connector_node(ele_type), 'is_connector_node'],
[cw.element_type.is_container(ele_type), 'is_container'],
[cw.element_type.is_dimension(ele_type), 'is_dimension'],
[cw.element_type.is_drilling_axis(ele_type), 'is_drilling_axis'],
[cw.element_type.is_eave_axis(ele_type), 'is_eave_axis'],
[cw.element_type.is_export_solid(ele_type), 'is_export_solid'],
[cw.element_type.is_export_solid_scene(ele_type), 'is_export_solid_scene'],
[cw.element_type.is_floor(ele_type), 'is_floor'],
[cw.element_type.is_global_cut(ele_type), 'is_global_cut'],
[cw.element_type.is_graphical_object(ele_type), 'is_graphical_object'],
[cw.element_type.is_line(ele_type), 'is_line'],
[cw.element_type.is_nesting_parent(ele_type), 'is_nesting_parent'],
[cw.element_type.is_none(ele_type), 'is_none'],
[cw.element_type.is_normal_node(ele_type), 'is_normal_node'],
[cw.element_type.is_opening(ele_type), 'is_opening'],
[cw.element_type.is_panel(ele_type), 'is_panel'],
[cw.element_type.is_rectangular_axis(ele_type), 'is_rectangular_axis'],
[cw.element_type.is_rectangular_beam(ele_type), 'is_rectangular_beam'],
[cw.element_type.is_roof(ele_type), 'is_roof'],
[cw.element_type.is_room(ele_type), 'is_room'],
[cw.element_type.is_rotation_element(ele_type), 'is_rotation_element'],
[cw.element_type.is_section_trace(ele_type), 'is_section_trace'],
[cw.element_type.is_steel_shape(ele_type), 'is_steel_shape'],
[cw.element_type.is_surface(ele_type), 'is_surface'],
[cw.element_type.is_text_document(ele_type), 'is_text_document'],
[cw.element_type.is_wall(ele_type), 'is_wall'],
[cw.element_type.is_wire_axis(ele_type), 'is_wire_axis']]
return l_ele_types
def list_process_types_is(process_type):
l_process_types_i = [[cw.process_type.is_hip_valley(process_type), 'is_hip_valley'],
[cw.process_type.is_jack_rafter(process_type), 'is_jack_rafter'],
[cw.process_type.is_log(process_type), 'is_log'],
[cw.process_type.is_none(process_type), 'is_none'],
[cw.process_type.is_panel_1(process_type), 'is_panel_1'],
[cw.process_type.is_panel_2(process_type), 'is_panel_2'],
[cw.process_type.is_panel_3(process_type), 'is_panel_3'],
[cw.process_type.is_panel_4(process_type), 'is_panel_4'],
[cw.process_type.is_panel_5(process_type), 'is_panel_5'],
[cw.process_type.is_purlin(process_type), 'is_purlin'],
[cw.process_type.is_rafter(process_type), 'is_rafter'],
[cw.process_type.is_rough_volume_framed_wall(process_type), 'is_rough_volume_framed_wall'],
[cw.process_type.is_rough_volume_log_home(process_type), 'is_rough_volume_log_home'],
[cw.process_type.is_rough_volume_solid_wood_wall(process_type),
'is_rough_volume_solid_wood_wall'],
[cw.process_type.is_stud(process_type), 'is_stud'],
[cw.process_type.is_tread(process_type), 'is_tread'],
[cw.process_type.is_truss(process_type), 'is_truss'],
[cw.process_type.is_user_1(process_type), 'is_user_1'],
[cw.process_type.is_user_2(process_type), 'is_user_2'],
[cw.process_type.is_user_3(process_type), 'is_user_3'],
[cw.process_type.is_user_4(process_type), 'is_user_4'],
[cw.process_type.is_user_5(process_type), 'is_user_5'],
[cw.process_type.is_user_5(process_type), 'is_user_5']]
return l_process_types_i
def list_process_types_set(z, process_type):
if z == 1:
process_type.set_hip_valley()
elif z == 2:
process_type.set_jack_rafter()
elif z == 3:
process_type.set_log()
elif z == 4:
process_type.set_none()
elif z == 5:
process_type.set_panel_1()
elif z == 6:
process_type.set_panel_2()
elif z == 7:
process_type.set_panel_3()
elif z == 8:
process_type.set_panel_4()
elif z == 9:
process_type.set_panel_5()
elif z == 10:
process_type.set_purlin()
elif z == 11:
process_type.set_rafter()
elif z == 12:
process_type.set_rough_volume_framed_wall()
elif z == 13:
process_type.set_rough_volume_log_home()
elif z == 14:
process_type.set_rough_volume_solid_wood_wall()
elif z == 15:
process_type.set_stud()
elif z == 16:
process_type.set_tread()
elif z == 17:
process_type.set_truss()
elif z == 18:
process_type.set_user_1()
elif z == 19:
process_type.set_user_2()
elif z == 20:
process_type.set_user_3()
elif z == 21:
process_type.set_user_4()
else:
process_type.set_user_5()
return process_type
def menu_output_type():
menu_items = ['hip_valley', 'jack_rafter', 'log', 'none', 'panel_1', 'panel_2', 'panel_3',
'panel_4', 'panel_5', 'purlin', 'rafter', 'rough_volume_framed_wall', 'rough_volume_log_home',
'rough_volume_solid_wood_wall', 'stud', 'tread', 'truss', 'user_1', 'user_2', 'user_3',
'user_4', 'user_5']
menu_select = mc.display_simple_menu(menu_items)
menu_i = menu_items.index(menu_select)
return menu_i+1
def main():
active_elements = ec.get_active_identifiable_element_ids()
if len(active_elements) > 0:
for element in active_elements:
ele_type = ac.get_element_type(element)
l_ele_types = list_ele_types(ele_type)
process_type = ac.get_output_type(element)
l_process_types = list_process_types_is(process_type)
for p_type in l_process_types:
if p_type[0]:
for e_type in l_ele_types:
if e_type[0]:
vc.hide_all_elements()
vc.set_visible([element])
vc.zoom_all_elements()
uc.print_error(f'Elementyp = {e_type[1]} / Ausgabeart = {p_type[1]}')
n_process_type = list_process_types_set(menu_output_type(), process_type)
ac.set_output_type([element], n_process_type)
l_process_types = list_process_types_is(process_type)
for p_type_n in l_process_types:
if p_type_n[0]:
uc.print_error(f'Ausgabeart neu = {p_type_n[1]}')
if __name__ == '__main__':
main()
|