Arch BuildingPart: Difference between revisions

From FreeCAD Documentation
(More View Properties.)
(Removed references to V0.19.)
 
(18 intermediate revisions by 2 users not shown)
Line 4: Line 4:
<!--T:16-->
<!--T:16-->
{{Docnav
{{Docnav
|[[Arch_CurtainWall|CurtainWall]]
|[[Arch_Floor|Floor]]
|[[Arch_Building|Building]]
|[[Arch_Project|Project]]
|[[Arch_Workbench|Arch]]
|[[Arch_Workbench|Arch]]
|IconL=Arch_Floor.svg
|IconL=Arch_CurtainWall.svg
|IconR=Arch_Building.svg
|IconR=Arch_Project.svg
|IconC=Workbench_Arch.svg
|IconC=Workbench_Arch.svg
}}
}}
Line 24: Line 24:


<!--T:3-->
<!--T:3-->
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.
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.


==Usage== <!--T:4-->
==Usage== <!--T:4-->
Line 30: Line 30:
<!--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|Arch BuildingPart]]}} button.
# Press the {{Button|[[Image:Arch BuildingPart.svg|16px]] [[Arch_BuildingPart|Arch BuildingPart]]}} button.


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


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


<!--T:22-->
<!--T:22-->
Line 43: Line 43:


<!--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|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|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 (in version 0.19, to be available this option needs to be set up as true, in View Property panel - Interaction - Double Click Activates).
* 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 (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.
Line 54: Line 54:
==Properties== <!--T:8-->
==Properties== <!--T:8-->


<!--T:23-->
===Data===
See also: [[Property_editor|Property editor]].


<!--T:24-->
An Arch BuildingPart is derived from an [[App_GeoFeature|App GeoFeature]] object and inherits all its properties. It also has the following additional properties:

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

<!--T:26-->
{{TitleProperty|Base}}

<!--T:89-->
* {{PropertyData|Group|LinkList}}: List of referenced objects.
* {{PropertyData|_ Group Touched|Bool|Hidden}}

<!--T:29-->
{{TitleProperty|Building Part}}
{{TitleProperty|Building Part}}


<!--T:90-->
* {{PropertyData|Area|Area}}: The computed floor area of this floor.
* {{PropertyData|Area|Area}}: The computed floor area of this floor.

* {{PropertyData|Height|Length}}: 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|Length}}: 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|Level Offset|Length}}: 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|Level Offset|Length}}: 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|Materials Table|Map|Hidden}}: A MaterialName:SolidIndexesList map that relates material names with solid indexes to be used when referencing this object from other files.

* {{PropertyData|Materials Table|Map}}: A MaterialName:SolidIndexesList map that relates material names with solid indexes to be used when referencing this object from other files.

* {{PropertyData|Only Solids|Bool}}: If true, only solids will be collected by this object when referenced from other files.
* {{PropertyData|Only Solids|Bool}}: If true, only solids will be collected by this object when referenced from other files.
* {{PropertyData|Saved Inventor|FileIncluded|Hidden}}: This property stores an inventor representation for this object.
* {{PropertyData|Shape|PartShape|Hidden}}: The shape of this object.


<!--T:37-->
* {{PropertyData|Saved Inventor|FileIncluded}}: This property stores an inventor representation for this object.

* {{PropertyData|Shape|PartShape}}: The shape of this object.

{{TitleProperty|Children}}
{{TitleProperty|Children}}


<!--T:38-->
* {{PropertyData|Height Propagate|Bool}}: If true, the height value propagates to contained objects.
* {{PropertyData|Height Propagate|Bool}}: If true, the height value propagates to contained objects.


<!--T:39-->
{{TitleProperty|IFC}}
{{TitleProperty|IFC}}


<!--T:91-->
* {{PropertyData|Ifc Type}}: The IFC type of this object.
* {{PropertyData|Ifc Data|Map|Hidden}}: IFC data.
* {{PropertyData|Ifc Properties|Map|Hidden}}: IFC properties of this object.
* {{PropertyData|Ifc Type|Enumeration}}: The IFC type of this object.


