Placing multiple windows in Arch workbench messes with walls

Post here for help on using FreeCAD's graphical user interface (GUI).
Forum rules
and Helpful information
IMPORTANT: Please click here and read this first, before asking for help

Also, be nice to others! Read the FreeCAD code of conduct!
Posts: 3
Joined: Fri Jan 11, 2019 12:40 pm

Placing multiple windows in Arch workbench messes with walls

Postby Tobi45 » Fri Jan 11, 2019 1:07 pm

First, I am very inexperienced with FreeCAD so I reckon this is a PEBKAC case:

When I place multiple windows in my wall (walls are created based on sketches), the walls of the whole building become weirdly shifted and I do not know why. The change is immune to undo operations.

When placing a window, I first click the face of the wall that should contain the window, then place the window on it in isometric view with nothing but snap to nearest turned on.

In this case I can place two windows as expected:
two_windows.png (53.03 KiB) Viewed 630 times
When placing a third, this happens:
three_windows.png (63.36 KiB) Viewed 630 times
(28.26 KiB) Downloaded 18 times
I hope my description suffices. Is there an obvious error or something I do wrong when creating the walls perhaps? Any help would be creatly appreciated.

Code: Select all

OS: Windows 7
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.17.13541 (Git)
Build type: Release
Branch: releases/FreeCAD-0-17
Hash: 9948ee4f1570df9216862a79705afb367b2c6ffb
Python version: 2.7.14
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.2.0
Locale: German/Germany (de_DE)
User avatar
Posts: 2926
Joined: Sat Apr 01, 2017 2:47 pm
Location: Vosges

Re: Placing multiple windows in Arch workbench messes with walls

Postby meme2704 » Fri Jan 11, 2019 4:41 pm

I think I understand where the problem is
you made the inner walls separately, from sketches that are constrained to lines of constructions (blue lines) that do not belong to the same object
Every time you make a wall, fuse with the previous one
when you position a window, it performs a Boolean subtraction, and recreates new reference for the wall where it is placed, the references of the other walls are lost, since the fuses were not made to create only one object
moreover, the copies in this workbench are not at best, we often change the characteristics on the way (glases, opening) it is better to redo them one by one
User avatar
Posts: 1918
Joined: Thu Dec 27, 2018 12:28 pm

Re: Placing multiple windows in Arch workbench messes with walls

Postby Roy_043 » Fri Jan 11, 2019 7:10 pm

The OP has perhaps constrained sketches to edges of walls. Am I right in thinking that only constraining sketches to other sketches would have avoided this problem? Is this another manifestation of the 'topological naming' issue?
BTW: How do you check which object is the source of external geometry?

EDIT: spelling.
Last edited by Roy_043 on Sun Jan 20, 2019 6:11 pm, edited 1 time in total.
Posts: 3
Joined: Fri Jan 11, 2019 12:40 pm

Re: Placing multiple windows in Arch workbench messes with walls

Postby Tobi45 » Fri Jan 11, 2019 7:46 pm

@meme2704: Thank you very much for taking the time to reply!

I tried to create the walls the way you suggested and always created the blue reference helper lines from the previously merged wall.

Placing windows now apparently does not disturb the wall references anymore!

However, it seems that I can not change a Sketch I used for wall placement without destroying its validity and messing with my wall construct.

Is there some kind of best practice for creating walls with the Sketcher Workbench?

