Draft Facebinder: Difference between revisions

From FreeCAD Documentation
(It can be edited after creation.)
(Code with Placement.)
Line 43: Line 43:


==Scripting== <!--T:6-->
==Scripting== <!--T:6-->
{{emphasis|See also:}} [[FreeCAD Scripting Basics]], [[Draft API]], and the [https://www.freecadweb.org/api autogenerated API documentation].


<!--T:7-->
<!--T:7-->
The facebinder tool can be usedin scripts and [[macros]] by using the following function:
The Facebinder tool can be used in [[macros]] and from the [[Python]] console by using the following function:
</translate>
</translate>
{{Code|code=
{{Code|code=
makeFacebinder ( selectionset )
Facebinder = makeFacebinder(selectionset, name="Facebinder")
}}
}}
<translate>
<translate>
<!--T:8-->
<!--T:8-->
* Creates a facebinder object from the given selection set, which is a list of selection objects such as returned by the FreeCADGui.Selection.getSelectionEx() method.
* Creates a Facebinder object from the given {{incode|selectionset}}, which is a list of {{incode|SelectionObject}}s such as those returned by {{incode|FreeCADGui.Selection.getSelectionEx()}}.
* Only selected faces are taken into account
* Only selected faces are taken into account

* Returns the newly created object
The thickness of the ShapeString can be added by overwriting its {{incode|Extrusion}} attribute; the value is entered in millimeters.

The placement of the ShapeString can be changed by overwriting its {{incode|Placement}} attribute, or by individually overwriting its {{incode|Placement.Base}} and {{incode|Placement.Rotation}} attributes.


<!--T:9-->
<!--T:9-->
Line 60: Line 64:
</translate>
</translate>
{{Code|code=
{{Code|code=
import Draft, FreeCADGui
import FreeCAD, FreeCADGui, Draft

mySelection = FreeCADGui.Selection.getSelectionEx()
# Insert a solid box
Draft.makeFacebinder(mySelection)
Box = FreeCAD.ActiveDocument.addObject("Part::Box", "Box")
Box.Length = 2300
Box.Width = 800
Box.Height = 1000

# Pick any two side faces, and then
selection = FreeCADGui.Selection.getSelectionEx()
Facebinder = Draft.makeFacebinder(selection)
Facebinder.Extrusion = 50
FreeCAD.ActiveDocument.recompute()

Facebinder.Placement.Base = FreeCAD.Vector(1000, -1000, 100)
Facebinder.ViewObject.ShapeColor = (0.99, 0.99, 0.4)
}}
}}
<translate>
<translate>

==Limitations== <!--T:10-->
==Limitations== <!--T:10-->



Revision as of 04:52, 9 November 2018

Draft Facebinder

Menu location
Draft → Facebinder
Workbenches
Draft, Arch
Default shortcut
F F
Introduced in version
0.15
See also
Part Box, Arch Wall

Description

The Facebinder tool creates a surface object from the selected faces of solid object. It is parametric, meaning that if you modify the original object, the Facebinder updates accordingly. If you move and rotate the Facebinder, it will stay linked to the original faces.

It can be used to create an extrusion from a collection of faces from other objects. A typical use is in architectural design to build an object that covers several faces of walls, for example, a wall paper, or wall finish.

How to use

  1. Pick one face, or hold Ctrl and pick several faces, from solid objects.
  2. Press the Facebinder button, or press F then F keys.

The faces that are part of the Facebinder can be changed after creation, by double clicking on the element, and adding or removing faces with the Add or Remove buttons.

Options

This object has no options when it's being created. Only selected faces will be used to create the Facebinder object.

Properties

Data

  • DataExtrusion: specifies an extrusion thickness to apply to all faces of the shape.
  • DataRemove Splitter: if it is true it tries to fuse the internal intersections of the Facebinder when it extruded.
  • DataSew: if it is true it tries to perform a topological sewing operation on the Facebinder when it extruded.

View

  • ViewPattern: specifies a Draft Pattern with which to fill the face of the shape. This property only works if ViewDisplay Mode is "Flat Lines".
  • ViewPattern Size: specifies the size of the Draft Pattern.

Scripting

See also: FreeCAD Scripting Basics, Draft API, and the autogenerated API documentation.

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

Facebinder = makeFacebinder(selectionset, name="Facebinder")
  • Creates a Facebinder object from the given selectionset, which is a list of SelectionObjects such as those returned by FreeCADGui.Selection.getSelectionEx().
  • Only selected faces are taken into account

The thickness of the ShapeString can be added by overwriting its Extrusion attribute; the value is entered in millimeters.

The placement of the ShapeString can be changed by overwriting its Placement attribute, or by individually overwriting its Placement.Base and Placement.Rotation attributes.

Example:

import FreeCAD, FreeCADGui, Draft

# Insert a solid box
Box = FreeCAD.ActiveDocument.addObject("Part::Box", "Box")
Box.Length = 2300
Box.Width = 800
Box.Height = 1000

# Pick any two side faces, and then
selection = FreeCADGui.Selection.getSelectionEx()
Facebinder = Draft.makeFacebinder(selection)
Facebinder.Extrusion = 50
FreeCAD.ActiveDocument.recompute()

Facebinder.Placement.Base = FreeCAD.Vector(1000, -1000, 100)
Facebinder.ViewObject.ShapeColor = (0.99, 0.99, 0.4)

Limitations

  • Not available before version 0.14