<!--T:43-->
{{TitleProperty|IFC Attributes}}
{{TitleProperty|IFC Attributes}}


<!--T:92-->
* {{PropertyData|Description|String}}: An optional description for this component.
* {{PropertyData|Description|String}}: An optional description for this component

* {{PropertyData|Global Id|String}}
* {{PropertyData|Object Type|String}}
* {{PropertyData|Overall Height|Length}}
* {{PropertyData|Overall Width|Length}}
* {{PropertyData|Partitioning Type|Enumeration}}
* {{PropertyData|Predefined Type|Enumeration}}
* {{PropertyData|Tag|String}}: An optional tag for this component.
* {{PropertyData|Tag|String}}: An optional tag for this component.
* {{PropertyData|User Defined Partitioning Type|String}}


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


<!--T:54-->
{{TitleProperty|Auto Group}}
{{TitleProperty|Auto Group}}


<!--T:93-->
* {{PropertyView|Autogroup Autosize}}: Automatically set the capture box size from the Building Part contents. {{Version|0.20}}
* {{PropertyView|Autogroup Autosize|Bool}}: Automatically set the capture box size from the Building Part contents. {{Version|0.20}}

* {{PropertyView|Autogroup Box}}: Turns auto grouping (and the display of the capture box) on/off. {{Version|0.20}}
* {{PropertyView|Autogroup Box|Bool}}: Turns auto grouping (and the display of the capture box) on/off. {{Version|0.20}}
* {{PropertyView|Autogroup Margin|Length}}: A margin to use when autosize is turned on. {{Version|0.20}}

* {{PropertyView|Autogroup Margin}}: A margin to use when autosize is turned on. {{Version|0.20}}
* {{PropertyView|Autogroup Size|IntegerList}}: The capture box for newly created objects expressed as [XMin,YMin,ZMin,XMax,YMax,ZMax]. {{Version|0.20}}

* {{PropertyView|Autogroup Size}}: The capture box for newly created objects expressed as [XMin,YMin,ZMin,XMax,YMax,ZMax]. {{Version|0.20}}


<!--T:59-->
{{TitleProperty|Building Part}}
{{TitleProperty|Building Part}}


<!--T:94-->
* {{PropertyView|Diffuse Color|ColorList}}: The individual face colors.
* {{PropertyView|Diffuse Color|ColorList|Hidden}}: The individual face colors.

* {{PropertyView|Display Offset|Placement}}: A transformation to apply to the level mark.
* {{PropertyView|Display Offset|Placement}}: A transformation to apply to the level mark.

* {{PropertyView|Font Name|Font}}: The font to be used for texts.
* {{PropertyView|Font Name|Font}}: The font to be used for texts.

* {{PropertyView|Font Size|Length}}: The font size of texts.
* {{PropertyView|Font Size|Length}}: The font size of texts.

* {{PropertyView|Line Width|Float}}: The line width of this object.
* {{PropertyView|Line Width|Float}}: The line width of this object.

* {{PropertyView|Origin Offset|Bool}}: If true, when activated, Display offset will affect the origin mark too.
* {{PropertyView|Origin Offset|Bool}}: If true, when activated, Display offset will affect the origin mark too.

* {{PropertyView|Override Unit|String}}: An optional unit to express levels.
* {{PropertyView|Override Unit|String}}: An optional unit to express levels.

* {{PropertyView|Show Label|Bool}}: If true, when activated, the object's label is displayed.
* {{PropertyView|Show Label|Bool}}: If true, when activated, the object's label is displayed.

* {{PropertyView|Show Level|Bool}}: If true, show the level.
* {{PropertyView|Show Level|Bool}}: If true, show the level.

* {{PropertyView|Show Unit|Bool}}: If true, show the unit on the level tag.
* {{PropertyView|Show Unit|Bool}}: If true, show the unit on the level tag.


<!--T:70-->
{{TitleProperty|Children}}
{{TitleProperty|Children}}


