Arch Frame: Difference between revisions

From FreeCAD Documentation
(Image caption)
No edit summary
(17 intermediate revisions by 5 users not shown)
Line 2: Line 2:
<translate>
<translate>
<!--T:1-->
<!--T:1-->
{{Docnav
|[[Arch_Nest|Nest]]
|[[Arch_Fence|Fence]]
|[[Arch_Module|Arch]]
|IconL=Arch_Nest.svg
|IconR=Arch_Fence.svg
|IconC=Workbench_Arch.svg
}}

<!--T:16-->
{{GuiCommand
{{GuiCommand
|Name=Arch Frame
|Name=Arch Frame
|MenuLocation=Arch → Frame
|MenuLocation=Arch → Frame
|Workbenches=[[Arch Module|Arch]]
|Workbenches=[[Arch_Module|Arch]]
|Shortcut=F R
|Shortcut={{KEY|F}} {{KEY|R}}
|SeeAlso=[[Arch Wall]], [[Arch Structure]]
|SeeAlso=[[Arch_Wall|Arch Wall]], [[Arch_Structure|Arch Structure]]
}}
}}


Line 13: Line 23:


<!--T:3-->
<!--T:3-->
The Frame tool is used to build all kinds of frame objects based on a profile and a layout. The profile is extruded along the edges of the layout, which can be any 2D object such as a [[Sketcher Module|sketch]], or a [[Draft Module|draft object]]. It is especially useful to create railings, or frame walls. Frame objects can then easily be turned into [[Arch Wall|wall]] or [[Arch Structure|structure]] objects.
The {{Button|[[Image:Arch Frame.svg|16px]] [[Arch Frame|Arch Frame]]}} tool is used to build all kinds of frame objects based on a profile and a layout. The profile is extruded along the edges of the layout, which can be any 2D object such as a [[Sketcher Module|sketch]], or a [[Draft Module|draft object]]. It is especially useful to create railings, or frame walls. Frame objects can then easily be turned into [[Arch Wall|wall]] or [[Arch Structure|structure]] objects.


</translate>
</translate>
Line 21: Line 31:
{{Caption|Frame object created from a [[Draft Array]] of a [[Draft Line]], using a [[Draft Circle]] as profile}}
{{Caption|Frame object created from a [[Draft Array]] of a [[Draft Line]], using a [[Draft Circle]] as profile}}


==How to use== <!--T:5-->
==Usage== <!--T:5-->


<!--T:6-->
<!--T:6-->
Line 45: Line 55:


==Scripting== <!--T:11-->
==Scripting== <!--T:11-->
{{Emphasis|See also:}} [[Arch API]] and [[FreeCAD Scripting Basics]].


<!--T:12-->
<!--T:12-->
The Frame tool can by used in [[macros]] and from the python console by using the following function:
The Frame tool can be used in [[macros]] and from the [[Python]] console by using the following function:

</translate>
</translate>
{{Code|code=
{{Code|code=
Frame = makeFrame(baseobj, profile)
makeFrame ( layout,profile )
}}
}}
<translate>
<translate>


<!--T:13-->
<!--T:13-->
* Creates a frame object from a base sketch (or any other object containing wires) and a profile object (an extrudable 2D object containing faces or closed wires)
* Creates a {{incode|Frame}} object from the given {{incode|baseobj}} and {{incode|profile}}.
** {{incode|baseobj}} is any object containing wires, like a [[Draft Wire]], or a [[Draft Array]] with a collection of them.
* Returns the new frame object, or None if the operation failed.
** {{incode|profile}} is an extrudable 2D object containing faces or closed wires.


<!--T:14-->
<!--T:14-->
Example:
Example:

</translate>
</translate>
{{Code|code=
{{Code|code=
import Draft, Arch
import Draft, Arch

layout = Draft.makeLine(FreeCAD.Vector(0,0,0),FreeCAD.Vector(2,0,0))
Line = Draft.makeLine(FreeCAD.Vector(0, 0, 0), FreeCAD.Vector(0, 0, 2000))
profile = Draft.makeCircle(.2)
baseobj = Draft.makeArray(Line, FreeCAD.Vector(1000, 0, 0), FreeCAD.Vector(0, 1, 0), 6, 1)
Arch.makeFrame(layout,profile)

profile = Draft.makeCircle(200)
Frame = Arch.makeFrame(baseobj, profile)
FreeCAD.ActiveDocument.recompute()
}}
}}
<translate>
<translate>


<!--T:15-->
<!--T:15-->
{{Docnav
{{Arch Tools navi}}
|[[Arch_Nest|Nest]]
{{Userdocnavi}}
|[[Arch_Fence|Fence]]
|[[Arch_Module|Arch]]
|IconL=Arch_Nest.svg
|IconR=Arch_Fence.svg
|IconC=Workbench_Arch.svg
}}

</translate>
</translate>
{{Arch Tools navi{{#translation:}}}}

{{Userdocnavi{{#translation:}}}}

Revision as of 14:26, 29 November 2020

Arch Frame

Menu location
Arch → Frame
Workbenches
Arch
Default shortcut
F R
Introduced in version
-
See also
Arch Wall, Arch Structure

Description

The Arch Frame tool is used to build all kinds of frame objects based on a profile and a layout. The profile is extruded along the edges of the layout, which can be any 2D object such as a sketch, or a draft object. It is especially useful to create railings, or frame walls. Frame objects can then easily be turned into wall or structure objects.

Frame object created from a Draft Array of a Draft Line, using a Draft Circle as profile

Usage

  1. Create a layout object and a profile object, for example with the Draft Workbench or the Sketcher Workbench.
  2. Select the layout object first, then, with Ctrl pressed, select the profile object.
  3. Press the Arch Frame button, or press F then R keys.

Options

  • Frames share the common properties and behaviours of all Arch Components
  • The frame object can be placed at a certain distance from the layout object, by setting its Offset property
  • The profile will be copied at the base of each edge of the layout object, then extruded along it. You can control how the profile is placed at the base of each edge with the Align and Rotation properties.

Properties

  • DataBase: The layout this frame is based on.
  • DataProfile: The profile this frame is based on.
  • DataAlign: Specifies if the profile must be rotated to have its normal axis aligned with each edge.
  • DataOffset: An optional distance between the layout object and the frame object.
  • DataRotation: The rotation of the profile around its extrusion axis.

Scripting

See also: Arch API and FreeCAD Scripting Basics.

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

Frame = makeFrame(baseobj, profile)
  • Creates a Frame object from the given baseobj and profile.
    • baseobj is any object containing wires, like a Draft Wire, or a Draft Array with a collection of them.
    • profile is an extrudable 2D object containing faces or closed wires.

Example:

import Draft, Arch

Line = Draft.makeLine(FreeCAD.Vector(0, 0, 0), FreeCAD.Vector(0, 0, 2000))
baseobj = Draft.makeArray(Line, FreeCAD.Vector(1000, 0, 0), FreeCAD.Vector(0, 1, 0), 6, 1)

profile = Draft.makeCircle(200)
Frame = Arch.makeFrame(baseobj, profile)
FreeCAD.ActiveDocument.recompute()