Skip to content

Conversation

@ricardoavelino
Copy link
Contributor

  • Added Envelope class for masonry structure boundaries with intrados, extrados, and middle meshes
  • Added direct envelope creation methods to Envelope class:
    • from_crossvault() - Creates cross vault envelopes with configurable spans and thickness
    • from_dome() - Creates dome envelopes with configurable radius, center, and oculus
    • from_pavillionvault() - Creates pavillion vault envelopes with spring angle support
    • from_pointedvault() - Creates pointed vault envelopes with height control parameters
  • Added envelope creation functions for each vault type:
    • create_crossvault_envelope() - Generates cross vault meshes and callables
    • create_dome_envelope() - Generates dome meshes with circular topology
    • create_pavillionvault_envelope() - Generates pavillion vault meshes with expanded option
    • create_pointedvault_envelope() - Generates pointed vault meshes with height parameters
  • Added vault-specific update functions for optimization:
    • crossvault_middle_update(), crossvault_ub_lb_update(), crossvault_dub_dlb()
    • dome_middle_update(), dome_ub_lb_update(), dome_dub_dlb()
    • pavillionvault_middle_update(), pavillionvault_ub_lb_update(), pavillionvault_dub_dlb()
    • pointedvault_middle_update(), pointedvault_ub_lb_update(), pointedvault_dub_dlb()

@tomvanmele
Copy link
Contributor

you formatter still doesn't seem to work :)

@ricardoavelino
Copy link
Contributor Author

It doesn’t… I also implemented the serialization so I will update the PR

@ricardoavelino ricardoavelino marked this pull request as draft August 29, 2025 07:07
@ricardoavelino ricardoavelino marked this pull request as ready for review August 29, 2025 11:34
Copy link
Contributor

@tomvanmele tomvanmele left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cool, just a few small things



def dome_middle(x, y, radius, min_lb, center=(5.0, 5.0)):
"""Update middle of the dome based in the parameters
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

... based ON the parameters.



def dome_bounds(x, y, thk, min_lb, center=(5.0, 5.0), radius=5.0):
"""Update upper and lower bounds of the dome based in the parameters
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Compute upper and lower bounds ...



def pavillionvault_middle(x, y, x_span=(0.0, 10.0), y_span=(0.0, 10.0), spr_angle=0.0, tol=1e-6):
"""Update middle of a pavillion vault based in the parameters
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do a find/replace for "based in the parameters" => "based on the parameters"

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do a find/replace for """Update => """Compute

@ricardoavelino
Copy link
Contributor Author

Thanks, updated per review.

@tomvanmele tomvanmele merged commit 95dc732 into BlockResearchGroup:main Sep 2, 2025
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants