Arch BuildingPart: Difference between revisions

From FreeCAD Documentation
No edit summary
(adding additional information in v0.19 to double-clicking feature)
(15 intermediate revisions by 6 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
<translate>
<translate>

<!--T:16-->
<!--T:16-->
{{Docnav
{{docnav|[[Arch_Floor|Floor]]|[[Arch_Building|Building]]|[[Arch_Module|Arch]]|IconL=Arch_Floor.svg |IconC=Workbench_Arch.svg |IconR=Arch_Building.svg}}
|[[Arch_Floor|Floor]]
|[[Arch_Building|Building]]
|[[Arch_Module|Arch]]
|IconL=Arch_Floor.svg
|IconC=Workbench_Arch.svg
|IconR=Arch_Building.svg
}}


<!--T:1-->
<!--T:1-->
Line 9: Line 17:
|MenuLocation=Arch → BuildingPart
|MenuLocation=Arch → BuildingPart
|Workbenches=[[Arch Module|Arch]]
|Workbenches=[[Arch Module|Arch]]
|SeeAlso=[[Arch Building]], [[Arch Site]]
|SeeAlso=[[Arch Building|Arch Building]], [[Arch Site|Arch Site]]
|Version=0.18
|Version=0.18
}}
}}
Line 16: Line 24:


<!--T:3-->
<!--T:3-->
The BuildingPart is aimed at replacing the [[Arch Floor]] with a more capable version that can be used not only to create Floor/Storey/Levels but also all kinds of situations where different Arch/BIM objects need to be grouped and that group might need to be handled as one object or replicated.
The BuildingPart replaces the old [[Arch Floor|Arch Floor]] and [[Arch Building|Arch Building]] with a more capable version that can be used not only to create Floor/Storey/Levels but also all kinds of situations where different Arch/BIM objects need to be grouped and that group might need to be handled as one object or replicated.


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


<!--T:5-->
<!--T:5-->
# Optionally, select one or more objects to be included in your new Building Part.
# Optionally, select one or more objects to be included in your new Building Part.
# Press the {{Button|[[Image:Arch BuildingPart.svg|16px]] [[Arch BuildingPart]]}} button.
# Press the {{Button|[[Image:Arch BuildingPart.svg|16px]] [[Arch BuildingPart|Arch BuildingPart]]}} button.

=== Notes === <!--T:20-->

<!--T:21-->
BuildingParts have a built-in, implicit [[Arch_SectionPlane|Arch SectionPlane]]. {{Version|0.19}}

<!--T:22-->
This plane is always parallel to the BuildingPart's base plane, but you can specify the offset between them. So all tools that work with a section plane, such as [[Draft_Shape2DView|Draft Shape2DView]] and [[TechDraw_ArchView|TechDraw ArchView]] also work with BuildingParts.


==Options== <!--T:6-->
==Options== <!--T:6-->


<!--T:7-->
<!--T:7-->
* After creating a BuildingPart, you can add more objects to it by dragging and dropping them in the Tree View or by using the {{Button|[[Image:Arch Add.svg|16px]] [[Arch Add]]}} tool.
* After creating a BuildingPart, you can add more objects to it by dragging and dropping them in the Tree View or by using the {{Button|[[Image:Arch Add.svg|16px]] [[Arch Add|Arch Add]]}} tool.
* You can remove objects from a BuildingPart by dragging and dropping them out of the Tree View or by using the {{Button|[[Image:Arch Remove.svg|16px]] [[Arch Remove]]}} tool.
* You can remove objects from a BuildingPart by dragging and dropping them out of the Tree View or by using the {{Button|[[Image:Arch Remove.svg|16px]] [[Arch Remove|Arch Remove]]}} tool.
* By double-clicking the BuildingPart object in the tree view, the [[Draft SelectPlane|Working Plane]] will be set to its location, and the BuildingPart will become active, which means that new objects will be added automatically to it. Double-clicking the BuildingPart again will deactivate it and set the working plane back to its previous position.
* By double-clicking the BuildingPart object in the tree view, the [[Draft SelectPlane|Working Plane]] will be set to its location, and the BuildingPart will become active, which means that new objects will be added automatically to it. Double-clicking the BuildingPart again will deactivate it and set the working plane back to its previous position (in version 0.19, to be available this option needs to be set up as true, in View Property panel - Interaction - Double Click Activates).
* The BuildingPart can display a mark in the 3D view with a label and level indication.
* The BuildingPart can display a mark in the 3D view with a label and level indication.
* When a BuildingPart is moved/rotated, all its children that either have no {{PropertyData|Move With Host}} property, or have it turned on, will move/rotate together.
* When a BuildingPart is moved/rotated, all its children that either have no {{PropertyData|Move With Host}} property, or have it turned on, will move/rotate together.
* Building Parts can be [[Draft Clone]]d.
* Building Parts can be [[Draft Clone|Draft Clone]]d.
* Building Parts can take any IFC type. Its '''IFC Role''' property determines its use. If you set it to '''Building Storey''' it will behave as a level. If you set it to '''Building''' it behaves as a building, and if you set it to '''Element Assembly''' it behaves as an assembly. Its icon will change to reflect this setting, but other than that it has no other impact in FreeCAD. However, being exported to IFC as one or another type can have an impact in other BIM applications.
* Building Parts can take any IFC type. Its '''IFC Type''' property determines its use. If you set it to '''Building Storey''' it will behave as a level. If you set it to '''Building''' it behaves as a building, and if you set it to '''Element Assembly''' it behaves as an assembly. Its icon will change to reflect this setting, but other than that it has no other impact in FreeCAD. However, being exported to IFC as one or another type can have an impact in other BIM applications.


