Skip to main content

compas_tf

Timber floor development. A parametric model of a timber floor — columns, ribs, beds, t-sections, oculus and the connectors that hold them together — that you can build, cut, measure, extract from and hand to a shop as STEP.

Documentation: https://brg-research.github.io/compas_tf/

Use it

pip install compas_tf
import compas

model = compas.json_load("cantilevers_baked_model.json")

print(len(list(model.geometry_elements())))   # 237
print(len(list(model.contacts())))            # 733

bay = model.find_groups_with_names(["column_model_0", "quarter_model_0"], neighbors=True)
bay.to_step("bay_0.stp")

The geometry in a written model is baked — every boolean already evaluated and stored on the element — so it loads in 0.60 s with no boolean backend involved. compas_tf_example is a standalone project that does nothing but read one.

Develop it

Prerequisites: git, uv, Python 3.12.

git clone https://github.com/BRG-research/compas_tf.git
cd compas_tf
uv venv .venv --python 3.12
source .venv/Scripts/activate      # macOS / Linux: source .venv/bin/activate
uv pip install -r requirements.txt -r requirements-dev.txt -r requirements-viewer.txt
uv pip install -e .

Use uv pip, not plain pip — a uv venv has no pip of its own, so a bare pip install lands in the wrong environment.

Mesh booleans go through compas_manifold; Breps and STEP through compas_occt. Both install with the requirements. compas_viewer is optional — the library never imports it.

invoke lint
invoke test
invoke docs
python tools/run_examples.py     # the whole example chain, viewer suppressed

Examples

examples/ is a chain: each reads the JSON the one before it wrote. example_model_18_write_model_and_brep.py is the hinge — it bakes the model, finds every contact, and writes the four files the last three read:

Example Does
example_model_19_read_model.py reads the model back — elements, tree, contacts
example_model_20_read_brep.py reads the STEP — 237 closed solids
example_model_21_extract_bay.py pulls one column + one quarter out as its own model

References

Download files

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

Source Distribution

compas_tf-0.1.9.tar.gz (106.2 kB view details)

Uploaded Source

Built Distribution

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

compas_tf-0.1.9-py3-none-any.whl (110.8 kB view details)

Uploaded Python 3

File details

Details for the file compas_tf-0.1.9.tar.gz.

File metadata

  • Download URL: compas_tf-0.1.9.tar.gz
  • Upload date:
  • Size: 106.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for compas_tf-0.1.9.tar.gz
Algorithm Hash digest
SHA256 2d66b555b42304958295144a6c0bf110b6470eca132ffee4b1a167260fa1bfb2
MD5 088aa32ee7b659115240015b38d3eb05
BLAKE2b-256 ff6e3d4a70bfea93d5796f0c9ecc5efebd86e2252f7a39370b15bb19ec144764

See more details on using hashes here.

Provenance

The following attestation bundles were made for compas_tf-0.1.9.tar.gz:

Publisher: release.yml on BRG-research/compas_tf

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file compas_tf-0.1.9-py3-none-any.whl.

File metadata

  • Download URL: compas_tf-0.1.9-py3-none-any.whl
  • Upload date:
  • Size: 110.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for compas_tf-0.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 7b86ff2fde9a1258c4a894577c992a3269a081600a48b1938c88d73feaf08214
MD5 3a4dd9e1138b988786b31bab834d6c64
BLAKE2b-256 fcdfb2a7d9c8c0af32353281dbe1a18259988688ddf4b4528470b00234bc1f77

See more details on using hashes here.

Provenance

The following attestation bundles were made for compas_tf-0.1.9-py3-none-any.whl:

Publisher: release.yml on BRG-research/compas_tf

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.1.12

2 files

0.1.11

2 files

0.1.10

2 files

This release

0.1.9 This release

2 files

0.1.8

2 files

0.1.7

2 files

0.1.6

2 files

0.1.5

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page