[ArchSketch Workflow] - Creating ArchWall + CellComplex on 1 ArchSketch

A forum dedicated to the Draft, Arch and BIM workbenches development.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Post Reply
paullee
Veteran
Posts: 5092
Joined: Wed May 04, 2016 3:58 pm

[ArchSketch Workflow] - Creating ArchWall + CellComplex on 1 ArchSketch

Post by paullee »

Exploring how to use Topologic, and how to facilitate creation of 'CellComplex' in FreeCAD thanks to Dr. Wassim Jabi's assistance.

Discussion at OSArch

phpBB [video]
ArchSketch Workflow - Creating ArchWall + CellComplex on 1 ArchSketch [/video]

Screenshot from 2021-11-21 00-53-27.png
Screenshot from 2021-11-21 00-53-27.png (268.51 KiB) Viewed 5704 times
Screenshot from 2021-11-21 00-53-18.png
Screenshot from 2021-11-21 00-53-18.png (301.36 KiB) Viewed 5704 times
Screenshot from 2021-11-21 00-54-20.png
Screenshot from 2021-11-21 00-54-20.png (318.93 KiB) Viewed 5704 times
User avatar
yorik
Founder
Posts: 13630
Joined: Tue Feb 17, 2009 9:16 pm
Location: Brussels
Contact:

Re: [ArchSketch Workflow] - Creating ArchWall + CellComplex on 1 ArchSketch

Post by yorik »

What I would really like to do with Topologic, as well as BlenderBIM:

