All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Update docs to include envelope
- Added
Envelopebase class for masonry structure boundaries with intrados, extrados, and middle meshes - Added especialized
MeshEnvelope,ParametricEnvelope, andBrepEnvelopeto deal with different evelope inputs. - Added direct parametric envelope creation methods inheriting from
ParametricEnvelopeclass:CrossVaultEnvelope- Creates cross vault envelopes with configurable spans and thicknessDomeEnvelope- Creates dome envelopes with configurable radius, center, and oculusPavillionVaultEnvelope- Creates pavillion vault envelopes with spring angle supportPointedVaultEnvelope- Creates pointed vault envelopes with height control parameters
- The infrastructure around these classes has been updated to enable assigning constraints to the form diagrams.
- Added comprehensive form diagram creation methods to
FormDiagramclass:create_cross()- Creates cross discretisation with orthogonal arrangement and quad diagonalscreate_fan()- Creates fan discretisation with straight lines to cornerscreate_parametric_fan()- Creates parametric fan diagrams with lambda parameter controlcreate_cross_with_diagonal()- Creates cross discretisation with diagonal linescreate_ortho()- Creates orthogonal discretisationcreate_circular_radial()- Creates circular radial form diagrams with equally spaced hoopscreate_circular_radial_spaced()- Creates circular radial form diagrams with hemispheric spacingcreate_circular_spiral()- Creates circular spiral form diagramscreate_arch()- Creates arch form diagrams with semicircular projectioncreate_arch_equally_spaced()- Creates arch form diagrams with equally spaced nodes
- Added support assignment methods:
assign_support_type()- Assigns supports based on type ("corners" or "all")
- Added corner detection functionality:
corner_vertices()- Identifies corner vertices on boundary with configurable angle threshold
- Added comprehensive mesh creation functions in
diagram_rectangular.py: - Added circular mesh creation functions in
diagram_circular.pyand corrected oculus and diagonal properties. - Added arch mesh creation functions in
diagram_arch.py: - Added option to add
fillto envelope. TODO: properly deal with 'pz' summation in future
- Changed assignment of defaults in base scene object for Form Diagrams.
- Changed assignment of defaults in base scene object for Force Diagrams.
- Removed
compasfrom requirements to solve problem in Rhino plugins.
- Added
compas_tna.diagrams.FormDiagram.from_meshfactory.
- Fixed bug in
compas_tna.rhino.scene.FormObject. - Changed
from compas.utilitiestofrom compas.itertools.
- Added
compas_tna.diagrams.FormDiagram.from_mesh.
- Updated workflow.