<!--T:95-->
* {{PropertyView|Children Line Color|Color}}: The line color to apply to the children of this Building Part.
* {{PropertyView|Children Line Color|Color}}: The line color to apply to the children of this Building Part.

* {{PropertyView|Children Line Width|Float}}: The line width to apply to the children of this Building Part.
* {{PropertyView|Children Line Width|Float}}: The line width to apply to the children of this Building Part.

* {{PropertyView|Children Override|Bool}}: If true, the objects contained in this Building Part will adopt these line, color and transparency settings.
* {{PropertyView|Children Override|Bool}}: If true, the objects contained in this Building Part will adopt these line, color and transparency settings.

* {{PropertyView|Children Shape Color|Color}}: The shape color to apply to the children of this Building Part.
* {{PropertyView|Children Shape Color|Color}}: The shape color to apply to the children of this Building Part.

* {{PropertyView|Children Transparency|Percent}}: The transparency to apply to the children of this Building Part.
* {{PropertyView|Children Transparency|Percent}}: The transparency to apply to the children of this Building Part.


<!--T:76-->
{{TitleProperty|Clip}}
{{TitleProperty|Clip}}


<!--T:96-->
{{TitleProperty|Display Options}}
* {{PropertyView|Auto Cut View|Bool}}: Turn cutting on when activating this level.
* {{PropertyView|Cut Margin|Length}}: The distance between the level plane and the cut line.
* {{PropertyView|Cut View|Bool}}: Cut the view above this level.


<!--T:80-->
{{TitleProperty|Interactions}}
{{TitleProperty|Interactions}}


<!--T:97-->
* {{PropertyView|Auto Working Plane|Bool}}: If set to True, the working plane will be kept on Auto mode.
* {{PropertyView|Auto Working Plane|Bool}}: If set to True, the working plane will be kept on Auto mode.

* {{PropertyView|Double Click Activates|Bool}}: If True, double-clicking this object in the tree activates it.
* {{PropertyView|Double Click Activates|Bool}}: If True, double-clicking this object in the tree activates it.

* {{PropertyView|Restore View|Bool}}: If set, the view stored in this object will be restored on double-click.
* {{PropertyView|Restore View|Bool}}: If set, the view stored in this object will be restored on double-click.

* {{PropertyView|Save Inventor|Bool}}: If this is enabled, the inventor representation of this object will be saved in the FreeCAD file, allowing to reference it in other files in lightweight mode.
* {{PropertyView|Save Inventor|Bool}}: If this is enabled, the inventor representation of this object will be saved in the FreeCAD file, allowing to reference it in other files in lightweight mode.
* {{PropertyView|Saved Inventor|FileIncluded|Hidden}}: A slot to save the inventor representation of this object, if enabled.

* {{PropertyView|Saved Inventor|FileIncluded}}: A slot to save the inventor representation of this object, if enabled.

* {{PropertyView|Set Working Plane|Bool}}: If true, when activated, the working plane will automatically adapt to this Building Part.
* {{PropertyView|Set Working Plane|Bool}}: If true, when activated, the working plane will automatically adapt to this Building Part.
* {{PropertyView|View Data|FloatList|Hidden}}: Camera position data associated with this object.


==Scripting== <!--T:88-->
* {{PropertyView|View Data|FloatList}}: Camera position data associated with this object.

==Scripting==


