Skip to main content

Canonical Brep wrapper based on COMPAS framework with pluggable OCC/Rhino backends

Project description

compas_brep

Github Actions Build Status License PyPI Package latest release Supported Python versions Made with COMPAS

A unified Brep wrapper for the COMPAS framework with pluggable OCC and Rhino backends.

Provides a single Brep class with a stable public interface. The backend (OCC or Rhino) is selected automatically at runtime based on what is importable. All inputs and outputs are COMPAS types — never backend types.

Examples in examples/ have mostly been copied from COMPAS OCC which is used as benchmark for this project.

Installation

Base (no backend):

pip install compas_brep

With OCC backend:

pip install "compas_brep[occ]"

The Rhino backend is available automatically when running inside Rhino.

Usage

import os
from compas_brep import Brep, DATA
from compas_viewer import Viewer

brep = Brep.from_step(os.path.join(DATA, "box_with_holes.stp"))

for face in brep.faces:
    print(face.surface)  # Plane for flat faces, NurbsSurface for curved faces

viewer = Viewer()
viewer.scene.add(brep)

viewer.show()

Running tests

Install the OCC backend and run:

uv pip install "cadquery-ocp-novtk>=7.8"
pytest -m occ -q

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

compas_brep-0.1.0.tar.gz (73.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

compas_brep-0.1.0-py3-none-any.whl (89.1 kB view details)

Uploaded Python 3

File details

Details for the file compas_brep-0.1.0.tar.gz.

File metadata

  • Download URL: compas_brep-0.1.0.tar.gz
  • Upload date:
  • Size: 73.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.14

File hashes

Hashes for compas_brep-0.1.0.tar.gz
Algorithm Hash digest
SHA256 0354da635c39484c55e4c2243c7a7ffc60bb0a13c3ee724ce1d3333d9feb8fc7
MD5 4a8193f6a3cab538860bb137e407edd4
BLAKE2b-256 f875eb4697914095c177068a86f6b163d845755a6dbb4554690f5f55509fcd2b

See more details on using hashes here.

File details

Details for the file compas_brep-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: compas_brep-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 89.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.14

File hashes

Hashes for compas_brep-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6a1e25873189e337b4398c92a0ebde8fc566ff83c027b0549c131eca2c560ec2
MD5 d496a54da2d890d008fc669f85a2fb12
BLAKE2b-256 81b95021994316f1c56d0ed2f037ae60d55392d8874ead943fb602ad1012022d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page