One tutorial ( I used to become familiar with the Arch Workbench says:
There are different possible strategies to build walls in FreeCAD. One might want to build a complete "floor plan" with the sketcher, and build one, big, wall object from it. This technique works, but you can only give one thickness for all the walls of the project. Or, you can build each piece of wall from separate line segments.
but I need different wall thicknesses and do not know how to build different pieces of walls from separate line segments (without the dimension change problem described above). Using the Draft Workbench doesn't appeal to me very much because I like the constraints system the Sketcher offers. When I am not mistaken, it should be possible to create walls from Faces based on a Sketch. However, I didn't find a way to manually create a face from a Sketch so I wasn't able to do that.

If you have any further input or pointers to information regarding a good practice in creating walls (preferably from Sketches), please let me know.
User avatar
Posts: 1194
Joined: Thu Jan 19, 2017 5:03 pm
Location: Ammersee

Re: Placing multiple windows in Arch workbench messes with walls

Postby hammax » Sat Jan 12, 2019 9:01 am

Hi Toby,
… have / had similar beginner problems with arch_windows.
Too complicated to discuss in help forum => Go Arch / BIM (or german)
Here a workaround with clones and placement operations.

HausWindow.PNG (37.06 KiB) Viewed 570 times
WindowClonePosition.png (68.67 KiB) Viewed 570 times
(97.38 KiB) Downloaded 16 times
Last edited by hammax on Sat Jan 12, 2019 10:49 am, edited 1 time in total.
Posts: 2673
Joined: Wed May 04, 2016 3:58 pm

Re: Placing multiple windows in Arch workbench messes with walls

Postby paullee » Sat Jan 12, 2019 9:05 am

Hi, I have been trying / experimenting to use Sketch as Architectural Layout.

With a lot of works and limitation, I am conceiving MasterSketch - Dependent Sketches workflow. So control the layout in MasterSketch, each Dependent Sketch is say 'export' of part of the MasterSketch for 100mm thick wall, 150mm thick wall etc. then ArchWall build on the latters. Realthunder's SketchExport may help but I have long not follow that at the moment to see.

BTW, there was another discussion that Arch Layout using sketch ... 75#p268267, but limitation / problem still apply.

In the meantime, you may try following to avoid modifying sketch impact other sketch... though I avoid to use Link to External Edge...
  1. see discussion ... 30#p273230
  2. make the Link to External Geometry as required
  3. Duplicate the edge with normal edge with say coincidence
  4. Then add Block Constraints to freeze the latter
  5. Remove the External Link so whatever the change in external it does affect the current sketch
  6. Downside is if that particular 'External Edge' is expected to change and need updating and referenced in current sketch, need to do it again manually
  7. At least, it would not 'unexpectedly' frustrate the current sketch when the external geometry is 'updated' without aware of knock-on effect
Good luck.
Posts: 3
Joined: Fri Jan 11, 2019 12:40 pm

Re: Placing multiple windows in Arch workbench messes with walls

Postby Tobi45 » Mon Jan 14, 2019 8:44 am

@hammax @paulee Thank you for taking the time to further enlighten me.

I am going to understand and try your suggestions and further look into the topic to find out which way works best for my purposes.

In principle, I wouldn't mind if changing dimensions after initial modelling wouldn't work because walls barely change. But I am afraid that if I ever have to change a wall dimension, I need to redo my whole wall model and everything that references the resulting rooms.

Thanks again everyone for enabling me to continue!

PS: I am a fan of the OpenSCAD language and would love to be able to design and parameterise my floor plan with it (replacing the sketches) and then build on top of that in FreeCAD. Do you know of a workflow allowing for that?
User avatar
Site Admin
Posts: 12035
Joined: Tue Feb 17, 2009 9:16 pm
Location: Brussels, Belgium

Re: Placing multiple windows in Arch workbench messes with walls

Postby yorik » Mon Jan 14, 2019 4:26 pm

Basically the problem is our arch-enemy number one bug in freecad: TopoNaming.
Each edge in an object has a number: Edge1, Edge2,... When an object is recalculated, that numbering order can change. And any other object that is using an edge from the first one, might suddenly pick another edge because its ordering has changed.
This is a problem in OpenCasCade, the geometry engine of FreeCAD, and therefore it's very hard for us to find a solution. Many have been and are still actively trying. No doubt some day we'll have a solution, but it might take time.

Sketches are particularly vulnerable to that problem, because the solver can take an infinite number of possible paths to solve a sketch. The more geometry and constraints there are in a sketch, the more "hasardous" it becomes. Draft objects, on the other hand, construct their geometry always in the same order, so they are much more predictable and stable.

But when you grow used to sketches, you learn to cope with their volatility, and most long-term freecad users know well how to avoid most of the problems. Basically try to keep them simple and not make very complex sketch-depending-on-another-sketch situations