Source code for creopyson.geometry

"""Geometry module."""


[docs] def bound_box(client, file_=None): """Get the bounding box for a model. Args: client (obj): creopyson Client. `file_` (str, optional): File name. Defaults is current active model. Returns: (dict): xmin (float): Minimum X-coordinate of model. xmax (float): Maximum X-coordinate of model. ymin (float): Minimum Y-coordinate of model. ymax (float): Maximum Y-coordinate of model zmin (float): Minimum Z-coordinate of model. zmax (float): Maximum Z-coordinate of model """ data = {} if file_ is not None: data["file"] = file_ else: active_file = client.file_get_active() if active_file: data["file"] = active_file["file"] return client._creoson_post("geometry", "bound_box", data)
[docs] def get_edges(client, surface_ids, file_=None): """Get the list of edges for a model for given surfaces. Args: client (obj): creopyson Client. surface_ids (list:int): List of surface IDs. `file_` (str, optional): File name. Defaults is current active model Returns: (list:dict): surface_id (int): Surface ID. traversal (string): Traversal type. Valid values: internal, external. edglist (list:dict): Information about an edge. edgeid (integer): Edge ID. length (float): Edge length. start (list:dict): A 3D coordinate. x (float): X-coordinate. y (float): Y-coordinate. z (float): Z-coordinate. end (list:dict): A 3D coordinate. x (float): X-coordinate. y (float): Y-coordinate. z (float): Z-coordinate. """ data = {"surface_ids": surface_ids} if file_ is not None: data["file"] = file_ else: active_file = client.file_get_active() if active_file: data["file"] = active_file["file"] return client._creoson_post("geometry", "get_edges", data, "contourlist")
[docs] def get_surfaces(client, file_=None): """Get the list of surfaces for a model. Args: client (obj): creopyson Client. `file_` (str, optional): File name. Defaults is current active model Returns: (list:dict): surface_id (int): Surface ID. area (float): Surface area min_extent (list:dict): A 3D coordinate. x (float): X-coordinate. y (float): Y-coordinate. z (float): Z-coordinate. max_extent (list:dict): A 3D coordinate. x (float): X-coordinate. y (float): Y-coordinate. z (float): Z-coordinate. """ data = {} if file_ is not None: data["file"] = file_ else: active_file = client.file_get_active() if active_file: data["file"] = active_file["file"] return client._creoson_post("geometry", "get_surfaces", data, "surflist")