I noticed that if I generated building's geometry from the sketches and at a later time added other geometry to the base sketches the whole building model would break.
I finally gave up and got back to using my usual modelling software, but was a bit sad and I'm trying to investigate if there are better ways of doing what I was trying to do with FreeCAD. If I find a solution to my issues, I could regard FreeCAD as a solid alternative to any other CAD/BIM software I know of.
Can any of you provide help concerning this? Have you found ways of using sketches that dynamically change your models without breaking?
I have my FreeCAD and system info at the end, as well as the model I've been playing with.
Here's the example I tried the workflow with and an generic step by step description of the process and what went wrong with it:
My approach to sketches was what I imagined was the most intuitive for a Sketch based architectural workflow. After understanding about the topological naming I have to think on how to adapt it or if I would need to follow a different workflow or how much intuitive would that be for me.
I will share the progress I make on that investigation from time to time, hoping that might also help others.
1 - BASE SKETCH
So, what I did at first was to draw every base line of my building's geometry in floor plan. Like a true first sketch you'd hand draw, but with precise geometry and using a dimension based constrain system. The way I saw it at first was that this was very similar to the Sketches an architect starts with, but instead of loose and vague, it would be accurate and parametric. A natural second step after a paper sketch... I had seen the light!
2 - SECONDARY SKETCHES
My initial idea was to pick sketch lines to create walls from and hit the wall button, then pick the slab lines and hit the slab button, and so on. Then FreeCAD would parametrically generate elements based on those lines and whichever chages were made to them.
I soon realized that I couldn't pick individual lines/curves/polylines from the base sketch. So, in order to base my individual building elements, I started building secondary sketches that were connected to the base Sketch. That worked very well by usign the "edge linked to external geometry" tool in the sketcher workbench and picking elements from the Base Sketch as external geometry.
I made a new sketch for each arch element I needed and sometimes I reused the same sketch. That seemed an almost ideal workflow.
Here's a gif of that process:
I understand now that this was where problems stemed from.
Q1: Should we avoid this method altogether?
Q2: If I would use the "four sketch lines that form a wire" method could I safely connect new sketches to that "wire sketch geometry"?
3 - BREAKING SKETCHES
The truth is that as as long as no new geometry would be added to the base sketch this method was working really nicelly. I kept adding new sketches on top of the base sketch, connected to it, and changing base sketch dimensions, angles or constrains was smoothly changing walls and slabs.
However I then tried going back to base Sketch and added an extra wall. This broke every other sketch. Not understanding why that happened, I simply redid the secondary sketches only to have them break again later.
Here's a gif showing what happened:
And another gif where I undo and redo the sketch lines to better show the effects on every secondary Sketch:
4 - MULTIPLE WALLS BASED ON A SINGLE SKETCH
Two of the secondary sketches in this example were baselines for walls. I noticed that if I had all walls in the same sketch sometimes the wall tool didn't generate them. It happened consistently if walls were mixing closed loops with open lines (though right now I can't consistently reproduce it).
So I started splitting my wall sketches into wall types. In this case having a sketch for exterior wall and another for interior walls worked. It resulted into two models, one was a continuous wall, for the exterior, the other was a group of several wall elements. Everything seemed fine in FreeCAD however, exporting the file to IFC and opening it on Blender only showed 2 walls. The exterior continuous wall, and a single interior wall element from the multiwall group. Here is an image:
I imagine that IFC doesn't like to have wall geometries that are not continuous and that might be the problem I have there.
However, I'm not thinking that I will be creating an independent base sketch for each wall and honestly the method I used is very convenient as it consistently keeps regenerating walls as changes happen in the base sketch geometry (as you can see in several of the posted gifs).
Of course, introducing a change to the base Sketch that would break the model, would break these walls.
Q3: I wonder if there is an easy method to generate walls, that is similar to the one I used, but doesn't break and at the same time is exportable to IFC?
Q4: Is this an issue from my method that works geometrically within FreeCAD but is bad practice in IFC and should be avoided or is it a bug in Blender's IFC implementation?
5 - ISSUES WITH WINDOWS/DOORS
Finally I was also investigating on windows and glazing when this happened and I had some issues with them too where I couldn't exactly find the best workflow. Here are some of the issues I had with them:
- I couldn't find how to design a façade like the following image and place it on a Sketch base line, splitting the line into N panels. My idea was that when the base Sketch changed the windows would be evenly distributed throughout the line:
- At the same time, placing windows in a wall and reference their position to the bas.e sketch wasn't straightforward either (I will investigate the method @paullee is using and maybe find some answers there)
- I understood that I should change window measurements in the properties panel but I didn't find a nice way to visually change their geometry or relate it with other sketches. That would be key for making the windows align/relate with changing geometry or to visually model them in a wysiwyg approach that I rather work with.
- I understood that it wasn't very easy to configure window types. They had a base sketch that was a bit hard to understand how it worked and change it, and I understood that they had predefined settings that would have to be defined from start in an initial dialog, but after placing them I couldn't find how to cycle through the options.
- It would be great to have a way to customize or create our own settings and window types.
- I also understood that windows were not connected to walls. They had an absolute position in space and so, when a wall changed position, the window would stay put, floating in midair:
Q6: Is it straightforward to create windows and/or façades (windows+walls or windows+structures) based on vertical sketches and have those sketches based on floor plan sketches, instead of inserting windows manually into walls?
I think the most important issues and questions I faced are layed out here. I just tried following what I imagined could be an intuitive approach using the small info I could find about FreeCAD and Sketches and this is a result of a trial and error process that ended up in a dead end for me. I would really appreciate some guidance going forward from here but I hope I'm not pushing my luck, or asking too many questions and making too many bad assumptions as to how and if the software works as it should.
Here is the model I used for my test:
And FreeCAD's about info:
OS: Windows 10
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.18.4 (GitTag)
Build type: Release
Python version: 3.6.6
Qt version: 5.6.2
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: Portuguese/Portugal (pt_PT)
Thanks in advance,