I collect a few threads that discuss these topics for reference.
- Complex Preset Doors/Windows don't rotate
- Re: Arch Window - Glass Panel Area etc in Python Script?
- [Bug] Arch Wall doesn't update itself when a Window is removed from it
- [Discussion] Sketches that support Windows and Doors have a strange orientation
- Positioning Windows
- Adding windows to a rectangular wall
- Arch Window on Non-Linear Wall?
- Moving window with wall
I think from a usability point of view, the automatic calculation of the window's Normal should be improved. In the second tutorial by jpg87, and in the wiki, it is shown that even if you rotate the base sketch, or if you remap the sketch to a new plane, the Window doesn't automatically adjust the Normal.yorik wrote: ↑Thu Apr 27, 2017 12:06 am obtaining a normal depends on your shape. In DraftGeomUtils module there is a getNormal() function that tries to obtain a normal from any shape you give to it. Better be it a flat shape, otherwise the result can be not what you want. But for something flat (face or wire(s)) it works well. This will get a normal for a selected object:
import DraftGeomUtils
DraftGeomUtils.getNormal(Gui.Selection.getSelection()[0].Shape)
In most cases, the user shouldn't be calculating the normal and changing the value manually. Maybe a button can be added to the Window's Task panel so the user can choose any face so that FreeCAD calculates the Normal and orients the object in the desired direction.