Give all Arch objects to have an external "engine". That is, their BRep geometry would be fully provided by a call to some method somewhere. For example, an Arch Wall would have an "Engine" property, which could be "Internal" (the default behaviour", or "Topologic", in that case you would be able to define what to call, that would return a Brep shape.

BlenderBIM also has now the amazing possibility to be a 1:1 "rendering" of an IFC file. Each object is transparently linked to a corresponding IFC object. By doing this,FreeCAD could also do that, and be a 100% faithful IFC editor.

Of course this probably needs a bit of work around Topologic and BlenderBIM. But one could also think of other engines, or providers (mesh-based, etc...).
paullee
Veteran
Posts: 5092
Joined: Wed May 04, 2016 3:58 pm

Re: [ArchSketch Workflow] - Creating ArchWall + CellComplex on 1 ArchSketch

Post by paullee »

yorik wrote: Wed Nov 24, 2021 3:44 pm Give all Arch objects to have an external "engine". That is, their BRep geometry would be fully provided by a call to some method somewhere. For example, an Arch Wall would have an "Engine" property, which could be "Internal" (the default behaviour", or "Topologic", in that case you would be able to define what to call, that would return a Brep shape.

BlenderBIM also has now the amazing possibility to be a 1:1 "rendering" of an IFC file. Each object is transparently linked to a corresponding IFC object. By doing this,FreeCAD could also do that, and be a 100% faithful IFC editor.
Sounds like the "Link Execute" property in App::Link by @Realthundar?

Not really used BlenderBIM nor Topologic (watched a few demonstration like https://youtu.be/ke63CzoLo2M), not sure the relationship. Something like this?

FreeCAD e.g. ArchWall 'External Engine' --> Topologic generate Brep --> BlenderBIM return IFC object
User avatar
yorik
Founder
Posts: 13630
Joined: Tue Feb 17, 2009 9:16 pm
Location: Brussels
Contact:

Re: [ArchSketch Workflow] - Creating ArchWall + CellComplex on 1 ArchSketch

Post by yorik »

I was thinking more scenarios like this:

Arch Wall -> Engine: Topologic -> Gets BREP from attached Topologic object
Arch Wall -> Engine: BlenderBIM -> Gets BREP from attached BlenderBIM object
Arch Wall -> Engine: Mesh -> Gets BREP from attached Mesh object (or file, or whatever)

The thing is, although Topologic and BlenderBIM (because based on IfcOpenShell) both can output BREP, there is at the moment no convenient structure to be able to do something like: import BlenderBIM; BlenderBIM.getBrep(IFC_file,object_ID), so there is first a big discussion, probably involving Wassim or Moult, to define a bit how that could happen.

I'm not familiar with the "Link Execute" property of AppLinks.. How does it work?
paullee
Veteran
Posts: 5092
Joined: Wed May 04, 2016 3:58 pm

Re: [ArchSketch Workflow] - Creating ArchWall + CellComplex on 1 ArchSketch

Post by paullee »

yorik wrote: Thu Nov 25, 2021 1:08 pm Arch Wall -> Engine: Topologic -> Gets BREP from attached Topologic object
Arch Wall -> Engine: BlenderBIM -> Gets BREP from attached BlenderBIM object
Arch Wall -> Engine: Mesh -> Gets BREP from attached Mesh object (or file, or whatever)
Hmmm, what is the output from Topologic are you expecting? (e.g. BREP of all external walls of 1st floor of the building?)
yorik wrote: Thu Nov 25, 2021 1:08 pm I'm not familiar with the "Link Execute" property of AppLinks.. How does it work?

[Link] of (Sketch)ObjectPython / Part FeaturePython lose its 'Proxy Methods' ?

In above thread, @Realthundar developed App::Link to check its Linked Object to see if AppLinkExecute() method exists and execute it.

Later, he introduced the LinkExecute attribute to further let user to select what method to run.
User avatar
yorik
Founder
Posts: 13630
Joined: Tue Feb 17, 2009 9:16 pm
Location: Brussels
Contact:

Re: [ArchSketch Workflow] - Creating ArchWall + CellComplex on 1 ArchSketch

Post by yorik »

paullee wrote: Thu Nov 25, 2021 2:40 pm In above thread, @Realthundar developed App::Link to check its Linked Object to see if AppLinkExecute() method exists and execute it.
Interesting... I need to study that better. Might give us additional ideas.
paullee wrote: Thu Nov 25, 2021 2:40 pm Hmmm, what is the output from Topologic are you expecting? (e.g. BREP of all external walls of 1st floor of the building?)
Basically I'm thinking first of BlenderBIM. I know that Topologic can be used to build a BIM model, based on its own system, and that it can output BREP. So probably most of the work is done already.

In the case of BlenderBIM, the way it work in Blender is: A Blender model is tied to an IFC file. If you add a new BIM object, that object is actually created as an IFC object first, then "rendered" into a corresponding Blender object. So your Blender model is always a mirror of the IFC content. When you save the file, both files are actually saved. You actually work natively on the IFC file.

Since BlenderBIM maintains a kind of "parallel model", in memory, the same kind of thing could happen in FreeCAD and who knows, BlenderBIM could one day work in FreeCAD too! Each FreeCAD BIM object could obtain its geometry from a corresponding BlenderBIM object.

There is a long way to there obviously, but that would IMHO be a fantastic path: FreeCAD could be used as a strict, 100% faithful IFC editor, the same way as Moult is going with BlenderBIM, and keep the loose, free BIM modeling paradigm it has now too. Best of 2 worlds :)

Topologic could be used the same way. For example, tolopogic is typically used to create spaces, that get automatically connected and arranged by sets of rules. We could have a set of Arch spaces, all derived/driven by corresponding Topologic spaces.

For these two things, FreeCAD needs to keep, together with the FreeCAD document, a corresponding other document structure (Topologic or BlenderBIM). I'm not sure how that could be done efficiently. Needs more brainstorming I guess...
paullee
Veteran
Posts: 5092
Joined: Wed May 04, 2016 3:58 pm

Re: [ArchSketch Workflow] - Creating ArchWall + CellComplex on 1 ArchSketch

Post by paullee »

Thanks explaining how BlenderBIM works !

Interesting idea to get 100%IFC compliant objects whilst keeping the free BIM modeling paradigm in FC. Probably needs lots of resources? :)

And seems only Bernd and you maintain and bugfix IFCexport, hope there are more peoples understand IFC and FC to help bugfixing and add features.
User avatar
yorik
Founder
Posts: 13630
Joined: Tue Feb 17, 2009 9:16 pm
Location: Brussels
Contact:

Re: [ArchSketch Workflow] - Creating ArchWall + CellComplex on 1 ArchSketch

Post by yorik »

It's always the same thing... When you use it and it has bugs, that's a big motivation to fix :D Indeed I'm afraid it's mostly Bernd at the moment...

Let's schedule some talk with Dion Moult and maybe Wassim to talk about this!
paullee
Veteran
Posts: 5092
Joined: Wed May 04, 2016 3:58 pm

Re: [ArchSketch Workflow] - Creating ArchWall + CellComplex on 1 ArchSketch

Post by paullee »

Probably needs more peoples familiar with IFC :)
paullee
Veteran
Posts: 5092
Joined: Wed May 04, 2016 3:58 pm

Re: [ArchSketch Workflow] - Creating ArchWall + CellComplex on 1 ArchSketch

Post by paullee »

Cross-posting from a thread in OSArch

The experimental Cell Complex feature is exposed in Github, for anyone interested to test :D

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
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

Screenshot from 2022-02-23 02-33-18.png
Screenshot from 2022-02-23 02-33-18.png (157.77 KiB) Viewed 3424 times
Screenshot from 2022-02-23 02-19-13.png
Screenshot from 2022-02-23 02-19-13.png (157.16 KiB) Viewed 3424 times
Screenshot from 2022-02-23 02-19-00.png
Screenshot from 2022-02-23 02-19-00.png (161.21 KiB) Viewed 3424 times
Screenshot from 2022-02-23 02-44-14.png
Screenshot from 2022-02-23 02-44-14.png (211.37 KiB) Viewed 3419 times
Post Reply