==Properties== <!--T:8-->
==Properties== <!--T:8-->


=== Data === <!--T:9-->
=== Data === <!--T:9-->
* {{PropertyData|Height}}: The height of this object, and of its children objects. The children objects could be, for example, [[Arch Wall|Arch Walls]]. Each wall's height must be set to {{incode|0}} (zero), so the height property of the BuildingPart propagates to the objects inside of it.
* {{PropertyData|Height}}: The height of this object
* {{PropertyData|LevelOffset}}: The level of the (0,0,0) point of this level
* {{PropertyData|LevelOffset}}: The level of the (0,0,0) point of this level. This value is added to the {{incode|Placement.Base.z}} attribute of the BuildingPart, to indicate a vertical offset without actually moving the object. The resulting offset is displayed if {{PropertyView|Show Level}} is {{TRUE}}.
* {{PropertyData|Area}}: The computed floor area of this floor
* {{PropertyData|Area}}: The computed floor area of this floor
* {{PropertyData|IfcRole}}: The role of this object
* {{PropertyData|IfcType}}: The IFC type of this object
* {{PropertyData|Description}}: An optional description for this component
* {{PropertyData|Description}}: An optional description for this component
* {{PropertyData|Tag}}: An optional tag for this component
* {{PropertyData|Tag}}: An optional tag for this component
Line 52: Line 68:
* {{PropertyView|ShowLevel}}: If true, show the level
* {{PropertyView|ShowLevel}}: If true, show the level
* {{PropertyView|ShowUnit}}: If true, show the unit on the level tag
* {{PropertyView|ShowUnit}}: If true, show the unit on the level tag
* {{PropertyView|SetWorkingPlane}}: If true, when activated, the working plane will automatically adapt to this level
* {{PropertyView|SetWorkingPlane}}: If true, when activated, the working plane will automatically adapt to this Building Part
* {{PropertyView|OriginOffset}}: If true, when activated, Display offset will affect the origin mark too
* {{PropertyView|OriginOffset}}: If true, when activated, Display offset will affect the origin mark too
* {{PropertyView|ShowLabel}}: If true, when activated, the object's label is displayed
* {{PropertyView|ShowLabel}}: If true, when activated, the object's label is displayed
Line 59: Line 75:
* {{PropertyView|RestoreView}}: If set, the view stored in this object will be restored on double-click
* {{PropertyView|RestoreView}}: If set, the view stored in this object will be restored on double-click
* {{PropertyView|DiffuseColor}}: The individual face colors
* {{PropertyView|DiffuseColor}}: The individual face colors

<!--T:19-->
{{Version|0.19}}
* {{PropertyView|ChildrenOverride}}: If set, the settings below will affect the children of this Building Part
* {{PropertyView|ChildrenLineWidth}}: The line width to apply to the children of this Building Part
* {{PropertyView|ChildrenLineColor}}: The line color to apply to the children of this Building Part
* {{PropertyView|ChildrenShapeColor}}: The shape color to apply to the children of this Building Part
* {{PropertyView|ChildrenTransparency}}: The transparency to apply to the children of this Building Part


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


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

</translate>
</translate>
{{Code|code=
{{Code|code=
Line 97: Line 122:
}}
}}
<translate>
<translate>

<!--T:14-->
<!--T:14-->
{{Docnav
{{docnav|[[Arch_Floor|Floor]]|[[Arch_Building|Building]]|[[Arch_Module|Arch]]|IconL=Arch_Floor.svg |IconC=Workbench_Arch.svg |IconR=Arch_Building.svg}}
|[[Arch_Floor|Floor]]
|[[Arch_Building|Building]]
|[[Arch_Module|Arch]]
|IconL=Arch_Floor.svg
|IconC=Workbench_Arch.svg
|IconR=Arch_Building.svg
}}


{{Arch Tools navi}}

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

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

Revision as of 01:34, 18 October 2020

Arch BuildingPart

