Homemaker add-on

14567810»

Comments

  • @paullee My strategy regarding topologic vs. topologicpy is to not touch the C++ topologic code as it is used by others such as Homemaker. If I find that the code is buggy or limited, I augment it with python code in topologicpy. So sometimes, toplogicpy is just a wrapper and sometimes it is a whole method written mainly in python with some basic calls to topologic to return topologic entities.
    Face.IsInside is an example of the latter, but sadly it doesn't seem to be faster and may be much slower than the built-in method. I am going to test and report back.

    paullee
  • As I said, sadly I am not interfacing with OCC directly and I am not touching topologic which does interface with OCC. If someone can do a PR on topologic (core) that improves it, that would be amazing help.

    paullee
  • Yes our messages just crossed. I won't have time PR'ing anytime soon, but I have some experience with OCC, so I'm available in case somebody needs help navigating the OCC api. Maybe there is also some case to introduce PythonOCC. That's basically what we do with IfcOpenShell, we just serialize the OCC shapes between C++ and Python (both ways) as strings.

    topologicpaullee
  • @aothms said:
    … Maybe there is also some case to introduce PythonOCC.

    Stay tuned. ?

  • @topologic said:

    @brunopostle said:
    Filtering by normal brings down the dictionary transfer from 100 to 42 seconds.

    Not sure how "filtering by normal" helps in the general case of finding if a vertex is inside a face. Do you think it is specific to your workflow or is it something that topologicpy should include as an improvement?

    This is in my method for copying dictionaries from the Face set to the resulting CellComplex. If I can easily discard some impossible source/destination combinations then I don't have to do as many expensive IsInside() checks.

    (I would do better with a proper check for coplanar faces, but parallel faces will do for now)

  • edited October 2023

    First time properly running Homemaker ( I tried in 2021, but I gave up. I have been paying attention ever since though). The installation was a challenge - as per the req's on the github page, I started downloading all the packages. I started even installing VS 2022 but then call the c++ build size being 7gbs+! (is that still needed?) I thought I would give it a crack to run without the C++ thingy. But homemaker could not find my topologic. I installed it to the python version in win11 that's on the C drive, not the one in Blender, so I assume that was the error?

    Then I decided to read this whole thread (took a while), and just downloaded the latest packaged release on Windows, and it just works! Great job at making that work well! I would suggest that in the github info, there are install instructions that show that people can either download releases on the release page, and then additionally for those willing to compile things themselves show those instructions.

    As for usability, again, it took me quite a bit of poking around until finding how to run Homemaker. I just pressed F3 and search for homemaker command initially. Then I saw the separate manual. It has a getting started section. Nice! But I still missed it.

    In regards to the styles, the documentation is pretty clear : "The styles shipped with the add-on are a bit limited, they are named: ‘default’, ‘courtyard’, ‘framing’, ‘cinema’, ‘fancy’, ‘pantsy’, ‘arcade’, ‘rustic’ and ‘tuscan’." The convention for the styles folder organisation with the yml files and reference to the objects in the IFC, less so. I am particularly interested to understand the system better in order to try and generate a new style

    Further questions - is it possible to edit a shape after it has been generated? I can't find the original massing in the outliner. I saw a really nice video demo of a shape deformed on a curve and being updated.

    As for speed, this took approximately 2 mins on a AMD Ryzen 7 5800X running at 4.3 ghz. It seems to have generated about 1100 components or so.

    As for multiple buildings in the same file - what is the current best practice? I duplicated the empty called "IfcSite/Site Plane.001" which automatically made it's collection organisation. However, when I generated a second massing, both buildings seems to be placed in the same collection.

    @brunopostle would you be interested in a hands-on recorded session addressing these queries to help users understand how to navigate Homemaker. I did one with Dion on BlenderBIM which worked really well (sadly I waited too long to publish it and now it's completely outdated) I searched around youtube, thinking perhaps you may have done something of the sort for an osarch monthly meeting or speaking with someone else about it, but couldn't find anything. If it does exist, do let us know.

    Also, I saw this mentioned in the thread that is an excellent source for creating styles. It seems like creating a style is a fairly intensive endeavor. https://github.com/brunopostle/homemaker-addon/wiki/Creating-a-Window-family. However, I don't think there is a link to this on the front page or in the readthedocs reference.

    Here is what I am running at the moment, which seems to play nice: Blender 3.6.4, BlenderBIM nightly 231002, and the latest release of Homemaker Topologise 2023-05-29 (it may be useful to add "version" to the BL_info snippet in the addon to be able to identify). Also, for location 3d Viewport > Obect Menu > Homemaker might be easier to understand.

    And my play file is attached. How would I go about creating some sort of front entrance situation? I suppose it would be dividing the facade and creating a new material that has doors or things looking like doors.

    theoryshawtopologicbrunopostlesergicera
  • @dimitar said:

    Then I decided to read this whole thread (took a while), and just downloaded the latest packaged release on Windows, and it just works! Great job at making that work well! I would suggest that in the github info, there are install instructions that show that people can either download releases on the release page, and then additionally for those willing to compile things themselves show those instructions.

    Oops, I've added an Installation section to the landing page on Github. Thanks, software developers never read their own README's.

    As for usability, again, it took me quite a bit of poking around until finding how to run Homemaker. I just pressed F3 and search for homemaker command initially. Then I saw the separate manual. It has a getting started section. Nice! But I still missed it.

    In regards to the styles, the documentation is pretty clear : "The styles shipped with the add-on are a bit limited, they are named: ‘default’, ‘courtyard’, ‘framing’, ‘cinema’, ‘fancy’, ‘pantsy’, ‘arcade’, ‘rustic’ and ‘tuscan’." The convention for the styles folder organisation with the yml files and reference to the objects in the IFC, less so. I am particularly interested to understand the system better in order to try and generate a new style

    Most of the style information is Type definitions in the IFC library, the YAML files tie it all together, but they are a bit cryptic. The style folders inherit from the parent folder, so if you create an empty folder under 'tuscan', you can use this new folder name as a style, but it will be identical to the 'tuscan' style until you start adding IFC/YAML files to the folder.

    Further questions - is it possible to edit a shape after it has been generated? I can't find the original massing in the outliner. I saw a really nice video demo of a shape deformed on a curve and being updated.

    Yes there are two ways: the demos just use Ctrl-Z to undo the IFC generation, so undo to go back to the sketch geometry, change it and rerun the Homemaker menu to regenerate the IFC; more recently the CellComplex geometry is now stashed in the IFC itself, so select any bit of the building and run the Topologise menu item, it will delete the IFC model and reconstruct the CellComplex/sketch geometry - this even works with saved IFC models.

    As for speed, this took approximately 2 mins on a AMD Ryzen 7 5800X running at 4.3 ghz. It seems to have generated about 1100 components or so.

    I would love for it to be instant, but it is creating lots of IFC elements and this takes time - it would be much faster if it was only creating geometry without any semantic BIM structure.

    As for multiple buildings in the same file - what is the current best practice? I duplicated the empty called "IfcSite/Site Plane.001" which automatically made it's collection organisation. However, when I generated a second massing, both buildings seems to be placed in the same collection.

    Yes, the IFC building name is taken from the Name of the blender object, so if you want two buildings then they need to have different names. If you do reuse the Name, then whatever you create will be added to the existing building (and storeys if they already exist). In this context, Plane and Plane.001 are both treated as the same Name.

    Note that fragments of buildings can be created, just a wall or a bit of roof from a simple blender mesh or faces. Though once you start creating closed cells then this is treated as a CellComplex and whole buildings are generated.

    @brunopostle would you be interested in a hands-on recorded session addressing these queries to help users understand how to navigate Homemaker. I did one with Dion on BlenderBIM which worked really well (sadly I waited too long to publish it and now it's completely outdated) I searched around youtube, thinking perhaps you may have done something of the sort for an osarch monthly meeting or speaking with someone else about it, but couldn't find anything. If it does exist, do let us know.

    There is no recent video, I'd be happy to do a session.

    Also, I saw this mentioned in the thread that is an excellent source for creating styles. It seems like creating a style is a fairly intensive endeavor. https://github.com/brunopostle/homemaker-addon/wiki/Creating-a-Window-family. However, I don't think there is a link to this on the front page or in the readthedocs reference.

    I should link this too! Mostly this is just a detailed description of how to create Window and Wall Types in BlenderBIM (the screenshots are now outdated), creating a Homemaker style is doubly difficult because it demands this amount of BlenderBIM understanding.

    Here is what I am running at the moment, which seems to play nice: Blender 3.6.4, BlenderBIM nightly 231002, and the latest release of Homemaker Topologise 2023-05-29 (it may be useful to add "version" to the BL_info snippet in the addon to be able to identify). Also, for location 3d Viewport > Obect Menu > Homemaker might be easier to understand.

    I need to do a new release, and we now have ARM/metal mac support, so I need to add an installer for that.

    And my play file is attached. How would I go about creating some sort of front entrance situation? I suppose it would be dividing the facade and creating a new material that has doors or things looking like doors.

    The style can have Doors and Windows, but the doors will only be added if the cell/room is on the ground floor or faces a flat roof and has a usage of circulation or stair, this is hard-coded and something I want to make more configurable.

    dimitaratomkarincaNigel
  • New blender-homemaker-2023-12-16 release

    This is a packaged Homemaker add-on with dependencies for Linux, Windows and Mac.

    New features:

    • The main change in this release is that the stashed CellComplex that stores the sketch geometry and that can be used to regenerate the building or revert it to the sketch geometry has been reworked. Previously the CellComplex was represented as an aggregate of lots of IfcVirtualElement faces and points, an IfcVirtualElement is not allowed to have representations, and they were annoyingly visible in the loaded BlenderBIM model. The CellComplex is now stashed as Tessellated Reference/SKETCH_VIEW representations of the building itself, but not visible in BlenderBIM since a FootPrint/PLAN_VIEW representation gets priority. Cell usages are stashed as annotations, also attached to the building.

    • IfcStructuralSurfaceMember representations now have a transparent surface style.

    • IFC validation fixes: Set IfcPolygonalFaceSet.Closed, fix missing IfcAxis2Placement3D RefDirection, fix invalid IfcEdgeLoop.IsClosed, Building now has a placement.

    • minor bug-fixes and clean-ups.

    NigeltopologicsteverugiatomkarincaAcebruno_perdigao
  • edited February 24

    Hello Mr. Postle I hope you are safe and sound. I don't know why I getting this strange results on arcade material!! This is blender-homemaker-2023-12-16 release and 3.6.2 Blender.. I tried maybe 100 times even I tried on Blender 2.90 / 3.4 and also couple of different version of blender with different release of homemaker add-on but the results are never changed!! I've suspicious about that maybe this is exceptionally a strange "windows installation behavior" of blender-homemaker add-on !!?












    @brunopostle said:

    New blender-homemaker-2023-12-16 release

    This is a packaged Homemaker add-on with dependencies for Linux, Windows and Mac.

    New features:

    • The main change in this release is that the stashed CellComplex that stores the sketch geometry and that can be used to regenerate the building or revert it to the sketch geometry has been reworked. Previously the CellComplex was represented as an aggregate of lots of IfcVirtualElement faces and points, an IfcVirtualElement is not allowed to have representations, and they were annoyingly visible in the loaded BlenderBIM model. The CellComplex is now stashed as Tessellated Reference/SKETCH_VIEW representations of the building itself, but not visible in BlenderBIM since a FootPrint/PLAN_VIEW representation gets priority. Cell usages are stashed as annotations, also attached to the building.

    • IfcStructuralSurfaceMember representations now have a transparent surface style.

    • IFC validation fixes: Set IfcPolygonalFaceSet.Closed, fix missing IfcAxis2Placement3D RefDirection, fix invalid IfcEdgeLoop.IsClosed, Building now has a placement.

    • minor bug-fixes and clean-ups.

  • edited February 24

    @brunopostle And since last night I getting this strange results too on different material in one topology when I tried assigning styles different floors or something like that..I absolutely have no idea where is goin first floor!! ?



  • edited February 24

    Hi @Cladius76 the first one is a Homemaker bug, it is caused by the code that mitres the extrusion not taking account of the horizontal offset (most of the other extruded types in the Homemaker library don't have an offset, so the bug only appears here). I'll fix it, but the workaround is to select both extrusions and use BlenderBIM to regenerate them with Shift-G.

    The other problem is because Homemaker creates the building from closed cells and discards all other geometry. Your mesh is missing faces on the bottom of the ground floor, so it doesn't see any rooms at this level.

  • @brunopostle said:
    Hi @Cladius76 the first one is a Homemaker bug, it is caused by the code that mitres the extrusion not taking account of the horizontal offset (most of the other extruded types in the Homemaker library don't have an offset, so the bug only appears here). I'll fix it, but the workaround is to select both extrusions and use BlenderBIM to regenerate them with Shift-G.

    The other problem is because Homemaker creates the building from closed cells and discards all other geometry. Your mesh is missing faces on the bottom of the ground floor, so it doesn't seem any rooms at this level.

    Thanks for your prompt response Mr. Postle. I will try again as like as your explanations.?

  • @brunopostle Why Suzie I wonder??

  • @Cladius76 this is the 'fancy' style, there is a subclassed style called 'pantsy' that doesn't have Suzanne ?, maybe I should make it??? ????

    Nigel
  • edited February 25

    @brunopostle said:
    @Cladius76 this is the 'fancy' style, there is a subclassed style called 'pantsy' that doesn't have Suzanne ?, maybe I should make it??? ????

    No..No!!Don't do that please!!?..Everything's fine with "fancy" and "pantsy" !!Actually Suzanne is no need in there at all!! Maybe you would consider to make some architectural ornaments or stuff something like that there if you wish but certainly not Suzanne!!?Suzanne is not a good idea for such a nice architectural styles!!

    Nigelcarlopav
  • @Cladius76 I would love to find time for creating some beautiful styles, but there are always bugs and missing features to deal with :(

  • edited February 25

    @brunopostle said:
    @Cladius76 I would love to find time for creating some beautiful styles, but there are always bugs and missing features to deal with :(

    I couldn't even imagine how hard should be deal with all that stuff..?

  • edited February 25

    @brunopostle What is your exact x, y, z measurement for every each style??

  • @Cladius76 said:
    @brunopostle What is your exact x, y, z measurement for every each style??

    @Cladius76 said:
    @brunopostle What is your exact x, y, z measurement for every each style??

    I'm not sure what you mean? The 'tuscan' and 'rustic' styles are only setup for a single storey height (though with some more assets they could adapt to different heights).

  • edited February 26

    @brunopostle said:

    @Cladius76 said:
    @brunopostle What is your exact x, y, z measurement for every each style??

    @Cladius76 said:
    @brunopostle What is your exact x, y, z measurement for every each style??

    I'm not sure what you mean? The 'tuscan' and 'rustic' styles are only setup for a single storey height (though with some more assets they could adapt to different heights).

    No there is a certain number need for each style I mean space for example z:3.88m for "rustic" too big columns are too short when you assigning "sahn" or z:3.20m for "pantsy" not enough for proper windows or x:2m y:2m z:2m not enough for "arcade" or "tuscan" e.t.c. ...I noticed that you are using a certain amount of number especially "z" axes for every each styles!!That's what I'm asking!!

  • @brunopostle @Cladius76 I'm interested in customizing Homemaker to produce a standard social housing style, sans fancy pantsy. I had tried last year but got completely lost, I feel way more confident in 2024 :)

    Cladius76brunopostle
  • @Cladius76 The 'default' style will adapt to different storey heights because it uses a window family with four different windows, ie. anything between 2.4m and 3.6m will look ok, though there are probably some heights within this that will look better than others. I'd like to extend this style to include some bigger windows to support bigger spaces.

    The 'pantsy' style uses a family with only one window, so it probably only works well with storey heights between 3.3m and 3.9m, though a top storey needs a bit more space for eaves above, so 4.2m.

    The 'arcade', 'rustic' and 'tuscan' styles are based on this nice measured drawing of the Halifax Piece Hall, so they only really work with storey heights of 3.6m, 3.43m and 3.875m respectively. Though the 'arcade' style is a bit more flexible and can go higher:

    The 'foxhouse' style is incomplete, all the windows in the family are the same height, and eaves/parapet/doors are missing, this only works with storey heights between 3m and 3.6m

    Cladius76Massimo
  • edited February 26

    @brunopostle said:
    @Cladius76 The 'default' style will adapt to different storey heights because it uses a window family with four different windows, ie. anything between 2.4m and 3.6m will look ok, though there are probably some heights within this that will look better than others. I'd like to extend this style to include some bigger windows to support bigger spaces.

    The 'pantsy' style uses a family with only one window, so it probably only works well with storey heights between 3.3m and 3.9m, though a top storey needs a bit more space for eaves above, so 4.2m.

    The 'arcade', 'rustic' and 'tuscan' styles are based on this nice measured drawing of the Halifax Piece Hall, so they only really work with storey heights of 3.6m, 3.43m and 3.875m respectively. Though the 'arcade' style is a bit more flexible and can go higher:

    The 'foxhouse' style is incomplete, all the windows in the family are the same height, and eaves/parapet/doors are missing, this only works with storey heights between 3m and 3.6m

    Thank you so much..?Here is your height measurement that you used for every storey for different styles which from your YouTube videos as far as I gathered!!
    arcade:3.6m
    rustic:3.43m
    tuscan:3.875m/3.88m
    pantsy:4m
    pantsy.001:4m
    fancy:4m
    default:3m-4m
    roof: 0.80-1m

    brunopostle
Sign In or Register to comment.