diff --git a/docs/documentation/window_geometry.md b/docs/documentation/window_geometry.md new file mode 100644 index 0000000..659170d --- /dev/null +++ b/docs/documentation/window_geometry.md @@ -0,0 +1,6 @@ +# window_geometry + +::: src.cadwork.window_geometry + rendering: + show_root_heading: true + show_source: true \ No newline at end of file diff --git a/docs/release_notes.md b/docs/release_notes.md index c2de160..b3eaa13 100644 --- a/docs/release_notes.md +++ b/docs/release_notes.md @@ -1,191 +1,73 @@ -# change log build 30.498.0 - -## New Items - -### Functions dimension_controller - -#### get_segment_direction - -```python -def get_segment_direction(element: int, segment_index: int) ->point_3d: - """get segment direction - - Parameters: - element: element - segment_index: segment_index - - Returns: - point_3d - """ - -``` - ## New Items - ### Functions element_controller - -#### create_truncated_cone_beam_points +#### unjoin_elements ```python -def create_truncated_cone_beam_points(start_diameter: float, end_diameter: - float, p1: point_3d, p2: point_3d, p3: point_3d) ->int: - """create truncated cone beam points +def unjoin_elements(element_id_list: List[int]) ->bool: + """unjoin elements Parameters: - start_diameter: start_diameter - end_diameter: end_diameter - p1: p1 - p2: p2 - p3: p3 + element_id_list: element_id_list Returns: - int + bool """ ``` -#### create_truncated_cone_beam_vectors +#### unjoin_top_level_elements ```python -def create_truncated_cone_beam_vectors(start_diameter: float, end_diameter: - float, length: float, p1: point_3d, xl: point_3d, zl: point_3d) ->int: - """create truncated cone beam vectors +def unjoin_top_level_elements(element_id_list: List[int]) ->bool: + """unjoin top level elements Parameters: - start_diameter: start_diameter - end_diameter: end_diameter - length: length - p1: p1 - xl: xl - zl: zl + element_id_list: element_id_list Returns: - int + bool """ ``` -#### create_spline_line - -```python -def create_spline_line(spline_points: None) ->int: - """create spline line - - Parameters: - spline_points: spline_points - - Returns: - int - """ - -``` - -## New Items - -### Functions utility_controller - -#### get_user_int_with_default_value +#### set_element_group_single_select_mode ```python -def get_user_int_with_default_value(message: str, default_value: int) ->int: - """get user int with default value - - Parameters: - message: message - default_value: default_value +def set_element_group_single_select_mode() ->None: + """set element group single select mode Returns: - int + None """ ``` -#### get_user_double_with_default_value +#### set_element_group_multi_select_mode ```python -def get_user_double_with_default_value(message: str, default_value: float - ) ->float: - """get user double with default value - - Parameters: - message: message - default_value: default_value +def set_element_group_multi_select_mode() ->None: + """set element group multi select mode Returns: - float + None """ ``` -#### get_user_string_with_default_value +## New Items +### Functions visualization_controller +#### enter_working_plane ```python -def get_user_string_with_default_value(message: str, default_value: str) ->str: - """get user string with default value +def enter_working_plane(plane_normal: point_3d, plane_origin: point_3d) ->None: + """enter working plane Parameters: - message: message - default_value: default_value + plane_normal: plane_normal + plane_origin: plane_origin Returns: - str + None """ ``` - -## New Items - -### Classes cadwork - -#### multi_layer_type - -```python -@unique -class multi_layer_type(IntEnum): - """multi layer type - - Examples: - >>> cadwork.multi_layer_type.undefined - undefined - """ - undefined = 0 - """""" - structure = 1 - """""" - panel = 2 - """""" - lathing = 3 - """""" - air = 4 - """""" - covering = 5 - """""" - - def __int__(self) ->int: - return self.value - -``` - -## New Items - -### Classes cadwork - -#### ifc_2x3_element_type - -```python -class ifc_2x3_element_type: - def is_ifc_element_assembly(self) ->bool: - """is ifc element assembly - - Returns: - bool - """ - - def set_ifc_element_assembly(self) ->None: - """set ifc element assembly - - Returns: - None - """ - -``` \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index 0254640..8d1f11f 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -52,6 +52,7 @@ nav: - Camera: documentation/camera_data.md - Layer Settings: documentation/layer_settings.md - Text Object Options: documentation/text_object_options.md + - Window Geometry: documentation/window_geometry.md - Connector Axis Controller: documentation/connector_axis_controller.md - Dimension Controller: documentation/dimension_controller.md - Element Controller: documentation/element_controller.md diff --git a/pyproject.toml b/pyproject.toml index 3d993c6..8c7a2b5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "cwapi3d" -version = "30.498.0" +version = "30.0.533" authors = [{ name = "Cadwork", email = "it@cadwork.ca" }] requires-python = ">= 3.10" description = 'Python bindings for CwAPI3D' diff --git a/src/cadwork/point_3d.pyi b/src/cadwork/point_3d.pyi index d782233..45c5cf9 100644 --- a/src/cadwork/point_3d.pyi +++ b/src/cadwork/point_3d.pyi @@ -1,7 +1,17 @@ class point_3d: + def __init__(self, x: float, y: float, z: float): + """ + Initialize an instance of a point_3d. + + Parameters: + x (float): The x-coordinate of the point. + y (float): The y-coordinate of the point. + z (float): The z-coordinate of the point. + """ + self.x = x + self.y = y + self.z = z - def __init__(self, x: float, y: float, z: float) -> None: ... - def dot(self, p: 'point_3d') -> float: """dot diff --git a/src/cadwork/projection_type.pyi b/src/cadwork/projection_type.pyi index 7edbd64..1ddb0f2 100644 --- a/src/cadwork/projection_type.pyi +++ b/src/cadwork/projection_type.pyi @@ -9,9 +9,9 @@ class projection_type(IntEnum): >>> cadwork.projection_type.Perspective Perspective """ - Perspective = 1 + Perspective = 0 """""" - Orthographic = 2 + Orthographic = 1 """""" def __int__(self) -> int: diff --git a/src/cadwork/window_geometry.pyi b/src/cadwork/window_geometry.pyi index 82f83c2..97c12d2 100644 --- a/src/cadwork/window_geometry.pyi +++ b/src/cadwork/window_geometry.pyi @@ -1,23 +1,27 @@ -class point: - def __init__(self, x, y): +class Point: + def __init__(self, x: float, y: float): + """ + Initialize a point with x and y coordinates. + + Args: + x (float): The x-coordinate. + y (float): The y-coordinate. + """ self.x = x self.y = y -class window_geometry: - def __init__(self): - self.bottom_left = self.point(0, 0) - self.bottom_right = self.point(0, 0) - self.top_left = self.point(0, 0) - self.top_right = self.point(0, 0) - - @property - def bottom_left(self) -> point: ... - - @property - def bottom_right(self) -> point: ... - - @property - def top_left(self) -> point: ... +class WindowGeometry: + def __init__(self, bottom_left: Point, bottom_right: Point, top_left: Point, top_right: Point): + """ + Initialize window geometry with points defining the window corners. - @property - def top_right(self) -> point: ... \ No newline at end of file + Args: + bottom_left (Point): The bottom left corner of the window. + bottom_right (Point): The bottom right corner of the window. + top_left (Point): The top left corner of the window. + top_right (Point): The top right corner of the window. + """ + self.bottom_left = bottom_left + self.bottom_right = bottom_right + self.top_left = top_left + self.top_right = top_right \ No newline at end of file diff --git a/src/element_controller/__init__.pyi b/src/element_controller/__init__.pyi index 3296bb1..79253e5 100644 --- a/src/element_controller/__init__.pyi +++ b/src/element_controller/__init__.pyi @@ -4,17 +4,7 @@ from cadwork import element_module_properties from cadwork import facet_list from cadwork import point_3d from cadwork import text_object_options -from cadwork import coordinate_system_data - -def get_last_error(error_code: int) -> str: - """Gets the last error - - Parameters: - error_code: error_code - - Returns: - error string - """ +from cadwork.coordinate_system_data import coordinate_system_data def delete_elements(element_id_list: List[int]) -> None: """delete elements @@ -563,7 +553,7 @@ def clear_errors() -> None: """ def glide_elements(element_i_ds: List[int], glide_point: point_3d) -> None: - """Glides elements + """glide elements Parameters: element_i_ds: element_i_ds @@ -669,18 +659,6 @@ def create_auto_container_from_standard_with_reference(elements: List[int], outp int """ -def slice_elements_with_plane_and_get_new_elements(a0: int, a1: point_3d, a2: float) -> List[int]: - """slice elements with plane and get new elements - - Parameters: - a0: a0 - a1: a1 - a2: a2 - - Returns: - List[int] - """ - def create_surface(surface_vertices: List[point_3d]) -> int: """create surface @@ -691,66 +669,56 @@ def create_surface(surface_vertices: List[point_3d]) -> int: int """ -def convert_circular_beam_to_drilling(elements: List[int]) -> None: - """converts circular/round beams into drillings - - Parameters: - elements: elements - - Returns: - None - """ - -def stretch_start_facet(a0: List[int], a1: point_3d) -> None: +def stretch_start_facet(elements: List[int], stretch_vector: point_3d) -> None: """stretch start facet Parameters: - a0: a0 - a1: a1 + elements: elements + stretch_vector: a vector that defines the stretch direction and distance Returns: None """ -def stretch_end_facet(a0: List[int], a1: point_3d) -> None: +def stretch_end_facet(elements: List[int], stretch_vector: point_3d) -> None: """stretch end facet Parameters: - a0: a0 - a1: a1 + elements: elements + stretch_vector: a vector that defines the stretch direction and distance Returns: None """ -def set_export_solid_contents(a0: int, a1: List[int]) -> None: +def set_export_solid_contents(export_solid_id: int, element_i_ds: List[int]) -> None: """set export solid contents Parameters: - a0: a0 - a1: a1 + export_solid_id: export_solid_id + element_i_ds: element_i_ds Returns: None """ -def set_container_contents(a0: int, a1: List[int]) -> None: +def set_container_contents(container_id: int, element_i_ds: List[int]) -> None: """set container contents Parameters: - a0: a0 - a1: a1 + container_id: container_id + element_i_ds: element_i_ds Returns: None """ -def set_parent_opening_variants_opening_angle(a0: List[int], a1: float) -> None: +def set_parent_opening_variants_opening_angle(element_i_ds: List[int], angle: float) -> None: """set parent opening variants opening angle Parameters: - a0: a0 - a1: a1 + element_i_ds: element_i_ds + angle: angle Returns: None @@ -781,7 +749,7 @@ def mirror_copy_elements(elements: List[int], plane: point_3d, plane_distance: f """ def reset_element_cadwork_guid(element_id: int) -> None: - """sets the Cadwork Guid of an element to NULL + """reset element cadwork guid Parameters: element_id: element_id @@ -959,86 +927,86 @@ def convert_container_to_container_block(elements: List[int]) -> None: None """ -def create_bounding_box_local(a0: int, a1: List[int]) -> int: +def create_bounding_box_local(reference_element: int, elements: List[int]) -> int: """create bounding box local Parameters: - a0: a0 - a1: a1 + reference_element: reference_element + elements: elements Returns: int """ -def create_bounding_box_global(a1: List[int]) -> int: +def create_bounding_box_global(elements: List[int]) -> int: """create bounding box global Parameters: - a1: a1 + elements: elements Returns: int """ -def convert_auxiliary_to_panel(a0: List[int]) -> None: +def convert_auxiliary_to_panel(elements: List[int]) -> None: """convert auxiliary to panel Parameters: - a0: a0 + elements: elements Returns: None """ -def convert_auxiliary_to_beam(a0: List[int]) -> None: +def convert_auxiliary_to_beam(elements: List[int]) -> None: """convert auxiliary to beam Parameters: - a0: a0 + elements: elements Returns: None """ -def auto_set_rough_volume_situation(a0: List[int]) -> None: +def auto_set_rough_volume_situation(elements: List[int]) -> None: """auto set rough volume situation Parameters: - a0: a0 + elements: elements Returns: None """ -def rough_volume_situation_manual(a0: int, a1: List[int], a2: List[int]) -> None: +def rough_volume_situation_manual(cover: int, add_partner: List[int], remove_partner: List[int]) -> None: """rough volume situation manual Parameters: - a0: a0 - a1: a1 - a2: a2 + cover: cover + add_partner: add_partner + remove_partner: remove_partner Returns: None """ -def auto_set_parts_situation(a0: List[int]) -> None: +def auto_set_parts_situation(elements: List[int]) -> None: """auto set parts situation Parameters: - a0: a0 + elements: elements Returns: None """ -def parts_situation_manual(a0: int, a1: List[int], a2: List[int]) -> None: +def parts_situation_manual(cover: int, add_childs: List[int], remove_childs: List[int]) -> None: """parts situation manual Parameters: - a0: a0 - a1: a1 - a2: a2 + cover: cover + add_childs: add_childs + remove_childs: remove_childs Returns: None @@ -1058,12 +1026,12 @@ def activate_parts_without_situation() -> List[int]: List[int] """ -def add_elements_to_detail(a0: List[int], a1: int) -> None: +def add_elements_to_detail(elements: List[int], detail: int) -> None: """add elements to detail Parameters: - a0: a0 - a1: a1 + elements: The list of elements to be added to the detail + detail: The ID of the detail Returns: None @@ -1107,70 +1075,70 @@ def start_element_module_calculation_silently(covers: List[int]) -> None: None """ -def replace_physical_drillings_with_drilling_axes(a0: List[int], a1: float, a2: float) -> List[int]: +def replace_physical_drillings_with_drilling_axes(elements: List[int], mininum_diameter: float, maximum_diameter: float) -> List[int]: """replace physical drillings with drilling axes Parameters: - a0: a0 - a1: a1 - a2: a2 + elements: elements + mininum_diameter: mininum_diameter + maximum_diameter: maximum_diameter Returns: List[int] """ -def cut_element_with_processing_group(a0: int, a1: int) -> None: +def cut_element_with_processing_group(soft_element: int, processing: int) -> None: """cut element with processing group Parameters: - a0: a0 - a1: a1 + soft_element: soft_element + processing: processing Returns: None """ -def add_element_to_detail(a0: List[int], a1: int) -> None: +def add_element_to_detail(elements: List[int], detail: int) -> None: """add element to detail Parameters: - a0: a0 - a1: a1 + elements: elements + detail: detail Returns: None """ -def convert_elements_to_auxiliary_elements(a0: List[int]) -> None: +def convert_elements_to_auxiliary_elements(elements: List[int]) -> None: """convert elements to auxiliary elements Parameters: - a0: a0 + elements: elements Returns: None """ -def create_circular_axis_points(a0: float, a1: point_3d, a2: point_3d) -> int: +def create_circular_axis_points(diameter: float, p1: point_3d, p2: point_3d) -> int: """create circular axis points Parameters: - a0: a0 - a1: a1 - a2: a2 + diameter: diameter + p1: p1 + p2: p2 Returns: int """ -def create_circular_axis_vector(a0: float, a1: float, a2: point_3d, a3: point_3d) -> int: +def create_circular_axis_vector(diameter: float, length: float, p1: point_3d, xl: point_3d) -> int: """create circular axis vector Parameters: - a0: a0 - a1: a1 - a2: a2 - a3: a3 + diameter: diameter + length: length + p1: p1 + xl: xl Returns: int @@ -1189,96 +1157,96 @@ def create_polygon_panel(polygon_vertices: List[point_3d], thickness: float, xl: int """ -def cut_elements_with_overmeasure(a0: List[int], a1: List[int]) -> None: +def cut_elements_with_overmeasure(hard_elements: List[int], soft_elements: List[int]) -> None: """cut elements with overmeasure Parameters: - a0: a0 - a1: a1 + hard_elements: hard_elements + soft_elements: soft_elements Returns: None """ -def cut_log_corner_joint(a0: str, a1: List[int]) -> None: +def cut_log_corner_joint(settings_name: str, elements: List[int]) -> None: """cut log corner joint Parameters: - a0: a0 - a1: a1 + settings_name: settings_name + elements: elements Returns: None """ -def get_edge_selection(a0: List[int]) -> edge_list: +def get_edge_selection(elements: List[int]) -> edge_list: """get edge selection Parameters: - a0: a0 + elements: elements Returns: edge_list """ -def get_facets_with_lasso(a0: List[int]) -> facet_list: +def get_facets_with_lasso(elements: List[int]) -> facet_list: """get facets with lasso Parameters: - a0: a0 + elements: elements Returns: facet_list """ -def create_standard_element_from_guid_points(a0: str, a1: point_3d, a2: point_3d, a3: point_3d) -> int: +def create_standard_element_from_guid_points(guid: str, p1: point_3d, p2: point_3d, p3: point_3d) -> int: """create standard element from guid points Parameters: - a0: a0 - a1: a1 - a2: a2 - a3: a3 + guid: guid + p1: p1 + p2: p2 + p3: p3 Returns: int """ -def create_standard_element_from_guid_vectors(a0: str, a1: float, a2: point_3d, a3: point_3d, a4: point_3d) -> int: +def create_standard_element_from_guid_vectors(guid: str, length: float, p1: point_3d, xl: point_3d, zl: point_3d) -> int: """create standard element from guid vectors Parameters: - a0: a0 - a1: a1 - a2: a2 - a3: a3 - a4: a4 + guid: guid + length: length + p1: p1 + xl: xl + zl: zl Returns: int """ -def fillet_edge(a0: int, a1: point_3d, a2: point_3d, a3: float) -> None: +def fillet_edge(element_id: int, edge_start: point_3d, edge_end: point_3d, radius: float) -> None: """fillet edge Parameters: - a0: a0 - a1: a1 - a2: a2 - a3: a3 + element_id: element_id + edge_start: edge_start + edge_end: edge_end + radius: radius Returns: None """ -def chamfer_edge(a0: int, a1: point_3d, a2: point_3d, a3: float) -> None: +def chamfer_edge(element_id: int, edge_start: point_3d, edge_end: point_3d, length: float) -> None: """chamfer edge Parameters: - a0: a0 - a1: a1 - a2: a2 - a3: a3 + element_id: element_id + edge_start: edge_start + edge_end: edge_end + length: length Returns: None @@ -1315,7 +1283,7 @@ def convert_surfaces_to_volume(elements: List[int]) -> int: """ def cut_corner_lap(elements: List[int], depth: float, clearance_base: float, clearance_side: float, backcut: float, drilling_count: int, drilling_diameter: float, drilling_tolerance: float) -> None: - """cuts a corner-lap with specific parameters + """cut corner lap Parameters: elements: elements @@ -1332,7 +1300,7 @@ def cut_corner_lap(elements: List[int], depth: float, clearance_base: float, cle """ def cut_t_lap(elements: List[int], depth: float, clearance_base: float, clearance_side: float, backcut: float, drilling_count: int, drilling_diameter: float, drilling_tolerance: float) -> None: - """cuts a t-lap with specific parameters + """cut t lap Parameters: elements: elements @@ -1349,7 +1317,7 @@ def cut_t_lap(elements: List[int], depth: float, clearance_base: float, clearanc """ def cut_cross_lap(elements: List[int], depth: float, clearance_base: float, clearance_side: float, drilling_count: int, drilling_diameter: float, drilling_tolerance: float) -> None: - """cuts a cross-lap with specific parameters + """cut cross lap Parameters: elements: elements @@ -1365,7 +1333,7 @@ def cut_cross_lap(elements: List[int], depth: float, clearance_base: float, clea """ def delete_processes_keep_cutting_bodies(elements: List[int], keep_cutting_elements_only: bool) -> List[int]: - """Gets the cutting bodies of all processes (and deletes processes), like Ctrl+D Action + """delete processes keep cutting bodies Parameters: elements: elements @@ -1376,7 +1344,7 @@ def delete_processes_keep_cutting_bodies(elements: List[int], keep_cutting_eleme """ def cut_double_tenon(elements: List[int], depth1: float, depth2: float, clearance: float, backcut: float, drilling_count: int, drilling_diameter: float, drilling_tolerance: float) -> None: - """cuts a double tenon with specific parameters + """cut double tenon Parameters: elements: elements @@ -1392,19 +1360,19 @@ def cut_double_tenon(elements: List[int], depth1: float, depth2: float, clearanc None """ -def get_coordinate_system_data_nesting_child(nesting_parent_id: int, nesting_child_id: int) -> coordinate_system_data: - """Get the coordinate system of nesting child +def get_coordinate_system_data_nesting_child(nesting_parent_id: int, nesting_child_id: int) -> 'coordinate_system_data': + """get coordinate system data nesting child Parameters: nesting_parent_id: nesting_parent_id nesting_child_id: nesting_child_id Returns: - A global element coordinate-system of the nested child element consisting of a Point1, a Point2 and a Point3. You can get the local placement by subtracting the parent coordinate-system with child coordinate-system + coordinate_system_data """ def cut_half_lap(elements: List[int], length: float, clearance_length: float, clearance_depth: float, drilling_count: int, drilling_diameter: float, drilling_tolerance: float) -> None: - """cuts a half lap joint with specific parameters + """cut half lap Parameters: elements: elements @@ -1420,7 +1388,7 @@ def cut_half_lap(elements: List[int], length: float, clearance_length: float, cl """ def cut_simple_scarf(elements: List[int], length: float, depth: float, clearance_length: float, clearance_depth: float, drilling_count: int, drilling_diameter: float, drilling_tolerance: float) -> None: - """cuts a simple scarf joint with specific parameters + """cut simple scarf Parameters: elements: elements @@ -1437,7 +1405,7 @@ def cut_simple_scarf(elements: List[int], length: float, depth: float, clearance """ def cut_diagonal_cut(elements: List[int], length: float, clearance_length: float, drilling_count: int, drilling_diameter: float, drilling_tolerance: float) -> None: - """cuts a diagonal cut joint with specific parameters + """cut diagonal cut Parameters: elements: elements @@ -1565,11 +1533,11 @@ def get_standard_panel_list() -> List[str]: List[str] """ -def get_variant_sibling_element_ids(a0: int) -> List[int]: +def get_variant_sibling_element_ids(element_id: int) -> List[int]: """get variant sibling element ids Parameters: - a0: a0 + element_id: element_id Returns: List[int] @@ -1706,22 +1674,22 @@ def get_element_cadwork_guid(element_id: int) -> str: str """ -def get_bounding_box_vertices_local(a0: int, a1: List[int]) -> List[point_3d]: +def get_bounding_box_vertices_local(reference_element: int, elements: List[int]) -> List[point_3d]: """get bounding box vertices local Parameters: - a0: a0 - a1: a1 + reference_element: reference_element + elements: elements Returns: List[point_3d] """ -def get_bounding_box_vertices_global(a0: List[int]) -> List[point_3d]: +def get_bounding_box_vertices_global(elements: List[int]) -> List[point_3d]: """get bounding box vertices global Parameters: - a0: a0 + elements: elements Returns: List[point_3d] @@ -1734,11 +1702,11 @@ def get_all_nesting_raw_parts() -> List[int]: List[int] """ -def get_joined_elements(a0: int) -> List[int]: +def get_joined_elements(element_id: int) -> List[int]: """get joined elements Parameters: - a0: a0 + element_id: element_id Returns: List[int] @@ -1754,11 +1722,11 @@ def check_element_duplicates(elements: List[int]) -> List[int]: List[int] """ -def get_elements_in_contact(a0: int) -> List[int]: +def get_elements_in_contact(element: int) -> List[int]: """get elements in contact Parameters: - a0: a0 + element: element Returns: List[int] @@ -1778,7 +1746,7 @@ def create_text_object_with_options(position: point_3d, xl: point_3d, zl: point_ """ def convert_surfaces_to_roof_surfaces(elements: List[int], roof_name: str) -> None: - """converts surfaces to roof surfaces + """convert surfaces to roof surfaces Parameters: elements: elements @@ -1789,20 +1757,20 @@ def convert_surfaces_to_roof_surfaces(elements: List[int], roof_name: str) -> No """ def start_standard_element_dialog(standard_element_type: None) -> str: - """Starts the standard element dialogue based on the chosen element type + """start standard element dialog Parameters: standard_element_type: standard_element_type Returns: - Returns guid of selected standard element if item is valid, else null + str """ -def remove_standard_connector_axis(a0: str) -> None: +def remove_standard_connector_axis(guid: str) -> None: """remove standard connector axis Parameters: - a0: a0 + guid: guid Returns: None @@ -1963,3 +1931,59 @@ def create_spline_line(spline_points: None) -> int: int """ +def unjoin_elements(element_id_list: List[int]) -> bool: + """unjoin elements + + Parameters: + element_id_list: element_id_list + + Returns: + bool + """ + +def unjoin_top_level_elements(element_id_list: List[int]) -> bool: + """unjoin top level elements + + Parameters: + element_id_list: element_id_list + + Returns: + bool + """ + +def set_element_group_single_select_mode() -> None: + """set element group single select mode + + Returns: + None + """ + +def set_element_group_multi_select_mode() -> None: + """set element group multi select mode + + Returns: + None + """ + +def convert_circular_beam_to_drilling(elements: List[int]) -> None: + """convert circular beam to drilling + + Parameters: + elements: elements + + Returns: + None + """ + +def slice_elements_with_plane_and_get_new_elements(element: int, cut_plane_normal_vector: point_3d, distance_from_global_origin: float) -> List[int]: + """slice elements with plane and get new elements + + Parameters: + element: The ID of the element to be sliced + cut_plane_normal_vector: The normal vector of the cutting plane + distance_from_global_origin: list of IDs of the new elements created by the slicing operation + + Returns: + List[int] + """ + diff --git a/src/geometry_controller/__init__.pyi b/src/geometry_controller/__init__.pyi index 516f4de..7140043 100644 --- a/src/geometry_controller/__init__.pyi +++ b/src/geometry_controller/__init__.pyi @@ -2,18 +2,9 @@ from typing import List from cadwork import facet_list from cadwork import point_3d -def get_last_error(error_code: int) -> str: - """Gets the last error - - Parameters: - error_code: error_code - - Returns: - error string - """ def rotate_height_axis_90(element_id_list: List[int]) -> None: - """Rotates the element height axis 90 degrees + """rotate height axis 90 Parameters: element_id_list: element_id_list @@ -22,8 +13,9 @@ def rotate_height_axis_90(element_id_list: List[int]) -> None: None """ + def rotate_height_axis_180(element_id_list: List[int]) -> None: - """Rotates the element height axis 180 degrees + """rotate height axis 180 Parameters: element_id_list: element_id_list @@ -32,8 +24,9 @@ def rotate_height_axis_180(element_id_list: List[int]) -> None: None """ + def set_over_width(element_id_list: List[int], value: float) -> None: - """Sets the element overwidth + """set over width Parameters: element_id_list: element_id_list @@ -43,8 +36,9 @@ def set_over_width(element_id_list: List[int], value: float) -> None: None """ + def set_over_height(element_id_list: List[int], value: float) -> None: - """Sets the element overheight + """set over height Parameters: element_id_list: element_id_list @@ -54,8 +48,9 @@ def set_over_height(element_id_list: List[int], value: float) -> None: None """ + def set_over_length(element_id_list: List[int], value: float) -> None: - """Sets the element overlength + """set over length Parameters: element_id_list: element_id_list @@ -65,8 +60,9 @@ def set_over_length(element_id_list: List[int], value: float) -> None: None """ + def set_rounding_width(element_id_list: List[int], value: float) -> None: - """Sets the element rounding width + """set rounding width Parameters: element_id_list: element_id_list @@ -76,8 +72,9 @@ def set_rounding_width(element_id_list: List[int], value: float) -> None: None """ + def set_rounding_height(element_id_list: List[int], value: float) -> None: - """Sets the element rounding height + """set rounding height Parameters: element_id_list: element_id_list @@ -87,8 +84,9 @@ def set_rounding_height(element_id_list: List[int], value: float) -> None: None """ + def set_rounding_length(element_id_list: List[int], value: float) -> None: - """Sets the element rounding length + """set rounding length Parameters: element_id_list: element_id_list @@ -98,8 +96,9 @@ def set_rounding_length(element_id_list: List[int], value: float) -> None: None """ + def set_cross_correction_negative_width(element_id_list: List[int], value: float) -> None: - """Sets the element negative width cross correction + """set cross correction negative width Parameters: element_id_list: element_id_list @@ -109,8 +108,9 @@ def set_cross_correction_negative_width(element_id_list: List[int], value: float None """ + def set_cross_correction_positive_width(element_id_list: List[int], value: float) -> None: - """Sets the element positive width cross correction + """set cross correction positive width Parameters: element_id_list: element_id_list @@ -120,8 +120,9 @@ def set_cross_correction_positive_width(element_id_list: List[int], value: float None """ + def set_cross_correction_negative_height(element_id_list: List[int], value: float) -> None: - """Sets the element negative height cross correction + """set cross correction negative height Parameters: element_id_list: element_id_list @@ -131,8 +132,9 @@ def set_cross_correction_negative_height(element_id_list: List[int], value: floa None """ + def set_cross_correction_positive_height(element_id_list: List[int], value: float) -> None: - """Sets the element positive height cross correction + """set cross correction positive height Parameters: element_id_list: element_id_list @@ -142,8 +144,9 @@ def set_cross_correction_positive_height(element_id_list: List[int], value: floa None """ + def set_cross_correction_negative_length(element_id_list: List[int], value: float) -> None: - """Sets the element negative length cross correction + """set cross correction negative length Parameters: element_id_list: element_id_list @@ -153,8 +156,9 @@ def set_cross_correction_negative_length(element_id_list: List[int], value: floa None """ + def set_cross_correction_positive_length(element_id_list: List[int], value: float) -> None: - """Sets the element positive length cross correction + """set cross correction positive length Parameters: element_id_list: element_id_list @@ -164,8 +168,9 @@ def set_cross_correction_positive_length(element_id_list: List[int], value: floa None """ + def apply_global_scale(element_id_list: List[int], scale: float, origin: point_3d) -> None: - """Applies a global scale to element + """apply global scale Parameters: element_id_list: element_id_list @@ -176,8 +181,9 @@ def apply_global_scale(element_id_list: List[int], scale: float, origin: point_3 None """ + def auto_regenerate_axes(element_id_list: List[int]) -> None: - """Automatically regenerates axes on element + """auto regenerate axes Parameters: element_id_list: element_id_list @@ -186,8 +192,9 @@ def auto_regenerate_axes(element_id_list: List[int]) -> None: None """ + def rotate_length_axis_90(element_id_list: List[int]) -> None: - """Rotates element length axis 90 degrees + """rotate length axis 90 Parameters: element_id_list: element_id_list @@ -196,8 +203,9 @@ def rotate_length_axis_90(element_id_list: List[int]) -> None: None """ + def rotate_length_axis_180(element_id_list: List[int]) -> None: - """Rotates element length axis 180 degrees + """rotate length axis 180 Parameters: element_id_list: element_id_list @@ -206,8 +214,9 @@ def rotate_length_axis_180(element_id_list: List[int]) -> None: None """ + def invert_model(element_id_list: List[int]) -> None: - """Inverts element model + """invert model Parameters: element_id_list: element_id_list @@ -216,8 +225,9 @@ def invert_model(element_id_list: List[int]) -> None: None """ + def set_width_real(elements: List[int], width: float) -> None: - """Sets the element real width + """set width real Parameters: elements: elements @@ -227,8 +237,9 @@ def set_width_real(elements: List[int], width: float) -> None: None """ + def set_height_real(elements: List[int], height: float) -> None: - """Sets the element real height + """set height real Parameters: elements: elements @@ -238,8 +249,9 @@ def set_height_real(elements: List[int], height: float) -> None: None """ + def set_length_real(elements: List[int], length: float) -> None: - """Gets the element real length + """set length real Parameters: elements: elements @@ -249,8 +261,9 @@ def set_length_real(elements: List[int], length: float) -> None: None """ + def rotate_height_axis_2_points(elements: List[int], point1: point_3d, point2: point_3d) -> None: - """Rotates the element height axis via 2 points + """rotate height axis 2 points Parameters: elements: elements @@ -261,6 +274,7 @@ def rotate_height_axis_2_points(elements: List[int], point1: point_3d, point2: p None """ + def clear_errors() -> None: """clear errors @@ -268,8 +282,9 @@ def clear_errors() -> None: None """ + def set_drilling_tolerance(elements: List[int], tolerance: float) -> None: - """Gets the division zone points + """set drilling tolerance Parameters: elements: elements @@ -279,18 +294,20 @@ def set_drilling_tolerance(elements: List[int], tolerance: float) -> None: None """ -def auto_regenerate_axes_silently(a0: List[int]) -> None: + +def auto_regenerate_axes_silently(element_id_list: List[int]) -> None: """auto regenerate axes silently Parameters: - a0: a0 + element_id_list: element_id_list Returns: None """ + def rotate_length_axis_2_points(elements: List[int], point1: point_3d, point2: point_3d) -> None: - """Rotates the element length axis via 2 points + """rotate length axis 2 points Parameters: elements: elements @@ -301,468 +318,516 @@ def rotate_length_axis_2_points(elements: List[int], point1: point_3d, point2: p None """ + def get_width(element_id: int) -> float: - """Gets the element width + """get width Parameters: element_id: element_id Returns: - element width + float """ + def get_height(element_id: int) -> float: - """Gets the element height + """get height Parameters: element_id: element_id Returns: - element height + float """ + def get_length(element_id: int) -> float: - """Gets the element length + """get length Parameters: element_id: element_id Returns: - element length + float """ + def get_p1(element_id: int) -> point_3d: - """Gets the element P1 + """get p1 Parameters: element_id: element_id Returns: - element P1 + point_3d """ + def get_p2(element_id: int) -> point_3d: - """Gets the element P2 + """get p2 Parameters: element_id: element_id Returns: - element P2 + point_3d """ + def get_p3(element_id: int) -> point_3d: - """Gets the element P3 + """get p3 Parameters: element_id: element_id Returns: - element P3 + point_3d """ + def get_start_height_cut_angle(element_id: int) -> float: - """Gets the element start height cut angle + """get start height cut angle Parameters: element_id: element_id Returns: - element start height cut angle + float """ + def get_start_width_cut_angle(element_id: int) -> float: - """Gets the element start width cut angle + """get start width cut angle Parameters: element_id: element_id Returns: - element start width cut angle + float """ + def get_end_height_cut_angle(element_id: int) -> float: - """Gets the element end height cut angle + """get end height cut angle Parameters: element_id: element_id Returns: - element end height cut angle + float """ + def get_end_width_cut_angle(element_id: int) -> float: - """Gets the element end width cut angle + """get end width cut angle Parameters: element_id: element_id Returns: - element end width cut angle + float """ + def get_over_width(element_id: int) -> float: - """Gets the element overwidth + """get over width Parameters: element_id: element_id Returns: - element overwidth + float """ + def get_over_height(element_id: int) -> float: - """Gets the element overheight + """get over height Parameters: element_id: element_id Returns: - element overheight + float """ + def get_over_length(element_id: int) -> float: - """Gets the element overlength + """get over length Parameters: element_id: element_id Returns: - element overlength + float """ + def get_rounding_width(element_id: int) -> float: - """Gets the element rounding width + """get rounding width Parameters: element_id: element_id Returns: - element rounding width + float """ + def get_rounding_height(element_id: int) -> float: - """Gets the element rounding height + """get rounding height Parameters: element_id: element_id Returns: - element rounding height + float """ + def get_rounding_length(element_id: int) -> float: - """Gets the element rounding length + """get rounding length Parameters: element_id: element_id Returns: - element rounding length + float """ + def get_cross_correction_negative_width(element_id: int) -> float: - """Gets the element negative width cross correction + """get cross correction negative width Parameters: element_id: element_id Returns: - element negative width cross correction + float """ + def get_cross_correction_positive_width(element_id: int) -> float: - """Gets the element positive width cross correction + """get cross correction positive width Parameters: element_id: element_id Returns: - element positive width cross correction + float """ + def get_cross_correction_negative_height(element_id: int) -> float: - """Gets the element negative height cross correction + """get cross correction negative height Parameters: element_id: element_id Returns: - element negative height cross correction + float """ + def get_cross_correction_positive_height(element_id: int) -> float: - """Gets the element positive height cross correction + """get cross correction positive height Parameters: element_id: element_id Returns: - element positive height cross correction + float """ + def get_cross_correction_negative_length(element_id: int) -> float: - """Gets the element negative length cross correction + """get cross correction negative length Parameters: element_id: element_id Returns: - element negative length cross correction + float """ + def get_cross_correction_positive_length(element_id: int) -> float: - """Gets the element positive length cross correction + """get cross correction positive length Parameters: element_id: element_id Returns: - element positive length cross correction + float """ + def get_weight(element_id: int) -> float: - """Gets the element real weight + """get weight Parameters: element_id: element_id Returns: - element real weight + float """ + def get_list_weight(element_id: int) -> float: - """Gets the element list weight + """get list weight Parameters: element_id: element_id Returns: - element list weight + float """ + def get_volume(element_id: int) -> float: - """Gets the element rough volume (does not include negative geometry operations, such as end-types, drillings, connectors, openings, and MEP elements) + """get volume Parameters: element_id: element_id Returns: - element rough volume + float """ + def get_list_volume(element_id: int) -> float: - """Gets the element list volume + """get list volume Parameters: element_id: element_id Returns: - element list volume + float """ + def get_xl(element_id: int) -> point_3d: - """Gets the element XL vector + """get xl Parameters: element_id: element_id Returns: - element XL vector + point_3d """ + def get_yl(element_id: int) -> point_3d: - """Gets the element YL vector + """get yl Parameters: element_id: element_id Returns: - element YL vector + point_3d """ + def get_zl(element_id: int) -> point_3d: - """Gets the element ZL vector + """get zl Parameters: element_id: element_id Returns: - element ZL vector + point_3d """ + def get_center_of_gravity(element_id: int) -> point_3d: - """Gets the element center of gravity + """get center of gravity Parameters: element_id: element_id Returns: - element center of gravity + point_3d """ + def get_reference_side(element_id: int) -> int: - """Gets the element reference side + """get reference side Parameters: element_id: element_id Returns: - element reference side + int """ + def get_element_vertices(element_id: int) -> List[point_3d]: - """Gets the element vertices + """get element vertices Parameters: element_id: element_id Returns: - element vertices + List[point_3d] """ + def get_element_facets(element_id: int) -> facet_list: - """Gets the element facets + """get element facets Parameters: element_id: element_id Returns: - element facets + facet_list """ + def get_list_width(element_id: int) -> float: - """Get the element list width + """get list width Parameters: element_id: element_id Returns: - element list width + float """ + def get_list_height(element_id: int) -> float: - """Gets the element list height + """get list height Parameters: element_id: element_id Returns: - element list height + float """ + def get_list_length(element_id: int) -> float: - """Gets the element list length + """get list length Parameters: element_id: element_id Returns: - element list length + float """ + def get_minimum_distance_between_elements(first_id: int, second_id: int) -> float: - """Gets the minimum distance between 2 elements + """get minimum distance between elements Parameters: first_id: first_id second_id: second_id Returns: - minimum distance + float """ + def get_total_area_of_all_faces(element: int) -> float: - """Gets the total area of all faces for element + """get total area of all faces Parameters: element: element Returns: - element total faces area + float """ + def get_area_of_front_face(element: int) -> float: - """Gets the front face are for element + """get area of front face Parameters: element: element Returns: - element front face area + float """ + def get_door_surface(elements: List[int]) -> float: - """Gets the element door surface + """get door surface Parameters: elements: elements Returns: - element door surface + float """ + def get_window_surface(elements: List[int]) -> float: - """Gets the element window surface + """get window surface Parameters: elements: elements Returns: - element window surface + float """ + def get_local_x() -> point_3d: - """Gets the local X vector + """get local x Returns: - local X vector + point_3d """ + def get_local_z() -> point_3d: - """Gets the local Y vector + """get local z Returns: - local Y vector + point_3d """ + def get_local_y() -> point_3d: - """Gets the local Z vector + """get local y Returns: - local Z vector + point_3d """ + def get_drilling_tolerance(element: int) -> float: - """Gets the drilling tolerance of an axis + """get drilling tolerance Parameters: element: element Returns: - the drilling tolerance + float """ + def get_element_reference_face_vertices(element_id: int) -> List[point_3d]: - """Gets the vertices of the reference side + """get element reference face vertices Parameters: element_id: element_id Returns: - vertexlist of all points + List[point_3d] """ + def get_element_reference_face_area(element_id: int) -> float: - """Gets the area of the reference side + """get element reference face area Parameters: element_id: element_id Returns: - area(size) of reference face + float """ + def get_center_of_gravity_for_list(elements: List[int]) -> point_3d: """get center of gravity for list @@ -773,6 +838,7 @@ def get_center_of_gravity_for_list(elements: List[int]) -> point_3d: point_3d """ + def get_center_of_gravity_for_list_considering_materials(elements: List[int]) -> point_3d: """get center of gravity for list considering materials @@ -783,6 +849,7 @@ def get_center_of_gravity_for_list_considering_materials(elements: List[int]) -> point_3d """ + def get_element_facet_count(element_id: int) -> int: """get element facet count @@ -793,6 +860,7 @@ def get_element_facet_count(element_id: int) -> int: int """ + def get_weight_real(element_id: int) -> float: """get weight real @@ -803,37 +871,44 @@ def get_weight_real(element_id: int) -> float: float """ -def get_actual_physical_weight(a0: int) -> float: + +def get_actual_physical_weight(element: int) -> float: """get actual physical weight Parameters: - a0: a0 + element: element Returns: float """ + def get_actual_physical_volume(element_id: int) -> float: - """Gets actual physical volume (includes negative geometry operations, such as end-types, drillings, connectors, openings, and MEP elements) (it might also take into account different drilling bodies and counterbores in a connector) + """Gets actual physical volume (includes negative geometry operations, such as end-types, drillings, connectors, + openings, and MEP elements) (it might also take into account different drilling + bodies and counterbores in a connector) + Parameters: element_id: element_id Returns: - actual physical volume + float """ + def are_facets_coplanar(first_facet: List[point_3d], second_facet: List[point_3d]) -> bool: - """Tests if facets are coplanar + """are facets coplanar Parameters: first_facet: first_facet second_facet: second_facet Returns: - facet coplanarity + bool """ + def get_round_machine_rough_part_negative_width(element_id: int) -> bool: """get round machine rough part negative width @@ -844,6 +919,7 @@ def get_round_machine_rough_part_negative_width(element_id: int) -> bool: bool """ + def set_round_machine_rough_part_negative_width(elements: List[int], value: bool) -> None: """set round machine rough part negative width @@ -855,6 +931,7 @@ def set_round_machine_rough_part_negative_width(elements: List[int], value: bool None """ + def get_round_machine_rough_part_positive_width(element_id: int) -> bool: """get round machine rough part positive width @@ -865,6 +942,7 @@ def get_round_machine_rough_part_positive_width(element_id: int) -> bool: bool """ + def set_round_machine_rough_part_positive_width(elements: List[int], value: bool) -> None: """set round machine rough part positive width @@ -876,6 +954,7 @@ def set_round_machine_rough_part_positive_width(elements: List[int], value: bool None """ + def get_round_machine_rough_part_negative_height(element_id: int) -> bool: """get round machine rough part negative height @@ -886,6 +965,7 @@ def get_round_machine_rough_part_negative_height(element_id: int) -> bool: bool """ + def set_round_machine_rough_part_negative_height(elements: List[int], value: bool) -> None: """set round machine rough part negative height @@ -897,6 +977,7 @@ def set_round_machine_rough_part_negative_height(elements: List[int], value: boo None """ + def get_round_machine_rough_part_positive_height(element_id: int) -> bool: """get round machine rough part positive height @@ -907,6 +988,7 @@ def get_round_machine_rough_part_positive_height(element_id: int) -> bool: bool """ + def set_round_machine_rough_part_positive_height(elements: List[int], value: bool) -> None: """set round machine rough part positive height @@ -918,6 +1000,7 @@ def set_round_machine_rough_part_positive_height(elements: List[int], value: boo None """ + def get_round_machine_rough_part_negative_length(element_id: int) -> bool: """get round machine rough part negative length @@ -928,6 +1011,7 @@ def get_round_machine_rough_part_negative_length(element_id: int) -> bool: bool """ + def set_round_machine_rough_part_negative_length(elements: List[int], value: bool) -> None: """set round machine rough part negative length @@ -939,6 +1023,7 @@ def set_round_machine_rough_part_negative_length(elements: List[int], value: boo None """ + def get_round_machine_rough_part_positive_length(element_id: int) -> bool: """get round machine rough part positive length @@ -949,6 +1034,7 @@ def get_round_machine_rough_part_positive_length(element_id: int) -> bool: bool """ + def set_round_machine_rough_part_positive_length(elements: List[int], value: bool) -> None: """set round machine rough part positive length @@ -960,6 +1046,7 @@ def set_round_machine_rough_part_positive_length(elements: List[int], value: boo None """ + def get_standard_element_width_from_guid(standard_element_guid: str) -> float: """get standard element width from guid @@ -970,6 +1057,7 @@ def get_standard_element_width_from_guid(standard_element_guid: str) -> float: float """ + def get_standard_element_height_from_guid(standard_element_guid: str) -> float: """get standard element height from guid @@ -980,6 +1068,7 @@ def get_standard_element_height_from_guid(standard_element_guid: str) -> float: float """ + def get_standard_element_length_from_guid(standard_element_guid: str) -> float: """get standard element length from guid @@ -990,6 +1079,7 @@ def get_standard_element_length_from_guid(standard_element_guid: str) -> float: float """ + def get_standard_element_width_from_name(standard_element_name: str) -> float: """get standard element width from name @@ -1000,6 +1090,7 @@ def get_standard_element_width_from_name(standard_element_name: str) -> float: float """ + def get_standard_element_height_from_name(standard_element_name: str) -> float: """get standard element height from name @@ -1010,6 +1101,7 @@ def get_standard_element_height_from_name(standard_element_name: str) -> float: float """ + def get_standard_element_length_from_name(standard_element_name: str) -> float: """get standard element length from name @@ -1019,4 +1111,3 @@ def get_standard_element_length_from_name(standard_element_name: str) -> float: Returns: float """ - diff --git a/src/visualization_controller/__init__.pyi b/src/visualization_controller/__init__.pyi index e8b63d7..a9afc60 100644 --- a/src/visualization_controller/__init__.pyi +++ b/src/visualization_controller/__init__.pyi @@ -171,7 +171,7 @@ def set_material(element_id_list: List[int], element_id: int) -> None: None """ -def save_visibility_state() -> visibility_state: +def save_visibility_state() -> "visibility_state": """Saves the visibility state Returns: @@ -188,7 +188,7 @@ def restore_visibility_state(state: None) -> None: None """ -def save_activation_state() -> activation_state: +def save_activation_state() -> "activation_state": """Saves the activation state Returns: @@ -501,3 +501,13 @@ def is_cadwork_window_in_dark_mode() -> bool: window is in dark mode """ +def enter_working_plane(plane_normal: point_3d, plane_origin: point_3d) ->None: + """enter working plane + + Parameters: + plane_normal: plane_normal + plane_origin: plane_origin + + Returns: + None + """