compas_wood icon indicating copy to clipboard operation
compas_wood copied to clipboard

Project for Timber Joint Generation. Documentation:

COMPAS_WOOD - Project for Generating Timber Joints

Author: Petras Vestartas

alt text type_plates_name_side_to_side_edge_inplane_hexshell

Interface compas_wood

Installation

https://petrasvestartas.github.io/compas_wood/latest/installation.html

If you install this library on a new computer that did not have Anaconda Prompt or VScode follow these steps
  • Install Anaconda Prompt: https://www.anaconda.com/
  • Type in the anaconda prompt: "conda config --add channels conda-forge"
  • Add this environment path. On windows search type "Edit the system environmental variables", click "Environmental Variables..", under second tab click "path", then edit and add the following path: "C:\ProgramData\Anaconda3\Scripts". This process can be avoided if during installation of Anaconda Prompt you ticked the option to the Anaconda Prompt to the Environmental Variables.
  • Open Anaconda Prompt terminal and update conda: conda activate base conda update --all
If you never used VSCode
  • Install VSCode: https://code.visualstudio.com/Download
  • Install VSCode Extensions: Python
  • Launch VScode, type CTRL+SHIFT+P and >Python: Create Terminal
Video

https://user-images.githubusercontent.com/18013985/147587822-cfb43c96-4a81-4b89-987f-8d201ec2e5ba.mp4

ToDo
  • [ ] recenter geometry before processing
  • [ ] ctypes floating number conversion, currently precision is lost
  • [ ] ctypes user tolerance

Examples

  • [x] "tests/compas_wood_1_test.py" - test if the library is loading
  • [x] "tests/compas_wood_2_read_xml.py" - get data-set a set of polylines and display in viewer
  • [x] "tests/compas_wood_3_joints.py" - get connection-areas between timber plates
  • [x] "tests/compas_wood_4_rtree.py" - get neighbors of an element
  • [x] "tests/compas_wood_5_get_connection_zones.py" - generate timber joints
  • [x] "tests/compas_wood_6_closed_mesh_from_polylines.py" - create a solid mesh from polylines with holes
  • [x] "tests/compas_wood_7_mooc_homework.py" - create a special connection of the Vidy project

Tests

type_plates_name_cross_and_sides_corner type_plates_name_cross_corners type_plates_name_cross_ibois_pavilion type_plates_name_cross_square_reciprocal_iseya type_plates_name_cross_square_reciprocal_two_sides type_plates_name_cross_vda_corner type_plates_name_cross_vda_hexshell type_plates_name_cross_vda_hexshell_reciprocal type_plates_name_cross_vda_shell type_plates_name_cross_vda_single_arch type_plates_name_hexbox_and_corner type_plates_name_joint_linking_vidychapel_corner type_plates_name_joint_linking_vidychapel_full type_plates_name_top_to_side_box type_plates_name_top_to_side_corners type_plates_name_top_to_side_pairs type_plates_name_top_to_top_pairs type_plates_name_joint_linking_vidychapel_one_axis_two_layers type_plates_name_joint_linking_vidychapel_one_layer type_plates_name_side_to_side_edge_inplane_2_butterflies type_plates_name_side_to_side_edge_inplane_differentdirections type_plates_name_side_to_side_edge_inplane_hexshell type_plates_name_side_to_side_edge_inplane_outofplane_simple_corners type_plates_name_side_to_side_edge_inplane_outofplane_simple_corners_combined type_plates_name_side_to_side_edge_inplane_outofplane_simple_corners_different_lengths type_plates_name_side_to_side_edge_outofplane_box type_plates_name_side_to_side_edge_outofplane_dodecahedron type_plates_name_side_to_side_edge_outofplane_folding type_plates_name_side_to_side_edge_outofplane_icosahedron type_plates_name_side_to_side_edge_outofplane_inplane_and_top_to_top_hexboxes type_plates_name_side_to_side_edge_outofplane_octahedron type_plates_name_side_to_side_edge_outofplane_tetra type_plates_name_top_to_side_and_side_to_side_outofplane_annen_box type_plates_name_top_to_side_and_side_to_side_outofplane_annen_box_pair type_plates_name_top_to_side_and_side_to_side_outofplane_annen_corner type_plates_name_top_to_side_and_side_to_side_outofplane_annen_grid_full_arch type_plates_name_top_to_side_and_side_to_side_outofplane_annen_grid_small

Rhino Implementation

Test Roof3

Folding

slab_1 slab_5

slab_8 slab_7 slab_9 slab_22