Arch Window

THIS COMMAND IS PART OF THE INTEGRATED BIM WORKBENCH IN V1.0
This page has been updated for that version.

Arch Window

Menu location
3D/BIM → Window
Workbenches
BIM
Default shortcut
W I
Introduced in version
-
See also
None

Description

The Arch Window tool creates a base object for all kinds of "embeddable" objects, such as windows and doors. It is designed to be either independent, or "hosted" inside another component such as an Arch Wall, Arch Structure, or Arch Roof. It has its own geometry, that can be made of several solid components (commonly a frame and inner panels), and also defines a volume to be subtracted from the host objects, in order to create an opening.

Window objects are based on closed 2D objects, such as Draft Rectangles or Sketches, that are used to define their inner components. The base 2D object must therefore contain several closed wires, that can be combined to form filled panels (one wire) or frames (several wires).

The Window tool features several presets. These allow the user to create common types of windows and doors with certain editable parameters, without the need to create the base 2D objects and components manually.

All information applicable to an Arch Window also applies to an Arch Door, as it's the same underlying object.

Complex window being constructed on top of a Sketch. When entering the window's edit mode you can create different components, set their thickness, and select and assign wires from the sketch to them.

Usage

Using a preset

  1. There are several ways to invoke the tool:
    • Press the Window button.
    • Select the 3D/BIM → Window option from the menu.
    • Use the keyboard shortcut: W then I.
  2. Select one of the presets in the list.
  3. Fill out the desired parameters.
  4. In the 3D view, move the window to the location where you wish to place it. If you move the pointer over an Arch Wall, the outline of the window should align itself with the face of that object.
  5. Click on the 3D view with the mouse, or press the Enter key three times to confirm the X, Y, Z coordinates of the placement.

Additional presets

In addition to the default presets, the window tool can also use custom presets. A custom preset is a FreeCAD file containing a single window based on a parametric sketch that has two named constrains: Width and Height. Custom presets can be placed in the following locations:

The window tool will always search this pair of locations:

$ROOT_DIR/Arch/Doors/Custom/
$ROOT_DIR/Arch/Windows/Custom/

If you install the Parts Library from the Addon Manager, the window tool will also search this library for additional presets at this pair of locations:

$ROOT_DIR/Mod/parts_library/Architectural Parts/Doors/Custom/
$ROOT_DIR/Mod/parts_library/Architectural Parts/Windows/Custom/

Custom presets will be available in the window tool's presets dropdown menu. Presets in library locations will also be available in the Parts Library dialog.

Creating a custom window

  1. Optionally, select a face on the Arch object where you want the window to be included.
  2. Switch to the Sketcher Workbench.
  3. Create a new sketch.
  4. Draw one or more closed wires (loops). Pay close attention to the creation order of these loops, the numbering of the "wires" in the task panel ("Window elements") depends on this.
  5. Close the sketch.
  6. Switch back to the BIM Workbench.
  7. Invoke the tool as described above.
  8. To adjust the window components and various properties, enter the window task panel by double-clicking on the created object in the tree view.
  9. Note that since components following a hinged component will also hinge, all fixed components, such as outer frames and fixed glass panels, must be defined before any hinged components. And a glass panel in a hinged frame must be defined after that frame, and before any other hinged components.

Presets

The following presets are available:

Building components

Windows can include 4 types of components: frames, solid panels, glass panels and louvres. Panels and louvres are made from one closed wire, which gets extruded, while frames are made from 2 or more closed wire, where each one is extruded, then the smaller ones are subtracted from the biggest one. You can access, create, modify and delete components of a window in edit mode (double-click the window in the Tree view). The components have the following properties:

Options

Openings

See also: Tutorial for open windows

Doors and windows can appear partially or fully open in the 3D model, or can display opening symbols both in plan and/or elevation. Consequently, these will also appear in extracted 2D views generated by Draft Shape2DView or TechDraw Workbench. To obtain this, at least one of the window components must have a hinge and an opening mode defined (see the Building components above). Then, using the DataOpening, DataSymbol Plan or DataSymbol Elevation properties, you can configure the appearance of the window:

A door showing the symbol plan, symbol elevation and opening properties at work

Defining window types

Windows can also take advantage of other tools, specifically PartDesign workflows, to define a type. A type is an object that defines the shape of the window. This is specially well suited to work with App Parts:

Download the example file shown above

Example workflow

Our window type is now ready. We can create window objects from it, simply by selecting the App Part and pressing the window button. The "Height", "Width", "Subvolume" and "Tag" properties of the window will be linked to the corresponding property of the App Part, if existing.

Materials

To build a material for type-based windows:

You can use any other kind of workflow than the one described above, the important points to remember are:

Properties

An Arch Window object shares the common properties and behaviors of all Arch Components.

Data

Window

Scripting

See also: Arch API and FreeCAD Scripting Basics.

The Window tool can be used in macros and from the Python console by using the following function:

Window = makeWindow(baseobj=None, width=None, height=None, parts=None, name="Window")

Example:

import FreeCAD, Draft, Arch

Rect1 = Draft.makeRectangle(length=900, height=3000)
Window = Arch.makeWindow(Rect1)
FreeCAD.ActiveDocument.recompute()

You can also create a Window from a preset.

Window = makeWindowPreset(windowtype, width, height, h1, h2, h3, w1, w2, o1, o2, placement=None)

Example:

import FreeCAD, Arch

base = FreeCAD.Vector(2000, 0, 0)
Axis = FreeCAD.Vector(1, 0, 0)
place=FreeCAD.Placement(base, FreeCAD.Rotation(Axis, 90))

Door = Arch.makeWindowPreset("Simple door",
                             width=900, height=2000,
                             h1=100, h2=100, h3=100, w1=200, w2=100, o1=0, o2=100,
                             placement=place)