Difference between revisions of "Draft Facebinder"

From FreeCAD Documentation
Jump to navigation Jump to search
(Editing the Facebinder)
 
(21 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
<languages/>
 
<languages/>
 
<translate>
 
<translate>
 +
<!--T:21-->
 +
{{Docnav
 +
|[[Draft_ShapeString|ShapeString]]
 +
|[[Draft_BezCurve|Bezier Curve]]
 +
|[[Draft_Module|Draft]]
 +
|IconL=Draft_ShapeString.svg
 +
|IconC=Workbench_Draft.svg
 +
|IconR=Draft_BezCurve.svg
 +
}}
 +
 
<!--T:1-->
 
<!--T:1-->
 
{{GuiCommand
 
{{GuiCommand
Line 6: Line 16:
 
|MenuLocation=Draft → Facebinder
 
|MenuLocation=Draft → Facebinder
 
|Workbenches=[[Draft Module|Draft]], [[Arch Module|Arch]]
 
|Workbenches=[[Draft Module|Draft]], [[Arch Module|Arch]]
|Shortcut=F F
+
|Shortcut={{KEY|F}} {{KEY|F}}
|SeeAlso=[[Part Box]], [[Arch Wall]]
+
|SeeAlso=[[Part Box|Part Box]], [[Arch Wall|Arch Wall]]
 
|Version=0.14
 
|Version=0.14
 
}}
 
}}
Line 16: Line 26:
 
The Facebinder tool creates a surface object from the selected faces of a 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.
 
The Facebinder tool creates a surface object from the selected faces of a 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.
  
 +
<!--T:12-->
 
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 walls, for example, a wall paper, or wall finish.
 
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 walls, for example, a wall paper, or wall finish.
  
Line 21: Line 32:
 
[[Image:Draft facebinder example.jpg|400px]]
 
[[Image:Draft facebinder example.jpg|400px]]
 
<translate>
 
<translate>
 +
<!--T:13-->
 +
{{Caption|Facebinder created from the faces of solid walls}}
  
==How to use== <!--T:4-->
+
==Usage== <!--T:4-->
  
 
<!--T:5-->
 
<!--T:5-->
 
# Pick one face, or hold {{KEY|Ctrl}} and pick several faces, from solid objects.
 
# Pick one face, or hold {{KEY|Ctrl}} and pick several faces, from solid objects.
# Press the {{Button|[[Image:Draft_Facebinder.png|16px]] [[Draft_Facebinder|Facebinder]]}} button, or press {{KEY|F}} then {{KEY|F}} keys.
+
# Press the {{Button|[[Image:Draft_Facebinder.svg|16px]] [[Draft_Facebinder|Facebinder]]}} button, or press {{KEY|F}} then {{KEY|F}} keys.
  
 +
<!--T:14-->
 
The Facebinder can be edited by double clicking on the element in the tree view. Then you can change the faces that are part of the object.
 
The Facebinder can be edited by double clicking on the element in the tree view. Then you can change the faces that are part of the object.
 
* To add a face, click on a face of a solid object in the 3D view, and then click on the {{Button|[[Image:Arch_Add.svg|16px]] Add}} button.
 
* To add a face, click on a face of a solid object in the 3D view, and then click on the {{Button|[[Image:Arch_Add.svg|16px]] Add}} button.
Line 33: Line 47:
 
* Press {{KEY|Esc}} or the {{Button|OK}} button to complete the edition.
 
* Press {{KEY|Esc}} or the {{Button|OK}} button to complete the edition.
  
== Options ==
+
== Options == <!--T:15-->
 
This object has no options when it's being created. Only selected faces will be used to create the Facebinder object.
 
This object has no options when it's being created. Only selected faces will be used to create the Facebinder object.
  
== Properties ==
+
== Properties == <!--T:16-->
 
=== Data ===
 
=== Data ===
 
* {{PropertyData|Extrusion}}: specifies an extrusion thickness to apply to all faces of the shape.
 
* {{PropertyData|Extrusion}}: specifies an extrusion thickness to apply to all faces of the shape.
 
* {{PropertyData|Remove Splitter}}: if it is {{TRUE}} it tries to fuse the internal intersections of the Facebinder when it extruded.
 
* {{PropertyData|Remove Splitter}}: if it is {{TRUE}} it tries to fuse the internal intersections of the Facebinder when it extruded.
 
* {{PropertyData|Sew}}: if it is {{TRUE}} it tries to perform a topological sewing operation on the Facebinder when it extruded.
 
* {{PropertyData|Sew}}: if it is {{TRUE}} it tries to perform a topological sewing operation on the Facebinder when it extruded.
 +
* {{PropertyData|Offset}}: specifies an offset distance to apply betweenthe facebinder and the original faces, prior to extrusion.
 +
* {{PropertyData|Area}}: the total area of this facebinder.
  
=== View ===
+
=== View === <!--T:17-->
* {{PropertyView|Pattern}}: specifies a [[Draft Pattern]] with which to fill the face of the shape. This property only works if {{PropertyView|Display Mode}} is "Flat Lines".
+
* {{PropertyView|Pattern}}: specifies a [[Draft Pattern|Draft Pattern]] with which to fill the face of the shape. This property only works if {{PropertyView|Display Mode}} is "Flat Lines".
* {{PropertyView|Pattern Size}}: specifies the size of the [[Draft Pattern]].
+
* {{PropertyView|Pattern Size}}: specifies the size of the [[Draft Pattern|Draft Pattern]].
  
 
==Scripting== <!--T:6-->
 
==Scripting== <!--T:6-->
{{emphasis|See also:}} [[FreeCAD Scripting Basics]], [[Draft API]], and the [https://www.freecadweb.org/api autogenerated API documentation].
+
{{Emphasis|See also:}} [[Draft API|Draft API]] and [[FreeCAD Scripting Basics|FreeCAD Scripting Basics]].
  
 
<!--T:7-->
 
<!--T:7-->
The Facebinder tool can be used in [[macros]] and from the [[Python]] console by using the following function:
+
The Facebinder tool can be used in [[macros|macros]] and from the [[Python|Python]] console by using the following function:
 
</translate>
 
</translate>
 
{{Code|code=
 
{{Code|code=
Facebinder = makeFacebinder(selectionset, name="Facebinder")
+
Facebinder = makeFacebinder(selectionset)
 
}}
 
}}
 
<translate>
 
<translate>
 
<!--T:8-->
 
<!--T:8-->
* 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()}}.
+
* Creates a {{incode|Facebinder}} object from the given {{incode|selectionset}}, which is a list of {{incode|SelectionObject}}s as returned by {{incode|FreeCADGui.Selection.getSelectionEx()}}. Only selected faces are taken into account.
* Only selected faces are taken into account
+
** {{incode|selectionset}} can also be a {{incode|PropertyLinkSubList}}.
 +
 +
