Draft Facebinder: Difference between revisions

From FreeCAD Documentation
(Use the {{KEY}} and {{Button}} templates. Fixed redaction.)
(Button text.)
 
(61 intermediate revisions by 7 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
<translate>
<translate>

<!--T:21-->
{{Docnav
|[[Draft_Point|Point]]
|[[Draft_ShapeString|ShapeString]]
|[[Draft_Workbench|Draft]]
|IconL=Draft_Point.svg
|IconR=Draft_ShapeString.svg
|IconC=Workbench_Draft.svg
}}

<!--T:1-->
<!--T:1-->
{{GuiCommand
{{GuiCommand
|Name=Draft Facebinder
|Name=Draft Facebinder
|MenuLocation=Drafting → Facebinder
|Workbenches=[[Draft Module|Draft]], [[Arch Module|Arch]]
|Workbenches=[[Draft_Workbench|Draft]], [[Arch_Workbench|Arch]]
|MenuLocation=Draft → Facebinder
|Shortcut=F F
|Shortcut={{KEY|F}} {{KEY|F}}
|Version=0.15
|Version=0.14
}}
|SeeAlso=[[Part Box]], [[Arch Wall]]}}


==Description== <!--T:2-->
==Description== <!--T:2-->


<!--T:3-->
<!--T:3-->
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.
The [[Image:Draft_Facebinder.svg|24px]] '''Draft Facebinder''' command creates a surface object from selected faces. A Draft Facebinder is parametric, it will update if you modify its source object(s).


<!--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 faces of walls, for example, a wall paper, or wall finish.
It can be used to create an extrusion from a collection of faces. This extrusion can for example represent a wall finish in architectural design.


</translate>
</translate>
[[Image:Draft facebinder example.jpg|400px]]
[[Image:Draft_facebinder_example.jpg|400px]]
<translate>
<translate>
<!--T:13-->
{{Caption|Facebinder created from the faces of 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.
# Select one or more faces.
# There are several ways to invoke the command:
# 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.
#* Select the {{MenuCommand|Drafting → [[Image:Draft_Facebinder.svg|16px]] Facebinder}} option from the menu.
#* Use the keyboard shortcut: {{KEY|F}} then {{KEY|F}}.


==Scripting== <!--T:6-->
== Properties == <!--T:16-->

<!--T:25-->
See also: [[Property_editor|Property editor]].

<!--T:26-->
A Draft Facebinder object is derived from a [[Part_Feature|Part Feature]] object and inherits all its properties. It also has the following additional properties:

===Data=== <!--T:27-->

<!--T:28-->
{{TitleProperty|Draft}}

<!--T:29-->
* {{PropertyData|Area|Area}}: (read-only) specifies the total area of the linked faces of the facebinder.
* {{PropertyData|Extrusion|Distance}}: specifies the extrusion thickness of the facebinder.
* {{PropertyData|Faces|LinkSubList}}: specifies the linked faces of the facebinder.
* {{PropertyData|Offset|Distance}}: specifies an offset distance to apply between the facebinder and the original faces, prior to extrusion.
* {{PropertyData|Remove Splitter|Bool}}: Specifies whether to remove splitter lines that divide co-planar faces of the facebinder.
* {{PropertyData|Sew|Bool}}: Specifies whether to perform a topological sewing operation on the facebinder.

=== View === <!--T:30-->

<!--T:31-->
{{TitleProperty|Draft}}

<!--T:17-->
* {{PropertyView|Pattern|Enumeration}}: specifies the [[Draft_Pattern|Draft Pattern]] with which to fill the faces of the facebinder. This property only works if {{PropertyView|Display Mode}} is {{value|Flat Lines}}.
* {{PropertyView|Pattern Size|Float}}: specifies the size of the [[Draft_Pattern|Draft Pattern]].

==Scripting== <!--T:32-->

<!--T:6-->
See also: [https://freecad.github.io/SourceDoc/ Autogenerated API documentation] and [[FreeCAD Scripting Basics|FreeCAD Scripting Basics]].


<!--T:7-->
<!--T:7-->
To create a Draft Facebinder use the {{incode|make_facebinder}} method ({{Version|0.19}}) of the Draft module. This method replaces the deprecated {{incode|makeFacebinder}} method.
The facebinder tool can be usedin scripts and [[macros]] by using the following function:

</translate>
</translate>
{{Code|code=
{{Code|code=
makeFacebinder ( selectionset )
facebinder = make_facebinder(selectionset)
}}
}}
<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 {{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.
** {{incode|selectionset}} can also be a {{incode|PropertyLinkSubList}}.
* Only selected faces are taken into account
* Returns the newly created object
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>

<!--T:18-->
The thickness of the Facebinder can be added by overwriting its {{incode|Extrusion}} attribute; the value is entered in millimeters.

<!--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-->
Example:
Example:

</translate>
</translate>
{{Code|code=
{{Code|code=
import Draft, FreeCADGui
import FreeCAD as App
mySelection = FreeCADGui.Selection.getSelectionEx()
import FreeCADGui as Gui
import Draft
Draft.makeFacebinder(mySelection)

doc = App.newDocument()

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

# selection = Gui.Selection.getSelectionEx()
selection = [(box, ("Face1", "Face6"))]
facebinder = Draft.make_facebinder(selection)
facebinder.Extrusion = 50

doc.recompute()

facebinder.Placement.Base = App.Vector(1000, -1000, 100)
facebinder.ViewObject.ShapeColor = (0.99, 0.99, 0.4)

doc.recompute()
}}
}}
<translate>
<translate>
==Limitations== <!--T:10-->



<!--T:11-->
<!--T:20-->
* Not available before version 0.14
{{Docnav
|[[Draft_Point|Point]]
|[[Draft_ShapeString|ShapeString]]
|[[Draft_Workbench|Draft]]
|IconL=Draft_Point.svg
|IconR=Draft_ShapeString.svg
|IconC=Workbench_Draft.svg
}}

</translate>
</translate>
{{Draft Tools navi}}
{{Draft Tools navi{{#translation:}}}}
{{Userdocnavi}}
{{Userdocnavi{{#translation:}}}}
{{clear}}

Latest revision as of 17:03, 3 December 2023

Draft Facebinder

Menu location
Drafting → Facebinder
Workbenches
Draft, Arch
Default shortcut
F F
Introduced in version
0.14
See also
None

Description

The Draft Facebinder command creates a surface object from selected faces. A Draft Facebinder is parametric, it will update if you modify its source object(s).

It can be used to create an extrusion from a collection of faces. This extrusion can for example represent a wall finish in architectural design.

Facebinder created from the faces of walls

Usage

  1. Select one or more faces.
  2. There are several ways to invoke the command:
    • Press the Facebinder button.
    • Select the Drafting → Facebinder option from the menu.
    • Use the keyboard shortcut: F then F.

Properties

See also: Property editor.

A Draft Facebinder object is derived from a Part Feature object and inherits all its properties. It also has the following additional properties:

Data

Draft

  • DataArea (Area): (read-only) specifies the total area of the linked faces of the facebinder.
  • DataExtrusion (Distance): specifies the extrusion thickness of the facebinder.
  • DataFaces (LinkSubList): specifies the linked faces of the facebinder.
  • DataOffset (Distance): specifies an offset distance to apply between the facebinder and the original faces, prior to extrusion.
  • DataRemove Splitter (Bool): Specifies whether to remove splitter lines that divide co-planar faces of the facebinder.
  • DataSew (Bool): Specifies whether to perform a topological sewing operation on the facebinder.

View

Draft

  • ViewPattern (Enumeration): specifies the Draft Pattern with which to fill the faces of the facebinder. This property only works if ViewDisplay Mode is Flat Lines.
  • ViewPattern Size (Float): specifies the size of the Draft Pattern.

Scripting

See also: Autogenerated API documentation and FreeCAD Scripting Basics.

To create a Draft Facebinder use the make_facebinder method (introduced in version 0.19) of the Draft module. This method replaces the deprecated makeFacebinder method.

facebinder = make_facebinder(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 as App
import FreeCADGui as Gui
import Draft

doc = App.newDocument()

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

# selection = Gui.Selection.getSelectionEx()
selection = [(box, ("Face1", "Face6"))]
facebinder = Draft.make_facebinder(selection)
facebinder.Extrusion = 50

doc.recompute()

facebinder.Placement.Base = App.Vector(1000, -1000, 100)
facebinder.ViewObject.ShapeColor = (0.99, 0.99, 0.4)

doc.recompute()