improve generate_geometry_from_hvac - #178
Open
alexandrecuer wants to merge 11 commits into
Open
Conversation
- ability to create walls with different heigths with the heights key - ability to define a ceiling which is not a simple translation of the floor and to user blocks strings when defining the ceiling - ability to delete a wall between two adjacent zones (remove_wall key) - ability to use some variables of the blocks section in zone subsections (floors, roofs, walls, elements)
alexandrecuer
commented
Jul 20, 2026
alexandrecuer
left a comment
Contributor
Author
There was a problem hiding this comment.
implement vasistas should be nice as roofs can be complex things now
- implement vasistas - dont use polyface in generate_geometry_from_yaml.py : no interest except complicating things - use dict and not list for walls as list is not rich enough. dict permits to manage walls removed by the user in the yaml - structure materials more nicely withs consts and default thickness that can be customized through yaml - ability to mix different wall constructions on a same room/zone
replace and extend the previous remove_wall
so you can specify construction through dict and not only list
alexandrecuer
commented
Jul 27, 2026
| wall_points.extend(resolve(BLOCKS[x])) | ||
| if isinstance(x, list): | ||
| wall_points = [*wall_points, x] | ||
| wall_points = [*wall_points, x[0:3]] |
Contributor
Author
There was a problem hiding this comment.
Use extend...
alexandrecuer
commented
Jul 30, 2026
alexandrecuer
commented
Aug 13, 2026
alexandrecuer
left a comment
Contributor
Author
There was a problem hiding this comment.
Also update the related readme
alexandrecuer
commented
Aug 13, 2026
| walls: | ||
| - [0, 0, *r4_alt, recent_light_renovation] | ||
| - [3, 0, *r4_alt, recent_light_renovation] | ||
| - ["3+7", 0, *r4_alt, recent_light_renovation] |
Contributor
Author
There was a problem hiding this comment.
Explain in README
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
main additions :
heightskey. When defining heights, the user must also define the roofs, otherwise the roof will be a horizontal planeremove_wallkey)specify a default construction for a zone
And define some custom walls
improve reusable blocks
introduce
use_blocks_vars: 1address numeric variables (
d0tod8,z0,h0toh4) in the blocks section, that can be used in zone subsections (floors,roofs,walls,elements) without the need of adding an anchorfor list blocks :
single vasistas & triangular surface
add a single vasistas on a triangular surface (portion of a roof) using vertices numbers
enhance the way to dispatch apertures
2 methods :
apertures,doorsand/orvasistaskeyThe value is a dict :
[nb_apertures, width, height, sill_height]You may also add a construction type as the last (string) element of the list
numberskeyvalue = list
[number of apertures for each wall - 0 if no aperture].Other non mandatory keys :
widths,heights,sill_heights,constructions(none if no custom construction),types(aperture or door). You may also use singular if all elements are the same, for examplewidth: 4orconstruction: townhouse_basementThe same configuration expressed with the second method is far more verbose