hoops_ai.cadaccess.hoops_exchange.hoops_brep

Classes

HOOPSBrep(body)

class hoops_ai.cadaccess.hoops_exchange.hoops_brep.HOOPSBrep(body)

Bases: BrepAccess

Parameters:

body (Any)

build_face_adjacency_graph()

Builds and returns the face adjacency graph.

Returns:

The face adjacency graph.

Return type:

nx.Graph

get_bounding_box()

Returns the bounding box of the CAD model as (xmin, ymin, zmin, xmax, ymax, zmax).

Return type:

Tuple[float, float, float, float, float, float]

get_diagonal_length()

Computes the diagonal length of the model’s bounding box.

Returns:

Diagonal length.

Return type:

float

get_edge_attributes(edge_idx, attributes_specification)

Computes the edge attributes for a given edge index.

Parameters:
  • edge_idx (int)

  • attributes_specification (Dict)

Return type:

tuple

get_edge_indices()

Returns a list of edge indices.

Return type:

List[int]

get_edge_indices_map()

Returns a mapping from edge indices to edges (if needed).

Returns:

Mapping from edge indices to edge objects.

Return type:

Dict[int, object]

get_face_attributes(face_idx, attributes_specification)

Computes the face attributes for a given face index.

Parameters:
  • face_idx (int)

  • attributes_specification (Dict)

Return type:

tuple

get_face_centroids()

Computes and returns the centroids of the faces.

Returns:

Mapping from face indices to their centroid coordinates.

Return type:

Dict[int, np.ndarray]

get_face_indices()

Returns a list of face indices.

Return type:

List[int]

sample_points_on_face(face_index, num_points=512)

Samples points on a face given its index.

Parameters:
  • face_index (int) – Index of the face.

  • num_points (int, optional) – Number of points to sample. Defaults to 512.

Returns:

List of sampled points as NumPy arrays.

Return type:

List[np.ndarray]

sample_points_on_faces(face_indices, num_points=512)

Samples points on all faces and returns a list.

Returns:

List of lists of sampled points for each face.

Return type:

List[List[np.ndarray]]

Parameters:
ugrid(edge_index, num_u=10, us=False, method='point', reverse_order_with_edge=True)

Creates a 1D grid of samples from the given edge index in the shape.

Parameters:
Return type:

numpy.ndarray

uvgrid(face_index, num_u=10, num_v=10, uvs=False, method='point', reverse_order_with_face=True)

Creates a 2D UV-grid of samples from the given face index in the shape.

Parameters:
Return type:

numpy.ndarray