Skip to content

Commit 1963592

Browse files
committed
Add examples to function docstrings in endtype and element controllers
Signed-off-by: Michael Brunner <brunner@cadwork.swiss>
1 parent ccbb9fd commit 1963592

File tree

1 file changed

+185
-7
lines changed

1 file changed

+185
-7
lines changed

src/endtype_controller/__init__.pyi

Lines changed: 185 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,13 @@ def get_endtype_id(name: str) -> int:
1616
Parameters:
1717
name: name
1818
19+
Examples:
20+
>>> import endtype_controller as etc
21+
22+
>>> endtype_name = "Tenon_100x50"
23+
>>> endtype_id = etc.get_endtype_id(endtype_name)
24+
>>> print(f"Endtype ID: {endtype_id}")
25+
1926
Returns:
2027
int
2128
"""
@@ -26,6 +33,15 @@ def get_endtype_id_start(element_id: int) -> int:
2633
Parameters:
2734
element_id: element_id
2835
36+
Examples:
37+
>>> import element_controller as ec
38+
>>> import endtype_controller as etc
39+
40+
>>> selected_elements = ec.get_all_identifiable_element_ids()
41+
>>> element = selected_elements[0]
42+
>>> start_endtype_id = etc.get_endtype_id_start(element)
43+
>>> print(f"Start endtype ID: {start_endtype_id}")
44+
2945
Returns:
3046
int
3147
"""
@@ -36,6 +52,15 @@ def get_endtype_id_end(element_id: int) -> int:
3652
Parameters:
3753
element_id: element_id
3854
55+
Examples:
56+
>>> import element_controller as ec
57+
>>> import endtype_controller as etc
58+
59+
>>> selected_elements = ec.get_all_identifiable_element_ids()
60+
>>> element = selected_elements[0]
61+
>>> end_endtype_id = etc.get_endtype_id_end(element)
62+
>>> print(f"End endtype ID: {end_endtype_id}")
63+
3964
Returns:
4065
int
4166
"""
@@ -48,6 +73,20 @@ def get_endtype_id_facet(element_id: int, face_number: int) -> int:
4873
element_id: element_id
4974
face_number: face_number
5075
76+
Note:
77+
Endtypes can only be set on faces that are placed at start or end points.
78+
Endtypes cannot be placed on arbitrary faces.
79+
80+
Examples:
81+
>>> import element_controller as ec
82+
>>> import endtype_controller as etc
83+
84+
>>> selected_elements = ec.get_all_identifiable_element_ids()
85+
>>> element = selected_elements[0]
86+
>>> face_number = 1
87+
>>> facet_endtype_id = etc.get_endtype_id_facet(element, face_number)
88+
>>> print(f"Facet endtype ID: {facet_endtype_id}")
89+
5190
Returns:
5291
int
5392
"""
@@ -59,6 +98,15 @@ def set_endtype_name_start(element_id: int, name: str) -> None:
5998
element_id: element_id
6099
name: name
61100
101+
Examples:
102+
>>> import element_controller as ec
103+
>>> import endtype_controller as etc
104+
105+
>>> selected_elements = ec.get_all_identifiable_element_ids()
106+
>>> element = selected_elements[0]
107+
>>> endtype_name = "Tenon_100x50"
108+
>>> etc.set_endtype_name_start(element, endtype_name)
109+
62110
Returns:
63111
None
64112
"""
@@ -70,6 +118,15 @@ def set_endtype_name_end(element_id: int, name: str) -> None:
70118
element_id: element_id
71119
name: name
72120
121+
Examples:
122+
>>> import element_controller as ec
123+
>>> import endtype_controller as etc
124+
125+
>>> selected_elements = ec.get_all_identifiable_element_ids()
126+
>>> element = selected_elements[0]
127+
>>> endtype_name = "Mortise_100x50"
128+
>>> etc.set_endtype_name_end(element, endtype_name)
129+
73130
Returns:
74131
None
75132
"""
@@ -83,6 +140,20 @@ def set_endtype_name_facet(element_id: int, name: str, face_number: int) -> None
83140
name: name
84141
face_number: face_number
85142
143+
Note:
144+
Endtypes can only be set on faces that are placed at start or end points.
145+
Endtypes cannot be placed on arbitrary faces.
146+
147+
Examples:
148+
>>> import element_controller as ec
149+
>>> import endtype_controller as etc
150+
151+
>>> selected_elements = ec.get_all_identifiable_element_ids()
152+
>>> element = selected_elements[0]
153+
>>> endtype_name = "Dovetail_60x30"
154+
>>> face_number = 2
155+
>>> etc.set_endtype_name_facet(element, endtype_name, face_number)
156+
86157
Returns:
87158
None
88159
"""
@@ -94,6 +165,15 @@ def set_endtype_id_start(element_id: int, endtype_id: int) -> None:
94165
element_id: element_id
95166
endtype_id: endtype_id
96167
168+
Examples:
169+
>>> import element_controller as ec
170+
>>> import endtype_controller as etc
171+
172+
>>> selected_elements = ec.get_all_identifiable_element_ids()
173+
>>> element = selected_elements[0]
174+
>>> endtype_id = 12345
175+
>>> etc.set_endtype_id_start(element, endtype_id)
176+
97177
Returns:
98178
None
99179
"""
@@ -105,6 +185,15 @@ def set_endtype_id_end(element_id: int, endtype_id: int) -> None:
105185
element_id: element_id
106186
endtype_id: endtype_id
107187
188+
Examples:
189+
>>> import element_controller as ec
190+
>>> import endtype_controller as etc
191+
192+
>>> selected_elements = ec.get_all_identifiable_element_ids()
193+
>>> element = selected_elements[0]
194+
>>> endtype_id = 54321
195+
>>> etc.set_endtype_id_end(element, endtype_id)
196+
108197
Returns:
109198
None
110199
"""
@@ -118,12 +207,19 @@ def set_endtype_id_facet(element_id: int, endtype_id: int, face_number: int) ->
118207
endtype_id: endtype_id
119208
face_number: face_number
120209
121-
Returns:
122-
None
123-
"""
210+
Note:
211+
Endtypes can only be set on faces that are placed at start or end points.
212+
Endtypes cannot be placed on arbitrary faces.
213+
214+
Examples:
215+
>>> import element_controller as ec
216+
>>> import endtype_controller as etc
124217
125-
def clear_errors() -> None:
126-
"""clear errors
218+
>>> selected_elements = ec.get_all_identifiable_element_ids()
219+
>>> element = selected_elements[0]
220+
>>> endtype_id = 67890
221+
>>> face_number = 3
222+
>>> etc.set_endtype_id_facet(element, endtype_id, face_number)
127223
128224
Returns:
129225
None
@@ -137,6 +233,15 @@ def create_new_endtype(endtype_name: str, endtype_id: int, folder_name: str) ->
137233
endtype_id: endtype_id
138234
folder_name: folder_name
139235
236+
Examples:
237+
>>> import endtype_controller as etc
238+
239+
>>> endtype_name = "Custom_Joint_80x40"
240+
>>> endtype_id = 99999
241+
>>> folder_name = "Custom_Joints"
242+
>>> new_id = etc.create_new_endtype(endtype_name, endtype_id, folder_name)
243+
>>> print(f"Created endtype with ID: {new_id}")
244+
140245
Returns:
141246
int
142247
"""
@@ -147,6 +252,13 @@ def get_endtype_name(element_id: int) -> str:
147252
Parameters:
148253
element_id: element_id
149254
255+
Examples:
256+
>>> import endtype_controller as etc
257+
258+
>>> endtype_id = 12345
259+
>>> endtype_name = etc.get_endtype_name(endtype_id)
260+
>>> print(f"Endtype name: {endtype_name}")
261+
150262
Returns:
151263
str
152264
"""
@@ -157,6 +269,15 @@ def get_endtype_name_start(element_id: int) -> str:
157269
Parameters:
158270
element_id: element_id
159271
272+
Examples:
273+
>>> import element_controller as ec
274+
>>> import endtype_controller as etc
275+
276+
>>> selected_elements = ec.get_all_identifiable_element_ids()
277+
>>> element = selected_elements[0]
278+
>>> start_name = etc.get_endtype_name_start(element)
279+
>>> print(f"Start endtype name: {start_name}")
280+
160281
Returns:
161282
str
162283
"""
@@ -167,61 +288,118 @@ def get_endtype_name_end(element_id: int) -> str:
167288
Parameters:
168289
element_id: element_id
169290
291+
Examples:
292+
>>> import element_controller as ec
293+
>>> import endtype_controller as etc
294+
295+
>>> selected_elements = ec.get_all_identifiable_element_ids()
296+
>>> element = selected_elements[0]
297+
>>> end_name = etc.get_endtype_name_end(element)
298+
>>> print(f"End endtype name: {end_name}")
299+
170300
Returns:
171301
str
172302
"""
173303

174-
175304
def get_endtype_name_facet(element_id: int, face_number: int) -> str:
176305
"""get endtype name facet
177306
178307
Parameters:
179308
element_id: element_id
180309
face_number: face_number
181310
311+
Note:
312+
Endtypes can only be set on faces that are placed at start or end points.
313+
Endtypes cannot be placed on arbitrary faces.
314+
315+
Examples:
316+
>>> import element_controller as ec
317+
>>> import endtype_controller as etc
318+
319+
>>> selected_elements = ec.get_all_identifiable_element_ids()
320+
>>> element = selected_elements[0]
321+
>>> face_number = 2
322+
>>> facet_name = etc.get_endtype_name_facet(element, face_number)
323+
>>> print(f"Facet endtype name: {facet_name}")
324+
182325
Returns:
183326
str
184327
"""
185328

186329
def get_existing_tenon_ids() -> List[int]:
187330
"""Get the existing tenon endtypeIDs
188331
332+
Examples:
333+
>>> import endtype_controller as etc
334+
335+
>>> tenon_ids = etc.get_existing_tenon_ids()
336+
>>> print(f"Available tenon endtype IDs: {tenon_ids}")
337+
189338
Returns:
190339
list of existing tenon endtypeIDs
191340
"""
192341

193342
def get_existing_lengthening_ids() -> List[int]:
194343
"""Get the existing lengthening endtypeIDs
195344
345+
Examples:
346+
>>> import endtype_controller as etc
347+
348+
>>> lengthening_ids = etc.get_existing_lengthening_ids()
349+
>>> print(f"Available lengthening endtype IDs: {lengthening_ids}")
350+
196351
Returns:
197352
list of existing lengthening endtypeIDs
198353
"""
199354

200355
def get_existing_dovetail_ids() -> List[int]:
201356
"""Get the existing dovetail endtypeIDs
202357
358+
Examples:
359+
>>> import endtype_controller as etc
360+
361+
>>> dovetail_ids = etc.get_existing_dovetail_ids()
362+
>>> print(f"Available dovetail endtype IDs: {dovetail_ids}")
363+
203364
Returns:
204365
list of existing dovetail endtypeIDs
205366
"""
206367

207368
def get_existing_dovetail_dado_ids() -> List[int]:
208369
"""Get the existing dado endtypeIDs
209370
371+
Examples:
372+
>>> import endtype_controller as etc
373+
374+
>>> dado_ids = etc.get_existing_dovetail_dado_ids()
375+
>>> print(f"Available dado endtype IDs: {dado_ids}")
376+
210377
Returns:
211378
list of existing dado endtypeIDs
212379
"""
213380

214381
def get_existing_japanese_tenon_ids() -> List[int]:
215382
"""Get the existing japanese-tenon endtypeIDs
216383
384+
Examples:
385+
>>> import endtype_controller as etc
386+
387+
>>> japanese_tenon_ids = etc.get_existing_japanese_tenon_ids()
388+
>>> print(f"Available japanese-tenon endtype IDs: {japanese_tenon_ids}")
389+
217390
Returns:
218391
list of existing japanese-tenon endtypeIDs
219392
"""
220393

221394
def start_endtype_dialog() -> int:
222395
"""Start endtype dialog
223396
397+
Examples:
398+
>>> import endtype_controller as etc
399+
400+
>>> selected_endtype_id = etc.start_endtype_dialog()
401+
>>> print(f"User selected endtype ID: {selected_endtype_id}")
402+
224403
Returns:
225404
Selected endtypeID
226405
"""
227-

0 commit comments

Comments
 (0)