FreeCAD: No "Detect Room" attribute for an ArchWall in Freecad_SketchArch workbench

edited February 2022 in General

I hope this is the right place to ask this query.

I'm trying out the Freecad_SketchArch workbench but I cannot seem to find the "Detect Room" toggle (as seen in the linked video below).

I have tried creating a sketch using both the Sketcher workbench and the SketchArch workbench and I've tried it on both Windows and Linux. Using 0.19, and 0.20 and then realthunder's branch.

Is it something I need to activate first? If yes, then how do I go about doing it? The other features of the addon seem to be working as expected like changing the alignment of walls (haven't tried to use the attach features yet) etc.

Pinging @paullee

Comments

  • edited February 2022

    @ArEhsanC said:
    I hope this is the right place to ask this query.

    I'm trying out the Freecad_SketchArch workbench but I cannot seem to find the "Detect Room" toggle (as seen in the linked video below).

    Oh thanks for testing. The add-on is experimental and there are lots of features not exposed in the github. To my memory what is stable and 'toponaming- tolerant' is the Attach feature - which allow users to attach a Arch Window/Door, Equipment to a segment of ArchWall; and deleting an edge in the ArchSketch of ArchWall won't frustrate the attachment and make it 'jump' to other wall. (The 'toponaming problem' is a famous issue to be fixed in FreeCAD.)

    I was thinking how the 'Detect Room' feature should be used / the worflow should be - creating a volume to feed into ArchSpace. Any idea ? ( Too bad I am not trained as programmer and have just beginner's knowledge in python, and too less time to develop :) I was devleoping the features whilst using them to test building models like Villa Savoye, Carpenter Center, RonChamp Chapel. Anyone would like to help ? ) Other features I would like to fix are the Align / Width feature - the exposed code available in Github is currently not 'toponaming-tolerant'.

    You may also visit FreeCAD Forum to have a look at relevant discussion thread

  • I could be wrong but, I think the toponaming problem has been solved in the 0.20 builds right? Someone with more knowledge regarding this please chime in.

    Regarding:

    "creating a volume to feed into ArchSpace. Any idea ?"

    I was about to mention Topologic then I saw in the linked forum that that is already being considered for the future to create cell complexes. I could also think of that as one of the best solutions within freecad. I remember reading Mr. Jabi mention somewhere about a workflow where the extruded volumes become spaces and walls can be created by solidifying the relevant internal and external faces. And since our sketches in freecad can easily be extruded to volumes, the subsequent steps fall in line. Also these spaces will then be intelligently aware of each other too right? I wonder if we will be able to measure "Carpet Area" with this method though since depending on the wall alignment, half or all of the wall will fall within the volume. Maybe we could simply subtract the area of those parts of the walls from the room area.

    I'm not really experienced with coding at all but I am happy to test stuff since I am anyway trying to learn different open source workflows regarding Architectural Design.

  • @ArEhsanC said:
    I could be wrong but, I think the toponaming problem has been solved in the 0.20 builds right? Someone with more knowledge regarding this please chime in.

    There are lots of things done paved the way for it, but it needs more time and effort and probably would be in 0.21 :)

    "creating a volume to feed into ArchSpace. Any idea ?"

    I was about to mention Topologic then I saw in the linked forum that that is already being considered for the future to create cell complexes. I could also think of that as one of the best solutions within freecad. I remember reading Mr. Jabi mention somewhere about a workflow where the extruded volumes become spaces and walls can be created by solidifying the relevant internal and external faces. And since our sketches in freecad can easily be extruded to volumes, the subsequent steps fall in line. Also these spaces will then be intelligently aware of each other too right? I wonder if we will be able to measure "Carpet Area" with this method though since depending on the wall alignment, half or all of the wall will fall within the volume. Maybe we could simply subtract the area of those parts of the walls from the room area.

    Yes, CellComplex idea of Topologic - see the test in (Not sure I have exposed that function in the current Github?)
    https://github.com/paullee0/FreeCAD_SketchArch/blob/master/README.md#5-cellcomplex-creation-topologic

    ArEhsanC
  • There are lots of things done paved the way for it, but it needs more time and effort and probably would be in 0.21 :)

    Oh okay fair fair..

    Yes, CellComplex idea of Topologic - see the test in (Not sure I have exposed that function in the current Github?)

    No I couldn't find an option for cell complex at least last time I was meddling with it.

  • @ArEhsanC said:

    Yes, CellComplex idea of Topologic - see the test in (Not sure I have exposed that function in the current Github?)

    No I couldn't find an option for cell complex at least last time I was meddling with it.

    Maybe I expose it and let users to test and comment :)

    ArEhsanC
  • edited February 2022

    @ArEhsanC said:
    No I couldn't find an option for cell complex at least last time I was meddling with it.

    OK, it is included in Github now :) https://github.com/paullee0/FreeCAD_SketchArch

    The current workflow is -
    1. In ArchSketch (with a floor layout e.g.), switch the Detect Room attribute to True
    2. Select this ArchSketch, click the new CellComplex button (recompute as necessary)
    3. Get the shape of CellComplex
    4. Build an ArchWall based on this ArchSketch as usual

    (attached an example model file - rename the *.zip to *.FCStd)

    You see there is 2 objects in this workflow, I had another workflow idea - 1 object ArchSketch only.
    1. In ArchSketch (with a floor layout e.g.), switch the Detect Room attribute to True
    2. Switch an attribute in this ArchSketch, e.g. Show CellComplex
    3. This ArchSketch get and show the shape of CellComplex

    Any comments / preference ? :D




    brunopostleMassimoArEhsanCGorgious
  • Hey that is amazing!!

    Any comments / preference ? :D

    I am going to try spending some time with this workbench and get back to you about this. I would request people who are more experienced and heavily involved in BIM and the Architecture Industry to also take a look at it and give a more experienced feedback as well. Super excited to give this a go!

    paullee
  • @topologic Maybe you would like to have a look at the possibility in FreeCAD to generate 'CellComplex' based on a Sketch Layout when you have a gap and any comments ? Thanks :)

    topologic
  • @paullee said:
    @topologic Maybe you would like to have a look at the possibility in FreeCAD to generate 'CellComplex' based on a Sketch Layout when you have a gap and any comments ? Thanks :)

    I am 100% sure that you can create a CellComplex from the above. In opencascade it would be a compsolid I think. Can you send that to the Parts Workbench and do a "Merge" on it?
    I am not able to find the time to write the FreeCAD Topologic workbench. Is anyone on here able to contribute to this? Even if it is a simple "Create CellComplex from Cells" button that would be a great start. I can guide on this, but have no time to build it myself.
    I have always said: Whatever Topologic can do, FreeCAD can too. They are based on the exact same engine. We just need someone to take the code from Topologic and port it to FreeCAD.

    paullee
  • edited February 2022

    @topologic said:
    I am 100% sure that you can create a CellComplex from the above. In opencascade it would be a compsolid I think. Can you send that to the Parts Workbench and do a "Merge" on it?

          solids = [f.extrude(extv) for f in resultFacesRebased]                    
          solidsCmpd =  Part.Compound(solids)                               
    

    A Compound of Solids (from extruded Faces) is formed by Part in my experimental workbench. It is automatically created simply based on a 'single-lined layout' in a Sketch - see the attached file (remove '.zip' to open in FC) and above screenshots. The concept of a Compound of Solids should be the same in the test model I created earlier you helped to test :D.

    So if this workflow is most easy to do a layout of a floor plan, build the CellComplex from it, as well as building ArchWall from the same Sketch, hope it could help modeling and analysis at the same time.

    Thanks for the comments !

Sign In or Register to comment.