[ArchSketch Workflow] - Creating ArchWall + CellComplex on 1 ArchSketch
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Be nice to others! Respect the FreeCAD code of conduct!
[ArchSketch Workflow] - Creating ArchWall + CellComplex on 1 ArchSketch
Exploring how to use Topologic, and how to facilitate creation of 'CellComplex' in FreeCAD thanks to Dr. Wassim Jabi's assistance.
Discussion at OSArch
ArchSketch Workflow - Creating ArchWall + CellComplex on 1 ArchSketch [/video]
Discussion at OSArch
ArchSketch Workflow - Creating ArchWall + CellComplex on 1 ArchSketch [/video]
Re: [ArchSketch Workflow] - Creating ArchWall + CellComplex on 1 ArchSketch
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...).
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...).
Re: [ArchSketch Workflow] - Creating ArchWall + CellComplex on 1 ArchSketch
Sounds like the "Link Execute" property in App::Link by @Realthundar?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.
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
Re: [ArchSketch Workflow] - Creating ArchWall + CellComplex on 1 ArchSketch
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?
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?
Re: [ArchSketch Workflow] - Creating ArchWall + CellComplex on 1 ArchSketch
Hmmm, what is the output from Topologic are you expecting? (e.g. BREP of all external walls of 1st floor of the building?)
[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.
Re: [ArchSketch Workflow] - Creating ArchWall + CellComplex on 1 ArchSketch
Interesting... I need to study that better. Might give us additional ideas.
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...
Re: [ArchSketch Workflow] - Creating ArchWall + CellComplex on 1 ArchSketch
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.
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.
Re: [ArchSketch Workflow] - Creating ArchWall + CellComplex on 1 ArchSketch
It's always the same thing... When you use it and it has bugs, that's a big motivation to fix 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!
Let's schedule some talk with Dion Moult and maybe Wassim to talk about this!
Re: [ArchSketch Workflow] - Creating ArchWall + CellComplex on 1 ArchSketch
Probably needs more peoples familiar with IFC
Re: [ArchSketch Workflow] - Creating ArchWall + CellComplex on 1 ArchSketch
Cross-posting from a thread in OSArch
The experimental Cell Complex feature is exposed in Github, for anyone interested to test
https://github.com/paullee0/FreeCAD_SketchArch
The current workflow is -
The experimental Cell Complex feature is exposed in Github, for anyone interested to test
https://github.com/paullee0/FreeCAD_SketchArch
The current workflow is -
- In ArchSketch (with a floor layout e.g.), switch the Detect Room attribute to True
- Select this ArchSketch, click the new CellComplex button (recompute as necessary)
- Get the shape of CellComplex
- Build an ArchWall based on this ArchSketch as usual
- In ArchSketch (with a floor layout e.g.), switch the Detect Room attribute to True
- Switch an attribute in this ArchSketch, e.g. Show CellComplex
- This ArchSketch get and show the shape of CellComplex