A {{incode|PropertyLinkSubList}} is a list of tuples; each tuple contains as first element an {{incode|object}}, and as second element a list (or tuple) of strings; these strings indicate the names of the sub-elements (faces) of that object.
 +
 
 +
</translate>
 +
{{Code|code=
 +
PropertyLinkSubList = [tuple1, tuple2, tuple3, ...]
 +
PropertyLinkSubList = [(object1, list1), (object2, list2), (object3, list3), ...]
 +
PropertyLinkSubList = [(object1, ['Face1', 'Face4', 'Face6']), ...]
 +
PropertyLinkSubList = [(object1, ('Face1', 'Face4', 'Face6')), ...]
 +
}}
 +
<translate>
  
The thickness of the ShapeString can be added by overwriting its {{incode|Extrusion}} attribute; the value is entered in millimeters.
+
<!--T:18-->
 +
The thickness of the Facebinder 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:19-->
 +
The placement of the Facebinder 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 68: Line 97:
 
</translate>
 
</translate>
 
{{Code|code=
 
{{Code|code=
import FreeCAD, FreeCADGui, Draft
+
import FreeCAD
 +
import FreeCADGui
 +
import Draft
  
 
# Insert a solid box
 
# Insert a solid box
Line 76: Line 107:
 
Box.Height = 1000
 
Box.Height = 1000
  
# Pick any two side faces, and then
+
# selection = FreeCADGui.Selection.getSelectionEx()
selection = FreeCADGui.Selection.getSelectionEx()
+
selection = [(Box, ("Face1", "Face6"))]
 
Facebinder = Draft.makeFacebinder(selection)
 
Facebinder = Draft.makeFacebinder(selection)
 
Facebinder.Extrusion = 50
 
Facebinder.Extrusion = 50
Line 86: Line 117:
 
}}
 
}}
 
<translate>
 
<translate>
{{Draft Tools navi}}
+
 
{{Userdocnavi}}
+
<!--T:20-->
 +
{{Docnav
 +
|[[Draft_ShapeString|ShapeString]]
 +
|[[Draft_BezCurve|Bezier Curve]]
 +
|[[Draft_Module|Draft]]
 +
|IconL=Draft_ShapeString.svg
 +
|IconC=Workbench_Draft.svg
 +
|IconR=Draft_BezCurve.svg
 +
}}
 +
 
 
</translate>
 
</translate>
 +
{{Draft Tools navi{{#translation:}}}}
 +
{{Userdocnavi{{#translation:}}}}
 
{{clear}}
 
{{clear}}

Latest revision as of 11:46, 10 June 2020

Other languages:
Deutsch • ‎English • ‎Türkçe • ‎español • ‎français • ‎italiano • ‎polski • ‎română • ‎svenska • ‎čeština • ‎русский
Arrow-left.svg Previous: Draft ShapeString.svg ShapeString

Draft Facebinder.svg Draft Facebinder

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


Description

The Facebinder tool creates a surface object from the selected faces of a 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 walls, for example, a wall paper, or wall finish.

Draft facebinder example.jpg

Facebinder created from the faces of solid walls


Usage

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

The Facebinder can be edited by double clicking on the element in the tree view. Then you can change the faces that are part of the object.

  • To add a face, click on a face of a solid object in the 3D view, and then click on the Arch Add.svg Add button.
  • To remove a face, select one of the sub-elements in the list, and then click on the Arch Remove.svg Remove button.
  • Press Esc or the OK button to complete the edition.

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.
  • DataOffset: specifies an offset distance to apply betweenthe facebinder and the original faces, prior to extrusion.
  • DataArea: the total area of this facebinder.

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: Draft API and FreeCAD Scripting Basics.

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

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

A PropertyLinkSubList is a list of tuples; each tuple contains as first element an object, and as second element a list (or tuple) of strings; these strings indicate the names of the sub-elements (faces) of that object.

PropertyLinkSubList = [tuple1, tuple2, tuple3, ...]
PropertyLinkSubList = [(object1, list1), (object2, list2), (object3, list3), ...]
PropertyLinkSubList = [(object1, ['Face1', 'Face4', 'Face6']), ...]
PropertyLinkSubList = [(object1, ('Face1', 'Face4', 'Face6')), ...]

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

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

Example:

import FreeCAD
import FreeCADGui
import Draft

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

# selection = FreeCADGui.Selection.getSelectionEx()
selection = [(Box, ("Face1", "Face6"))]
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)
Arrow-left.svg Previous: Draft ShapeString.svg ShapeString