Arch Wall/zh-tw: Difference between revisions

From FreeCAD Documentation
No edit summary
(Updating to match new version of source page)
 
(28 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<languages/>
{{GuiCommand|Name=Arch Wall|Workbenches=[[Arch Module|Arch]]|MenuLocation=Arch → Wall|Shortcut=W A|SeeAlso=[[Arch Structure|Arch Structure]]}}

{{Docnav
|
|[[Arch_Structure|Structure]]
|[[Arch_Workbench|Arch]]
|
|IconR=Arch_Structure.svg
|IconC=Workbench_Arch.svg
}}

<div class="mw-translate-fuzzy">
{{GuiCommand/zh-tw|Name=Arch Wall|Name/zh-tw=Arch Wall|Workbenches=[[Arch_Workbench/zh-tw|Arch]]|MenuLocation=Arch → Wall|Shortcut=W A|SeeAlso=[[Arch Structure/zh-tw|Arch Structure]]}}
</div>


==Description==
==Description==


<div class="mw-translate-fuzzy">
本工具自草圖或任何 [[Part Module|物件]] 或 [[Mesh Module|mesh]] 生成牆體。一面牆無須以任何物件為生成基礎,這時牆為一立方體,以長寬高為其屬性。牆由其他形狀生成時,可基於:
本工具自草圖或任何 [[Part Workbench|物件]] 或 [[Mesh Workbench|mesh]] 生成牆體。一面牆無須以任何物件為生成基礎,這時牆為一立方體,以長寬高為其屬性。牆由其他形狀生成時,可基於:
</div>


<div class="mw-translate-fuzzy">
* 一'''二維線條''',例如線段、線條、弧或草圖,您可修改厚度、對齊(左右或居中)和高。長度則無影響。
* 一'''二維線條''',例如線段、線條、弧或草圖,您可修改厚度、對齊(左右或居中)和高。長度則無影響。
* A '''flat face''', in which case you can only change the height. Length and width properties have no effect. If the base face is vertical, however, the wall will use the width property instead of height, allowing you to build walls from space-like objects or mass studies.
* A '''flat face''', in which case you can only change the height. Length and width properties have no effect. If the base face is vertical, however, the wall will use the width property instead of height, allowing you to build walls from space-like objects or mass studies.
* A '''solid''', in which case length, width and height properties have no effect. The wall simply uses the underlying solid as its shape.
* A '''solid''', in which case length, width and height properties have no effect. The wall simply uses the underlying solid as its shape.
* A '''mesh''', in which case the underlying mesh must be a closed, manifold solid.
* A '''mesh''', in which case the underlying mesh must be a closed, manifold solid.
</div>


[[Image:Arch Wall example.jpg|780px]]
[[Image:Arch Wall example.jpg|780px]]
''Example of walls built from a line, a wire, a face, a solid and a sketch''
{{Caption|Walls built from a line, a wire, a face, a solid, and a sketch}}


Walls can also have additions or subtractions. Additions are other objects whose shapes are joined in this Wall's shape, while subtractions are subtracted. Additions and subtractions can be added with the [[Arch Add]] and [[Arch Remove]] tools. Additions and subtractions have no influence over wall parameters such as height and width, which can still be changed. Walls can also have their height automatic, if they are included into a higher-level object such as [[Arch Floor|floors]]. The height must be kept at 0, then the wall will adopt the height specified in the parent object.
Walls can also have additions or subtractions. Additions are other objects whose shapes are joined in this Wall's shape, while subtractions are subtracted. Additions and subtractions can be added with the [[Arch Add|Arch Add]] and [[Arch Remove|Arch Remove]] tools. Additions and subtractions have no influence over wall parameters such as height and width, which can still be changed. Walls can also have their height automatic, if they are included into a higher-level object such as [[Arch Floor|floors]]. The height must be kept at 0, then the wall will adopt the height specified in the parent object.


When several walls should intersect, you need to place them into a [[Arch Floor|floor]] to have their geometry intersected.
When several walls should intersect, you need to place them into a [[Arch Floor|floor]] to have their geometry intersected.


==How to use==
==Usage==


===Drawing a wall from scratch===
===Drawing a wall from scratch===


# Press the {{KEY|[[Image:Arch Wall.png|16px]] [[Arch Wall]]}} button, or press {{KEY|W}} then {{KEY|A}} keys
# Press the {{Button|[[Image:Arch Wall.svg|16px]] [[Arch Wall|Arch Wall]]}} button, or press {{KEY|W}} then {{KEY|A}} keys.
# Click a first point on the 3D view, or type a [[Draft_Coordinates|coordinate]]
# Click a first point on the 3D view, or type coordinates.
# Click a second point on the 3D view, or type a [[Draft_Coordinates|coordinate]]
# Click a second point on the 3D view, or type coordinates.


===Drawing a wall on top of a selected object===
===Drawing a wall on top of a selected object===


# Select one or more base geometry objects (Draft object, sketch, etc)
# Select one or more base geometry objects (Draft object, sketch, etc)
# Press the {{KEY|[[Image:Arch Wall.png|16px]] [[Arch Wall]]}} button, or press the {{KEY|W}} then {{KEY|A}} keys
# Press the {{Button|[[Image:Arch Wall.svg|16px]] [[Arch Wall|Arch Wall]]}} button, or press the {{KEY|W}} then {{KEY|A}} keys
# Adjust needed properties such as height or width.
# Adjust needed properties such as height or width.


==Options==
==Options==


* Walls share the common properties and behaviours of all [[Arch Component|Arch Components]]
* The height, width and alignment of a wall can be set during drawing, via the task panel
* The height, width and alignment of a wall can be set during drawing, via the task panel
* When snapping a wall to an existing wall, both walls will be joined into one. The way the two walls are joined depends on their properties: If they have the same width, height and alignment, and if the option "join base sketches" is enabled in the Arch preferences, the resulting wall will be one object based on a sketch made of several segments. Otherwise, the latter wall will be added to the first one as addition.
* When snapping a wall to an existing wall, both walls will be joined into one. The way the two walls are joined depends on their properties: If they have the same width, height and alignment, and if the option "join base sketches" is enabled in the Arch preferences, the resulting wall will be one object based on a sketch made of several segments. Otherwise, the latter wall will be added to the first one as addition.
* Press {{KEY|X}}, {{KEY|Y}} or {{KEY|Z}} after the first point to constrain the second point on the given axis.
* Press {{KEY|X}}, {{KEY|Y}} or {{KEY|Z}} after the first point to constrain the second point on the given axis.
* To enter coordinates manually, simply enter the numbers, then press {{KEY|ENTER}} between each X, Y and Z component.
* To enter coordinates manually, simply enter the numbers, then press {{KEY|Enter}} between each X, Y and Z component.
* Press {{KEY|R}} or click the checkbox to check/uncheck the '''Relative''' button. If relative mode is on, the coordinates of the second point are relative to the first one. If not, they are absolute, taken from the (0,0,0) origin point.
* Press {{KEY|R}} or click the checkbox to check/uncheck the '''Relative''' button. If relative mode is on, the coordinates of the second point are relative to the first one. If not, they are absolute, taken from the (0,0,0) origin point.
* Press {{KEY|SHIFT}} while drawing to [[Draft_Constrain|constrain]] your second point horizontally or vertically in relation to the first one.
* Press {{KEY|Shift}} while drawing to [[Draft_Constrain|constrain]] your second point horizontally or vertically in relation to the first one.
* Press {{KEY|ESC}} or the '''Cancel''' button to abort the current command.
* Press {{KEY|Esc}} or the {{Button|Cancel}} button to abort the current command.
* Double-clicking on the wall in the tree view after it is created allows you to enter edit mode and access and modify its additions and subtractions
* Double-clicking on the wall in the tree view after it is created allows you to enter edit mode and access and modify its additions and subtractions
* Multi-layer walls can be easily created by building several walls from the same baseline. By setting their Align property to either left or right, and specifying an Offset value, you can effectively construct several wall layers. Placing a window in such a wall layer will propagate the opening to the other wall layers based on the same baseline.
* Multi-layer walls can be easily created by building several walls from the same baseline. By setting their Align property to either left or right, and specifying an Offset value, you can effectively construct several wall layers. Placing a window in such a wall layer will propagate the opening to the other wall layers based on the same baseline.
* Walls can also make use of [[Arch MultiMaterial|Multi-Materials]]. When using a multi-material, the wall will become multi-layer, using the thicknesses specified by the multi-material. Any layer with a thickness of zero will have its thickness defined automatically by the remaining space defined by the Wall's Width value, after subtracting the other layers.
* Walls can be made to display blocks, instead of one single solid, by turning their {{PropertyData|Make Blocks}} property on. The size and offset of blocks can be configured with different properties, and the amount of blocks is automatically calculated.


==Snapping==
==Snapping==


Snapping works a bit differently with Arch walls than other Arch and Draft objects. If a wall has a baseline object, snapping will anchor to the base object, instead of the wall geometry, allowing to easily align walls by their baseline. If, however, you specifically want to snap to the wall geometry, pressing {{KEY|CTRL}} will switch snapping to the wall object.
Snapping works a bit differently with Arch walls than other Arch and Draft objects. If a wall has a baseline object, snapping will anchor to the base object, instead of the wall geometry, allowing to easily align walls by their baseline. If, however, you specifically want to snap to the wall geometry, pressing {{KEY|Ctrl}} will switch snapping to the wall object.


[[Image:Arch wall snap.jpg|780px]]
[[Image:Arch wall snap.jpg|780px]]
{{Caption|Second wall snapping perpendicularly to the first one}}


==Properties==
==Properties==


Wall objects inherit the properties of [[Part Module|Part]] objects, and also have the following extra properties:
Wall objects inherit the properties of [[Part Workbench|Part]] objects, and also have the following extra properties:

* {{PropertyData|Align}}: The alignment of the wall on its baseline: Left, right or center
===Data===
* {{PropertyData|Base}}: The base object this wall is built on

* {{PropertyData|Face}}: The index of the face from the base object to use. If the vaue is not set or 0, the whole object is used
{{TitleProperty|Blocks}}
* {{PropertyData|Force Wire}}: If True, and the wall is based on a face, only the border wire of the face is used, resulting in a wall bordering the face

* {{PropertyData|Length}}: The length of the wall (not used when the wall is based on an object)
* {{PropertyData|Width}}: The width of the wall (not used when the wall is based on a face)
* {{PropertyData|Block Height}}: The height of each block.
* {{PropertyData|Block Length}}: The length of each block.
* {{PropertyData|Height}}: The height of the wall (not used when the wall is based on a solid). If no height is given, and the wall is inside a [[Arch Floor|floor]] object with its height defined, the wall will automatically take the value of the floor height.
* {{PropertyData|Normal}}: An extrusion direction for the wall. If set to (0,0,0), the extrusion direction is automatic.
* {{PropertyData|Count Broken}}: The number of broken blocks (read-only).
* {{PropertyData|Count Entire}}: The number of entire blocks (read-only).
* {{PropertyData|Offset}}: This specifies the distance between the wall and its baseline. Works only if the Align property is set to Right or Left.
* {{PropertyData|Joint}}: The size of the joints, the empty space, between blocks.
* {{PropertyData|Make Blocks}}: Enables block generation.
* {{PropertyData|Offset First}}: The horizontal offset of the first and every uneven line of blocks.
* {{PropertyData|Offset Second}}: The horizontal offset of the second and every even line of blocks.

{{TitleProperty|Component}}

See [[Arch_Component#Properties|Arch Component]].

{{TitleProperty|IFC}}

See [[Arch_Component#Properties|Arch Component]].

{{TitleProperty|IFC Attributes}}

See [[Arch_Component#Properties|Arch Component]].

{{TitleProperty|Wall}}

* {{PropertyData|Align}}: The alignment of the wall on its baseline: Left, Right or Center.
* {{PropertyData|Area}}: Area of the whole wall, separation into blocks makes no difference (read-only).
* {{PropertyData|Face}}: The index of the face from the base object to use. If the value is not set or 0, the whole object is used.
* {{PropertyData|Height}}: The height of the wall. Ignored if the wall is based on a solid. If set to zero, and the wall is inside a [[Arch Floor|floor]] object with its height defined, the wall will automatically take the value of the floor height.
* {{PropertyData|Length}}: The length of the wall. Read-only if the wall is not based on an unconstrained sketch with a single edge, or on a [[Draft_Wire|Draft Wire]] with a single edge.
* {{PropertyData|Normal}}: The extrusion direction for the wall. If set to (0,0,0), the extrusion direction is automatic.
* {{PropertyData|Offset}}: The distance between the wall and its baseline. Works only if the '''Align''' property is set to Right or Left.
* {{PropertyData|Override Align}}:
* {{PropertyData|Override Width}}: This overrides the {{PropertyData|Width}} attribute to set the width of each wall segment. Ignored if the {{PropertyData|Base}} object provides widths information with the {{Incode|getWidths()}} method. The 1st value overrides the {{PropertyData|Width}} for the 1st segment of wall, this value is also used instead of any zero values in the rest of the list.
* {{PropertyData|Width}}: The width of the wall. Ignored if the wall is based on a face or a solid.


==Scripting==
==Scripting==


{{Emphasis|See also:}} [[Arch_API|Arch API]] and [[FreeCAD_Scripting_Basics|FreeCAD Scripting Basics]].
The Wall tool can by used in [[macros]] and from the python console by using the following function:

The Wall tool can be used in [[Macros|macros]] and from the [[Python|Python]] console by using the following function:

{{Code|code=
{{Code|code=
makeWall ( [obj],[length],[width],[height],[align],[face],[name] )
Wall = makeWall(baseobj=None, length=None, width=None, height=None, align="Center", face=None, name="Wall")
}}
}}

* Creates a wall based on the given object, which can be a sketch, a draft object, a face or a solid. align can be "Center","Left" or "Right". If you provide no base object, then you can use numeric values for length, width and height. Face can be used to give the index of a face from the underlying object, to build this wall on, instead of using the whole object.
* Creates a {{incode|Wall}} object from the given {{incode|baseobj}}, which can be a [[Draft Workbench|Draft object]], a [[Sketcher Workbench|Sketch]], a face, or a solid.
* Returns the created wall, or None if the operation failed.
** If no {{incode|baseobj}} is given, you can provide the numerical values for the {{incode|length}}, {{incode|width}} (thickness), and {{incode|height}}.
** If given, {{incode|face}} can be used to give the index of a face from the underlying object, to build this wall on, instead of using the whole object.
* {{incode|align}} can be {{incode|"Center"}}, {{incode|"Left"}} or {{incode|"Right"}}.
* It returns {{incode|None}} if the operation fails.


Example:
Example:

{{Code|code=
{{Code|code=
import FreeCAD, Draft, Arch
import FreeCAD, Draft, Arch

baseline = Draft.makeLine(FreeCAD.Vector(0,0,0),FreeCAD.Vector(2,0,0))
p1 = FreeCAD.Vector(0, 0, 0)
Arch.makeWall(baseline,None,0.1,2)
p2 = FreeCAD.Vector(2000, 0, 0)
baseline = Draft.makeLine(p1, p2)
Wall1 = Arch.makeWall(baseline, length=None, width=150, height=2000)
FreeCAD.ActiveDocument.recompute()

Wall2 = Arch.makeWall(None, length=2000, width=200, height=1000)
Draft.move(Wall2, FreeCAD.Vector(0, -1000, 0))
FreeCAD.ActiveDocument.recompute()
}}
}}

<languages/>

<div class="mw-translate-fuzzy">
[[Category:Arch/zh-tw]]
</div>

{{Arch Tools navi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}

Latest revision as of 16:25, 9 May 2024

Arch Wall

菜單位置
Arch → Wall
工作台
Arch
默認快捷鍵
W A
版本介紹
-
也可以看看
Arch Structure

Description

本工具自草圖或任何 物件mesh 生成牆體。一面牆無須以任何物件為生成基礎,這時牆為一立方體,以長寬高為其屬性。牆由其他形狀生成時,可基於:

  • 二維線條,例如線段、線條、弧或草圖,您可修改厚度、對齊(左右或居中)和高。長度則無影響。
  • A flat face, in which case you can only change the height. Length and width properties have no effect. If the base face is vertical, however, the wall will use the width property instead of height, allowing you to build walls from space-like objects or mass studies.
  • A solid, in which case length, width and height properties have no effect. The wall simply uses the underlying solid as its shape.
  • A mesh, in which case the underlying mesh must be a closed, manifold solid.

Walls built from a line, a wire, a face, a solid, and a sketch

Walls can also have additions or subtractions. Additions are other objects whose shapes are joined in this Wall's shape, while subtractions are subtracted. Additions and subtractions can be added with the Arch Add and Arch Remove tools. Additions and subtractions have no influence over wall parameters such as height and width, which can still be changed. Walls can also have their height automatic, if they are included into a higher-level object such as floors. The height must be kept at 0, then the wall will adopt the height specified in the parent object.

When several walls should intersect, you need to place them into a floor to have their geometry intersected.

Usage

Drawing a wall from scratch

  1. Press the Arch Wall button, or press W then A keys.
  2. Click a first point on the 3D view, or type coordinates.
  3. Click a second point on the 3D view, or type coordinates.

Drawing a wall on top of a selected object

  1. Select one or more base geometry objects (Draft object, sketch, etc)
  2. Press the Arch Wall button, or press the W then A keys
  3. Adjust needed properties such as height or width.

Options

  • Walls share the common properties and behaviours of all Arch Components
  • The height, width and alignment of a wall can be set during drawing, via the task panel
  • When snapping a wall to an existing wall, both walls will be joined into one. The way the two walls are joined depends on their properties: If they have the same width, height and alignment, and if the option "join base sketches" is enabled in the Arch preferences, the resulting wall will be one object based on a sketch made of several segments. Otherwise, the latter wall will be added to the first one as addition.
  • Press X, Y or Z after the first point to constrain the second point on the given axis.
  • To enter coordinates manually, simply enter the numbers, then press Enter between each X, Y and Z component.
  • Press R or click the checkbox to check/uncheck the Relative button. If relative mode is on, the coordinates of the second point are relative to the first one. If not, they are absolute, taken from the (0,0,0) origin point.
  • Press Shift while drawing to constrain your second point horizontally or vertically in relation to the first one.
  • Press Esc or the Cancel button to abort the current command.
  • Double-clicking on the wall in the tree view after it is created allows you to enter edit mode and access and modify its additions and subtractions
  • Multi-layer walls can be easily created by building several walls from the same baseline. By setting their Align property to either left or right, and specifying an Offset value, you can effectively construct several wall layers. Placing a window in such a wall layer will propagate the opening to the other wall layers based on the same baseline.
  • Walls can also make use of Multi-Materials. When using a multi-material, the wall will become multi-layer, using the thicknesses specified by the multi-material. Any layer with a thickness of zero will have its thickness defined automatically by the remaining space defined by the Wall's Width value, after subtracting the other layers.
  • Walls can be made to display blocks, instead of one single solid, by turning their 資料Make Blocks property on. The size and offset of blocks can be configured with different properties, and the amount of blocks is automatically calculated.

Snapping

Snapping works a bit differently with Arch walls than other Arch and Draft objects. If a wall has a baseline object, snapping will anchor to the base object, instead of the wall geometry, allowing to easily align walls by their baseline. If, however, you specifically want to snap to the wall geometry, pressing Ctrl will switch snapping to the wall object.

Second wall snapping perpendicularly to the first one

Properties

Wall objects inherit the properties of Part objects, and also have the following extra properties:

Data

Blocks

  • 資料Block Height: The height of each block.
  • 資料Block Length: The length of each block.
  • 資料Count Broken: The number of broken blocks (read-only).
  • 資料Count Entire: The number of entire blocks (read-only).
  • 資料Joint: The size of the joints, the empty space, between blocks.
  • 資料Make Blocks: Enables block generation.
  • 資料Offset First: The horizontal offset of the first and every uneven line of blocks.
  • 資料Offset Second: The horizontal offset of the second and every even line of blocks.

Component

See Arch Component.

IFC

See Arch Component.

IFC Attributes

See Arch Component.

Wall

  • 資料Align: The alignment of the wall on its baseline: Left, Right or Center.
  • 資料Area: Area of the whole wall, separation into blocks makes no difference (read-only).
  • 資料Face: The index of the face from the base object to use. If the value is not set or 0, the whole object is used.
  • 資料Height: The height of the wall. Ignored if the wall is based on a solid. If set to zero, and the wall is inside a floor object with its height defined, the wall will automatically take the value of the floor height.
  • 資料Length: The length of the wall. Read-only if the wall is not based on an unconstrained sketch with a single edge, or on a Draft Wire with a single edge.
  • 資料Normal: The extrusion direction for the wall. If set to (0,0,0), the extrusion direction is automatic.
  • 資料Offset: The distance between the wall and its baseline. Works only if the Align property is set to Right or Left.
  • 資料Override Align:
  • 資料Override Width: This overrides the 資料Width attribute to set the width of each wall segment. Ignored if the 資料Base object provides widths information with the getWidths() method. The 1st value overrides the 資料Width for the 1st segment of wall, this value is also used instead of any zero values in the rest of the list.
  • 資料Width: The width of the wall. Ignored if the wall is based on a face or a solid.

Scripting

See also: Arch API and FreeCAD Scripting Basics.

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

Wall = makeWall(baseobj=None, length=None, width=None, height=None, align="Center", face=None, name="Wall")
  • Creates a Wall object from the given baseobj, which can be a Draft object, a Sketch, a face, or a solid.
    • If no baseobj is given, you can provide the numerical values for the length, width (thickness), and height.
    • If given, face can be used to give the index of a face from the underlying object, to build this wall on, instead of using the whole object.
  • align can be "Center", "Left" or "Right".
  • It returns None if the operation fails.

Example:

import FreeCAD, Draft, Arch

p1 = FreeCAD.Vector(0, 0, 0)
p2 = FreeCAD.Vector(2000, 0, 0)
baseline = Draft.makeLine(p1, p2)
Wall1 = Arch.makeWall(baseline, length=None, width=150, height=2000)
FreeCAD.ActiveDocument.recompute()

Wall2 = Arch.makeWall(None, length=2000, width=200, height=1000)
Draft.move(Wall2, FreeCAD.Vector(0, -1000, 0))
FreeCAD.ActiveDocument.recompute()