Menu location
Arch → BuildingPart
Workbenches
Arch
Default shortcut
None
Introduced in version
0.18
See also
Arch Building, Arch Site

Description

The BuildingPart replaces the old Arch Floor and Arch Building with a more capable version that can be used not only to create Floor/Storey/Levels but also all kinds of situations where different Arch/BIM objects need to be grouped and that group might need to be handled as one object or replicated.

Usage

  1. Optionally, select one or more objects to be included in your new Building Part.
  2. Press the Arch BuildingPart button.

Notes

BuildingParts have a built-in, implicit Arch SectionPlane. introduced in version 0.19

This plane is always parallel to the BuildingPart's base plane, but you can specify the offset between them. So all tools that work with a section plane, such as Draft Shape2DView and TechDraw ArchView also work with BuildingParts.

Options

  • After creating a BuildingPart, you can add more objects to it by dragging and dropping them in the Tree View or by using the Arch Add tool.
  • You can remove objects from a BuildingPart by dragging and dropping them out of the Tree View or by using the Arch Remove tool.
  • By double-clicking the BuildingPart object in the tree view, the Working Plane will be set to its location, and the BuildingPart will become active, which means that new objects will be added automatically to it. Double-clicking the BuildingPart again will deactivate it and set the working plane back to its previous position (in version 0.19, to be available this option needs to be set up as true, in View Property panel - Interaction - Double Click Activates).
  • The BuildingPart can display a mark in the 3D view with a label and level indication.
  • When a BuildingPart is moved/rotated, all its children that either have no DataMove With Host property, or have it turned on, will move/rotate together.
  • Building Parts can be Draft Cloned.
  • Building Parts can take any IFC type. Its IFC Type property determines its use. If you set it to Building Storey it will behave as a level. If you set it to Building it behaves as a building, and if you set it to Element Assembly it behaves as an assembly. Its icon will change to reflect this setting, but other than that it has no other impact in FreeCAD. However, being exported to IFC as one or another type can have an impact in other BIM applications.

Properties

Data

  • DataHeight: The height of this object, and of its children objects. The children objects could be, for example, Arch Walls. Each wall's height must be set to 0 (zero), so the height property of the BuildingPart propagates to the objects inside of it.
  • DataLevelOffset: The level of the (0,0,0) point of this level. This value is added to the Placement.Base.z attribute of the BuildingPart, to indicate a vertical offset without actually moving the object. The resulting offset is displayed if ViewShow Level is true.
  • DataArea: The computed floor area of this floor
  • DataIfcType: The IFC type of this object
  • DataDescription: An optional description for this component
  • DataTag: An optional tag for this component
  • DataIfcAttributes: Custom IFC properties and attributes

View

  • ViewLineWidth: The line width of this object
  • ViewOverrideUnit: An optional unit to express levels
  • ViewDisplayOffset: A transformation to apply to the level mark
  • ViewShowLevel: If true, show the level
  • ViewShowUnit: If true, show the unit on the level tag
  • ViewSetWorkingPlane: If true, when activated, the working plane will automatically adapt to this Building Part
  • ViewOriginOffset: If true, when activated, Display offset will affect the origin mark too
  • ViewShowLabel: If true, when activated, the object's label is displayed
  • ViewFontName: The font to be used for texts
  • ViewFontSize: The font size of texts
  • ViewRestoreView: If set, the view stored in this object will be restored on double-click
  • ViewDiffuseColor: The individual face colors

introduced in version 0.19

  • ViewChildrenOverride: If set, the settings below will affect the children of this Building Part
  • ViewChildrenLineWidth: The line width to apply to the children of this Building Part
  • ViewChildrenLineColor: The line color to apply to the children of this Building Part
  • ViewChildrenShapeColor: The shape color to apply to the children of this Building Part
  • ViewChildrenTransparency: The transparency to apply to the children of this Building Part

Scripting

See also: Arch API and FreeCAD Scripting Basics.

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

BuildingPart = makeBuildingPart(objectslist=None)
  • Creates a BuildingPart object from objectslist, which is a list of objects.

Example:

import FreeCAD, Draft, Arch

p1 = FreeCAD.Vector(0, 0, 0)
p2 = FreeCAD.Vector(2000, 0, 0)
baseline = Draft.makeLine(p1, p2)
baseline2 = Draft.makeLine(p1, -1*p2)

Wall1 = Arch.makeWall(baseline, length=None, width=150, height=2000)
Wall2 = Arch.makeWall(baseline2, length=None, width=150, height=1800)
FreeCAD.ActiveDocument.recompute()

BuildingPart = Arch.makeBuildingPart([Wall1, Wall2])

Floor = Arch.makeFloor([BuildingPart])
Building = Arch.makeBuilding([Floor])
Site = Arch.makeSite(Building)
FreeCAD.ActiveDocument.recompute()