<!--T:10-->
<!--T:10-->
{{Emphasis|See also:}} [[Arch API|Arch API]] and [[FreeCAD Scripting Basics|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|macros]] and from the [[Python|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>
Line 196: Line 209:
<!--T:14-->
<!--T:14-->
{{Docnav
{{Docnav
|[[Arch_CurtainWall|CurtainWall]]
|[[Arch_Floor|Floor]]
|[[Arch_Building|Building]]
|[[Arch_Project|Project]]
|[[Arch_Workbench|Arch]]
|[[Arch_Workbench|Arch]]
|IconL=Arch_Floor.svg
|IconL=Arch_CurtainWall.svg
|IconR=Arch_Building.svg
|IconR=Arch_Project.svg
|IconC=Workbench_Arch.svg
|IconC=Workbench_Arch.svg
}}
}}

Latest revision as of 16:10, 20 May 2023

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.

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 (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.
  • Building Parts allow to define an Auto-group capture box. Subsequent Draft and Arch objects, or anything else that uses Draft.autogroup(), will be automatically added to that Building Part if they are fully inside the capture box. introduced in version 0.20

Properties

See also: Property editor.

An Arch BuildingPart is derived from an App GeoFeature object and inherits all its properties. It also has the following additional properties:

Data

Base

  • DataGroup (LinkList): List of referenced objects.
  • Data (Hidden)_ Group Touched (Bool)

Building Part

  • DataArea (Area): The computed floor area of this floor.
  • DataHeight (Length): 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.
  • DataLevel Offset (Length): 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.
  • Data (Hidden)Materials Table (Map): A MaterialName:SolidIndexesList map that relates material names with solid indexes to be used when referencing this object from other files.
  • DataOnly Solids (Bool): If true, only solids will be collected by this object when referenced from other files.
  • Data (Hidden)Saved Inventor (FileIncluded): This property stores an inventor representation for this object.
  • Data (Hidden)Shape (PartShape): The shape of this object.

Children

  • DataHeight Propagate (Bool): If true, the height value propagates to contained objects.

IFC

  • Data (Hidden)Ifc Data (Map): IFC data.
  • Data (Hidden)Ifc Properties (Map): IFC properties of this object.
  • DataIfc Type (Enumeration): The IFC type of this object.

IFC Attributes

  • DataDescription (String): An optional description for this component
  • DataGlobal Id (String)
  • DataObject Type (String)
  • DataOverall Height (Length)
  • DataOverall Width (Length)
  • DataPartitioning Type (Enumeration)
  • DataPredefined Type (Enumeration)
  • DataTag (String): An optional tag for this component.
  • DataUser Defined Partitioning Type (String)

View

Auto Group

Building Part

  • View (Hidden)Diffuse Color (ColorList): The individual face colors.
  • ViewDisplay Offset (Placement): A transformation to apply to the level mark.
  • ViewFont Name (Font): The font to be used for texts.
  • ViewFont Size (Length): The font size of texts.
  • ViewLine Width (Float): The line width of this object.
  • ViewOrigin Offset (Bool): If true, when activated, Display offset will affect the origin mark too.
  • ViewOverride Unit (String): An optional unit to express levels.
  • ViewShow Label (Bool): If true, when activated, the object's label is displayed.
  • ViewShow Level (Bool): If true, show the level.
  • ViewShow Unit (Bool): If true, show the unit on the level tag.

Children

  • ViewChildren Line Color (Color): The line color to apply to the children of this Building Part.
  • ViewChildren Line Width (Float): The line width to apply to the children of this Building Part.
  • ViewChildren Override (Bool): If true, the objects contained in this Building Part will adopt these line, color and transparency settings.
  • ViewChildren Shape Color (Color): The shape color to apply to the children of this Building Part.
  • ViewChildren Transparency (Percent): The transparency to apply to the children of this Building Part.

Clip

  • ViewAuto Cut View (Bool): Turn cutting on when activating this level.
  • ViewCut Margin (Length): The distance between the level plane and the cut line.
  • ViewCut View (Bool): Cut the view above this level.

Interactions

  • ViewAuto Working Plane (Bool): If set to True, the working plane will be kept on Auto mode.
  • ViewDouble Click Activates (Bool): If True, double-clicking this object in the tree activates it.
  • ViewRestore View (Bool): If set, the view stored in this object will be restored on double-click.
  • ViewSave Inventor (Bool): If this is enabled, the inventor representation of this object will be saved in the FreeCAD file, allowing to reference it in other files in lightweight mode.
  • View (Hidden)Saved Inventor (FileIncluded): A slot to save the inventor representation of this object, if enabled.
  • ViewSet Working Plane (Bool): If true, when activated, the working plane will automatically adapt to this Building Part.
  • View (Hidden)View Data (FloatList): Camera position data associated with this object.

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