Arch Wall/zh-cn: Difference between revisions

From FreeCAD Documentation
(Created page with "我们也可以对的墙体执行添加或移除操作。在执行添加操作时,将令其他对象的形状与墙体相融;移除则是从墙体中去除目标对象。...")
(Updating to match new version of source page)
 
(17 intermediate revisions by 5 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
{{docnav| |[[Arch_Structure|Arch Structure]]|[[Arch_Module|Arch]]|IconR=Arch_Structure.png|IconC=Workbench_Arch.svg}}


<div class="mw-translate-fuzzy">
{{GuiCommand
{{Docnav/zh-cn
|
|[[Arch_Structure|Arch Structure]]
|[[Arch_Workbench|Arch]]
|IconR=Arch_Structure.png
|IconC=Workbench_Arch.svg
}}
</div>

<div class="mw-translate-fuzzy">
{{GuiCommand/zh-cn
|Name=Arch Wall
|Name=Arch Wall
|Name/zh-cn=建筑墙体
|MenuLocation=Arch → Wall
|MenuLocation=Arch → Wall
|Workbenches=[[Arch Module|Arch]]
|Workbenches=[[Arch_Workbench|Arch]]
|Shortcut=W A
|Shortcut={{KEY|W}} {{KEY|A}}
|SeeAlso=[[Arch Structure|Arch Structure]]
|SeeAlso=[[Arch Structure|Arch Structure]]
}}
}}
</div>


<span id="Description"></span>
==描述==
==描述==


<div class="mw-translate-fuzzy">
利用此工具可从头或基于其他[[Part Module|几何图形(shape)]]或[[Mesh Module|网格(mesh)]]对象来构建墙体。构建墙体并非一定要基于其他对象,仅需长、宽、高三种属性来描述其长方体外观即可。在利用存在的几何图形构建墙体时,可以以下列对象为基础:
利用此工具可从头或基于其他[[Part_Workbench|几何图形(shape)]]或[[Mesh_Workbench|网格(mesh)]]对象来构建墙体。构建墙体并非一定要基于其他对象,仅需长、宽、高三种属性来描述其长方体外观即可。在利用存在的几何图形构建墙体时,可以以下列对象为基础:
</div>


* '''线性2D对象''',例如线段、连线、弧线或草图,在利用这些对象绘制墙体时,您可以改变墙体的厚度,对齐方式(右对齐、左对齐或居中对齐)及其高度。唯独长度属性不可更改。
* '''线性2D对象''',例如线段、连线、弧线或草图,在利用这些对象绘制墙体时,您可以改变墙体的厚度,对齐方式(右对齐、左对齐或居中对齐)及其高度。唯独长度属性不可更改。
Line 22: Line 37:
{{Caption|基于线段、连线、平面、实体与草图来构建墙体}}
{{Caption|基于线段、连线、平面、实体与草图来构建墙体}}


<div class="mw-translate-fuzzy">
我们也可以对的墙体执行添加或移除操作。在执行添加操作时,将令其他对象的形状与墙体相融;移除则是从墙体中去除目标对象。利用[[Arch Add]]与[[Arch Remove]]工具即可实现墙体的增减操作。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.
我们也可以对的墙体执行添加或移除操作。在执行添加操作时,将令其他对象的形状与墙体相融;移除则是从墙体中去除目标对象。利用[[Arch Add]]与[[Arch Remove]]工具即可实现墙体的增减操作。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.
</div>


当若干墙体相交的时候,您需要将它们置于同一[[Arch Floor|楼层(floor)]]上,再实现它们在几何方面上的相交。
当若干墙体相交的时候,您需要将它们置于同一[[Arch Floor|楼层(floor)]]上,再实现它们在几何方面上的相交。


<span id="Usage"></span>
<div class="mw-translate-fuzzy">
==如何使用==
==如何使用==
</div>


<span id="Drawing_a_wall_from_scratch"></span>
===从头绘制墙体===
===从头绘制墙体===


<div class="mw-translate-fuzzy">
# 按下{{Button|[[Image:Arch Wall.svg|16px]] [[Arch_Wall/zh-cn|Arch Wall]]}}按钮,或先后依次按下{{KEY|W}}与 {{KEY|A}}键
# 按下{{Button|[[Image:Arch Wall.svg|16px]] [[Arch_Wall/zh-cn|Arch Wall]]}}按钮,或先后依次按下{{KEY|W}}与 {{KEY|A}}键
# 在3D视图中点选第一个点,或输入一个 [[Draft_Coordinates|坐标(coordinate)]]
# 在3D视图中点选第一个点,或输入一个 坐标
# 在3D视图中点选第二个点,或输入一个 [[Draft_Coordinates|坐标(coordinate)]]
# 在3D视图中点选第二个点,或输入一个 坐标
</div>


<span id="Drawing_a_wall_on_top_of_a_selected_object"></span>
===在所选对象的基础之上绘制墙体===
===在所选对象的基础之上绘制墙体===


<div class="mw-translate-fuzzy">
# 选择一个或多个基础几何对象(底图对象、草图等等)
# 选择一个或多个基础几何对象(底图对象、草图等等)
# 按下{{Button|[[Image:Arch Wall.svg|16px]] [[Arch_Wall/zh-cn|Arch Wall]]}}按钮,或先后依次按下{{KEY|W}}与{{KEY|A}}键
# 按下{{Button|[[Image:Arch Wall.svg|16px]] [[Arch_Wall/zh-cn|Arch Wall]]}}按钮,或先后依次按下{{KEY|W}}与{{KEY|A}}键
# 调整需要修改的属性,如高度或宽度。
# 调整需要修改的属性,如高度或宽度。
</div>


<span id="Options"></span>
==选项==
==选项==


Line 53: Line 80:
* 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 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. {{Version|0.18}}
* 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==
Line 62: Line 89:
{{Caption|Second wall snapping perpendicularly to the first one}}
{{Caption|Second wall snapping perpendicularly to the first one}}


<span id="Properties"></span>
==属性==
==属性==


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
* {{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
* {{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|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|Offset}}: This specifies the distance between the wall and its baseline. Works only if the Align property is set to Right or Left.


===Data===
{{Version|0.18}}:


{{TitleProperty|Blocks}}
* {{PropertyData|Make Blocks}}: Enable this to make the wall generate blocks
* {{PropertyData|Block Length}}: The length of each block
* {{PropertyData|Block Height}}: The height of each block
* {{PropertyData|Offset First}}: The horizontal offset of the first line of blocks
* {{PropertyData|Offset Second}}: The horizontal offset of the second line of blocks
* {{PropertyData|Joint}}: The size of the joints between each block
* {{PropertyData|Count Entire}}: The number of entire blocks (read-only)
* {{PropertyData|Count Broken}}: The number of broken blocks (read-only)


* {{PropertyData|Block Height}}: The height of each block.
* {{PropertyData|Block Length}}: The length of each block.
* {{PropertyData|Count Broken}}: The number of broken blocks (read-only).
* {{PropertyData|Count Entire}}: The number of entire blocks (read-only).
* {{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}}

* {{PropertyData|Base}}: The base object this wall is built on.

{{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}}:
* {{PropertyData|Width}}: The width of the wall. Ignored if the wall is based on a face or a solid.

==Scripting==

<div class="mw-translate-fuzzy">
==脚本==
==脚本==
{{Emphasis|参见:}} [[Arch API]] 与 [[FreeCAD Scripting Basics]].
{{Emphasis|参见:}} [[Arch API]] 与 [[FreeCAD Scripting Basics]].
</div>


<div class="mw-translate-fuzzy">
借助下列函数即可在[[macros|宏]]与[[Python]]控制台中使用墙体工具:
借助下列函数即可在[[macros|宏]]与[[Python]]控制台中使用墙体工具:
</div>

{{Code|code=
{{Code|code=
Wall = makeWall(baseobj=None, length=None, width=None, height=None, align="Center", face=None, name="Wall")
Wall = makeWall(baseobj=None, length=None, width=None, height=None, align="Center", face=None, name="Wall")
Line 101: Line 146:


示例:
示例:

{{Code|code=
{{Code|code=
import FreeCAD, Draft, Arch
import FreeCAD, Draft, Arch
Line 115: Line 161:
}}
}}


{{docnav| |[[Arch_Structure|Arch Structure]]|[[Arch_Module|Arch]]|IconR=Arch_Structure.png|IconC=Workbench_Arch.svg}}


<div class="mw-translate-fuzzy">
{{Arch Tools navi}}
{{Docnav/zh-cn
|
|[[Arch_Structure|Arch Structure]]
|[[Arch_Workbench|Arch]]
|IconR=Arch_Structure.png
|IconC=Workbench_Arch.svg
}}
</div>


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

Latest revision as of 08:48, 4 March 2024

建筑墙体

菜单位置
Arch → Wall
所属工作台
Arch
默认快捷键
W A
版本介紹
-
参阅
Arch Structure

描述

利用此工具可从头或基于其他几何图形(shape)网格(mesh)对象来构建墙体。构建墙体并非一定要基于其他对象,仅需长、宽、高三种属性来描述其长方体外观即可。在利用存在的几何图形构建墙体时,可以以下列对象为基础:

  • 线性2D对象,例如线段、连线、弧线或草图,在利用这些对象绘制墙体时,您可以改变墙体的厚度,对齐方式(右对齐、左对齐或居中对齐)及其高度。唯独长度属性不可更改。
  • 平面,在利用此对象绘制墙体时,您只能改变高度属性。而无法更改长度与宽度属性。如果所基于的平面是一个顶点,however, the wall will use the width property instead of height, allowing you to build walls from space-like objects or mass studies.
  • 实体,在利用此对象绘制墙体时,长、宽、高三种属性皆不可改变。墙体简单地用此实体作为其外观形状。
  • 网格,在利用此对象绘制墙体时,所基于的网格必须为一个闭合、manifold的实体。

基于线段、连线、平面、实体与草图来构建墙体

我们也可以对的墙体执行添加或移除操作。在执行添加操作时,将令其他对象的形状与墙体相融;移除则是从墙体中去除目标对象。利用Arch AddArch Remove工具即可实现墙体的增减操作。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.

当若干墙体相交的时候,您需要将它们置于同一楼层(floor)上,再实现它们在几何方面上的相交。

如何使用

从头绘制墙体

  1. 按下 Arch Wall按钮,或先后依次按下WA
  2. 在3D视图中点选第一个点,或输入一个 坐标
  3. 在3D视图中点选第二个点,或输入一个 坐标

在所选对象的基础之上绘制墙体

  1. 选择一个或多个基础几何对象(底图对象、草图等等)
  2. 按下 Arch Wall按钮,或先后依次按下WA
  3. 调整需要修改的属性,如高度或宽度。

选项

  • 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

属性

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

  • 数据Base: The base object this wall is built on.

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:
  • 数据Width: The width of the wall. Ignored if the wall is based on a face or a solid.

Scripting

脚本

参见: Arch APIFreeCAD Scripting Basics.

借助下列函数即可在Python控制台中使用墙体工具:

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.

示例:

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()