Rewrote the function and method docstrings in an imperative style.
This commit is contained in:
committed by
Yorik van Havre
parent
d7137fbb67
commit
e46ca0b967
@@ -54,7 +54,7 @@ else:
|
||||
# is shared by all of the Arch BIM objects
|
||||
|
||||
def addToComponent(compobject,addobject,mod=None):
|
||||
"""Adds an object to a component's properties.
|
||||
"""Add an object to a component's properties.
|
||||
|
||||
Does not run if the addobject already exists in the component's properties.
|
||||
Adds the object to the first property found of Base, Group, or Hosts.
|
||||
@@ -114,12 +114,12 @@ def addToComponent(compobject,addobject,mod=None):
|
||||
|
||||
|
||||
def removeFromComponent(compobject,subobject):
|
||||
"""Removes the object from the given component.
|
||||
"""Remove the object from the given component.
|
||||
|
||||
Tries to find the object in the component's properties. If it finds it,
|
||||
removes the object.
|
||||
Try to find the object in the component's properties. If found, remove the
|
||||
object.
|
||||
|
||||
If the object is not found, adds the object in the component's Subtractions
|
||||
If the object is not found, add the object in the component's Subtractions
|
||||
property.
|
||||
|
||||
Parameters
|
||||
@@ -180,7 +180,7 @@ class Component(ArchIFC.IfcProduct):
|
||||
self.Type = "Component"
|
||||
|
||||
def setProperties(self, obj):
|
||||
"""Gives the component its component specific properties, such as material.
|
||||
"""Give the component its component specific properties, such as material.
|
||||
|
||||
You can learn more about properties here:
|
||||
https://wiki.freecadweb.org/property
|
||||
@@ -234,15 +234,15 @@ class Component(ArchIFC.IfcProduct):
|
||||
self.Type = "Component"
|
||||
|
||||
def onDocumentRestored(self, obj):
|
||||
"""Method run when the document is restored. Re-adds the Arch component properties."""
|
||||
"""Method run when the document is restored. Re-add the Arch component properties."""
|
||||
Component.setProperties(self, obj)
|
||||
|
||||
def execute(self,obj):
|
||||
"""Method run when the object is recomputed.
|
||||
|
||||
If the object is a clone, just copies the shape it's cloned from.
|
||||
If the object is a clone, just copy the shape it's cloned from.
|
||||
|
||||
Processes subshapes of the object to add additions, and subtract
|
||||
Process subshapes of the object to add additions, and subtract
|
||||
subtractions from the object's shape.
|
||||
"""
|
||||
|
||||
@@ -268,7 +268,7 @@ class Component(ArchIFC.IfcProduct):
|
||||
|
||||
Specifically, this method is called before the value changes.
|
||||
|
||||
If "Placement" has changed, it records the old placement, so that
|
||||
If "Placement" has changed, record the old placement, so that
|
||||
.onChanged() can compare between the old and new placement, and move
|
||||
its children accordingly.
|
||||
|
||||
@@ -283,11 +283,11 @@ class Component(ArchIFC.IfcProduct):
|
||||
def onChanged(self, obj, prop):
|
||||
"""Method called when the object has a property changed.
|
||||
|
||||
If "Placement" has changed, the component moves any children components
|
||||
that have been set to move with their host, such that they stay in the
|
||||
same location to this component.
|
||||
If "Placement" has changed, move any children components that have been
|
||||
set to move with their host, such that they stay in the same location
|
||||
to this component.
|
||||
|
||||
Also calls ArchIFC.IfcProduct.onChanged().
|
||||
Also call ArchIFC.IfcProduct.onChanged().
|
||||
|
||||
Parameters
|
||||
----------
|
||||
@@ -326,7 +326,7 @@ class Component(ArchIFC.IfcProduct):
|
||||
child.Placement.move(deltap)
|
||||
|
||||
def getMovableChildren(self,obj):
|
||||
"""Finds the component's children set to move with their host.
|
||||
"""Find the component's children set to move with their host.
|
||||
|
||||
In this case, children refer to Additions, Subtractions, and objects
|
||||
linked to this object that refer to it as a host in the "Host" or
|
||||
@@ -357,10 +357,10 @@ class Component(ArchIFC.IfcProduct):
|
||||
return ilist2
|
||||
|
||||
def getParentHeight(self,obj):
|
||||
"""Gets a height value from hosts.
|
||||
"""Get a height value from hosts.
|
||||
|
||||
Recursively crawls hosts until it finds a Floor or BuildingPart, then
|
||||
returns the value of its Height property.
|
||||
Recursively crawl hosts until a Floor or BuildingPart is found, then
|
||||
return the value of its Height property.
|
||||
|
||||
Returns
|
||||
-------
|
||||
@@ -382,14 +382,14 @@ class Component(ArchIFC.IfcProduct):
|
||||
return 0
|
||||
|
||||
def clone(self,obj):
|
||||
"""If the object is a clone, copies the shape.
|
||||
"""If the object is a clone, copy the shape.
|
||||
|
||||
If the object is a clone according to the "CloneOf" property, it copies
|
||||
the object's shape and several properties relating to shape, such as
|
||||
If the object is a clone according to the "CloneOf" property, copy the
|
||||
object's shape and several properties relating to shape, such as
|
||||
"Length" and "Thickness".
|
||||
|
||||
Will only perform the copy if this object and the object it's a clone
|
||||
of are of the same type, or if the object has the type "Component" or
|
||||
Only perform the copy if this object and the object it's a clone of are
|
||||
of the same type, or if the object has the type "Component" or
|
||||
"BuildingPart".
|
||||
|
||||
Returns
|
||||
@@ -411,10 +411,10 @@ class Component(ArchIFC.IfcProduct):
|
||||
return False
|
||||
|
||||
def getSiblings(self,obj):
|
||||
"""Finds objects that have the same Base object, and type.
|
||||
"""Find objects that have the same Base object, and type.
|
||||
|
||||
Looks to base object, and finds other objects that are based off this
|
||||
base object. If these objects are the same type, returns them.
|
||||
Look to base object, and find other objects that are based off this
|
||||
base object. If these objects are the same type, return them.
|
||||
|
||||
Returns
|
||||
-------
|
||||
@@ -437,20 +437,20 @@ class Component(ArchIFC.IfcProduct):
|
||||
return siblings
|
||||
|
||||
def getExtrusionData(self,obj):
|
||||
"""Gets the object's extrusion data.
|
||||
"""Get the object's extrusion data.
|
||||
|
||||
This method recursively scrapes the Bases of the object, until it finds
|
||||
a Base that is derived from a <Part::Extrusion>. From there, it copies
|
||||
the extrusion to the (0,0,0) origin.
|
||||
Recursively scrape the Bases of the object, until a Base that is
|
||||
derived from a <Part::Extrusion> is found. From there, copy the
|
||||
extrusion to the (0,0,0) origin.
|
||||
|
||||
With this copy, it gets the <Part.Face> the shape was originally
|
||||
With this copy, get the <Part.Face> the shape was originally
|
||||
extruded from, the <Base.Vector> of the extrusion, and the
|
||||
<Base.Placement> needed to move the copy back to its original
|
||||
location/orientation. It will return this data as a tuple.
|
||||
location/orientation. Return this data as a tuple.
|
||||
|
||||
If it encounters an object derived from a <Part::Multifuse>, it will
|
||||
return this data as a tuple containing lists. The lists will contain
|
||||
the same data as above, from each of the objects within the multifuse.
|
||||
If an object derived from a <Part::Multifuse> is encountered, return
|
||||
this data as a tuple containing lists. The lists will contain the same
|
||||
data as above, from each of the objects within the multifuse.
|
||||
|
||||
Returns
|
||||
-------
|
||||
@@ -543,14 +543,14 @@ class Component(ArchIFC.IfcProduct):
|
||||
return None
|
||||
|
||||
def rebase(self,shape,hint=None):
|
||||
"""Copies a shape to the (0,0,0) origin.
|
||||
"""Copy a shape to the (0,0,0) origin.
|
||||
|
||||
Creates a copy of a shape, such that its center of mass is in the
|
||||
Create a copy of a shape, such that its center of mass is in the
|
||||
(0,0,0) origin.
|
||||
|
||||
TODO Determine the way the shape is rotated by this method.
|
||||
|
||||
Returns the copy of the shape, and the <Base.Placement> needed to move
|
||||
Return the copy of the shape, and the <Base.Placement> needed to move
|
||||
the copy back to its original location/orientation.
|
||||
|
||||
Parameters
|
||||
@@ -636,14 +636,14 @@ class Component(ArchIFC.IfcProduct):
|
||||
|
||||
|
||||
def processSubShapes(self,obj,base,placement=None):
|
||||
"""Adds Additions and Subtractions to a base shape.
|
||||
"""Add Additions and Subtractions to a base shape.
|
||||
|
||||
If Additions exist, fuses then to the base shape. If no base is
|
||||
provided, it will just fuse other additions to the first addition.
|
||||
If Additions exist, fuse them to the base shape. If no base is
|
||||
provided, just fuse other additions to the first addition.
|
||||
|
||||
If Subtractions exist, it will cut them from the base shape. Roofs and
|
||||
Windows are treated uniquely, as they define their own Shape to
|
||||
subtract from parent shapes using their .getSubVolume() methods.
|
||||
If Subtractions exist, cut them from the base shape. Roofs and Windows
|
||||
are treated uniquely, as they define their own Shape to subtract from
|
||||
parent shapes using their .getSubVolume() methods.
|
||||
|
||||
TODO determine what the purpose of the placement argument is.
|
||||
|
||||
@@ -760,14 +760,14 @@ class Component(ArchIFC.IfcProduct):
|
||||
return base
|
||||
|
||||
def spread(self,obj,shape,placement=None):
|
||||
"""Copies the object to its Axis's points.
|
||||
"""Copy the object to its Axis's points.
|
||||
|
||||
If the object has the "Axis" property assigned, this method creates a
|
||||
copy of the shape for each point on the object assigned as the "Axis".
|
||||
Each of these copies are then translated, equal to the displacement of
|
||||
the points from the (0,0,0) origin.
|
||||
If the object has the "Axis" property assigned, create a copy of the
|
||||
shape for each point on the object assigned as the "Axis". Translate
|
||||
each of these copies equal to the displacement of the points from the
|
||||
(0,0,0) origin.
|
||||
|
||||
If the object's "Axis" is unassigned, returns the original shape
|
||||
If the object's "Axis" is unassigned, return the original shape
|
||||
unchanged.
|
||||
|
||||
Parameters
|
||||
@@ -803,7 +803,7 @@ class Component(ArchIFC.IfcProduct):
|
||||
return shape
|
||||
|
||||
def isIdentity(self,placement):
|
||||
"""Checks if a placement is *almost* zero.
|
||||
"""Check if a placement is *almost* zero.
|
||||
|
||||
Check if a <Base.Placement>'s displacement from (0,0,0) is almost zero,
|
||||
and if the angle of its rotation about its axis is almost zero.
|
||||
@@ -825,16 +825,16 @@ class Component(ArchIFC.IfcProduct):
|
||||
return False
|
||||
|
||||
def applyShape(self,obj,shape,placement,allowinvalid=False,allownosolid=False):
|
||||
"""Checks the given shape, then assigns it to the object.
|
||||
"""Check the given shape, then assign it to the object.
|
||||
|
||||
Checks if the shape is valid, isn't null, and if it has volume. Removes
|
||||
redundant edges from the shape. Spreads shape to the "Axis" with method
|
||||
.spread().
|
||||
Check if the shape is valid, isn't null, and if it has volume. Remove
|
||||
redundant edges from the shape. Spread the shape to the "Axis" with
|
||||
method .spread().
|
||||
|
||||
Sets the object's Shape and Placement to the values given, if
|
||||
Set the object's Shape and Placement to the values given, if
|
||||
successful.
|
||||
|
||||
Finally, runs .computeAreas() method, to calculate the horizontal and
|
||||
Finally, run .computeAreas() method, to calculate the horizontal and
|
||||
vertical area of the shape.
|
||||
|
||||
Parameters
|
||||
@@ -890,9 +890,9 @@ class Component(ArchIFC.IfcProduct):
|
||||
self.computeAreas(obj)
|
||||
|
||||
def computeAreas(self,obj):
|
||||
"""Computes the area properties of the object's shape.
|
||||
"""Compute the area properties of the object's shape.
|
||||
|
||||
Computes the vertical area, horizontal area, and perimeter length of
|
||||
Compute the vertical area, horizontal area, and perimeter length of
|
||||
the object's shape.
|
||||
|
||||
The vertical area is the surface area of the faces perpendicular to the
|
||||
@@ -905,8 +905,8 @@ class Component(ArchIFC.IfcProduct):
|
||||
The perimeter length is the length of the outside edges of this bird's
|
||||
eye view.
|
||||
|
||||
These values are assigned to the object's "VerticalArea",
|
||||
"HorizontalArea", and "PerimeterLength" properties.
|
||||
Assign these values to the object's "VerticalArea", "HorizontalArea",
|
||||
and "PerimeterLength" properties.
|
||||
"""
|
||||
|
||||
|
||||
@@ -976,7 +976,7 @@ class Component(ArchIFC.IfcProduct):
|
||||
obj.PerimeterLength = self.flatarea.Faces[0].OuterWire.Length
|
||||
|
||||
def isStandardCase(self,obj):
|
||||
"""Determines if the component is a standard case of its IFC type.
|
||||
"""Determine if the component is a standard case of its IFC type.
|
||||
|
||||
Not all IFC types have a standard case.
|
||||
|
||||
@@ -987,7 +987,7 @@ class Component(ArchIFC.IfcProduct):
|
||||
standard cases.
|
||||
|
||||
All objects whose IfcType is suffixed with the string " Sandard Case"
|
||||
is automatically a standard case.
|
||||
are automatically a standard case.
|
||||
|
||||
Returns
|
||||
-------
|
||||
@@ -1049,27 +1049,20 @@ class ViewProviderComponent:
|
||||
|
||||
Acts as a base for all other Arch view providers. It's properties and
|
||||
behaviours are common to all Arch view providers.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
vobj: <Gui.ViewProviderDocumentObject>
|
||||
The view provider to turn into a component view provider.
|
||||
"""
|
||||
|
||||
def __init__(self,vobj):
|
||||
"""Initialises the Component view provider.
|
||||
|
||||
Registers the Proxy as this class object. Registers the Object, as the
|
||||
view provider's object. Sets the view provider to have the properties
|
||||
of a component view provider.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
vobj: <Gui.ViewProviderDocumentObject>
|
||||
The view provider to turn into a component view provider.
|
||||
"""
|
||||
|
||||
vobj.Proxy = self
|
||||
self.Object = vobj.Object
|
||||
self.setProperties(vobj)
|
||||
|
||||
def setProperties(self,vobj):
|
||||
"""Gives the component view provider its component view provider specific properties.
|
||||
"""Give the component view provider its component view provider specific properties.
|
||||
|
||||
You can learn more about properties here:
|
||||
https://wiki.freecadweb.org/property
|
||||
@@ -1082,11 +1075,11 @@ class ViewProviderComponent:
|
||||
def updateData(self,obj,prop):
|
||||
"""Method called when the host object has a property changed.
|
||||
|
||||
If the object has a Material associated with it, matches the view
|
||||
If the object has a Material associated with it, match the view
|
||||
object's ShapeColor and Transparency to match the Material.
|
||||
|
||||
If the object is now cloned, or is part of a compound, the view object
|
||||
inherits the DiffuseColor.
|
||||
If the object is now cloned, or is part of a compound, have the view
|
||||
object inherit the DiffuseColor.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
@@ -1134,10 +1127,10 @@ class ViewProviderComponent:
|
||||
return
|
||||
|
||||
def getIcon(self):
|
||||
"""Returns the path to the appropriate icon.
|
||||
"""Return the path to the appropriate icon.
|
||||
|
||||
If a clone, returns the cloned component icon path. Otherwise returns
|
||||
the Arch Component icon.
|
||||
If a clone, return the cloned component icon path. Otherwise return the
|
||||
Arch Component icon.
|
||||
|
||||
Returns
|
||||
-------
|
||||
@@ -1196,9 +1189,9 @@ class ViewProviderComponent:
|
||||
return
|
||||
|
||||
def attach(self,vobj):
|
||||
"""Adds display modes' data to the coin scenegraph.
|
||||
"""Add display modes' data to the coin scenegraph.
|
||||
|
||||
Adds each display mode as a coin node, whose parent is this view
|
||||
Add each display mode as a coin node, whose parent is this view
|
||||
provider.
|
||||
|
||||
Each display mode's node includes the data needed to display the object
|
||||
@@ -1206,7 +1199,7 @@ class ViewProviderComponent:
|
||||
lines. This data is stored as additional coin nodes which are children
|
||||
of the display mode node.
|
||||
|
||||
Adds the HiRes display mode.
|
||||
Add the HiRes display mode.
|
||||
"""
|
||||
|
||||
from pivy import coin
|
||||
@@ -1219,9 +1212,9 @@ class ViewProviderComponent:
|
||||
return
|
||||
|
||||
def getDisplayModes(self,vobj):
|
||||
"""Defines the display modes unique to the Arch Component.
|
||||
"""Define the display modes unique to the Arch Component.
|
||||
|
||||
Defines mode HiRes, which displays the component as a mesh, intended as
|
||||
Define mode HiRes, which displays the component as a mesh, intended as
|
||||
a more visually appealing version of the component.
|
||||
|
||||
Returns
|
||||
@@ -1239,11 +1232,11 @@ class ViewProviderComponent:
|
||||
Called when the display mode changes, this method can be used to set
|
||||
data that wasn't available when .attach() was called.
|
||||
|
||||
When HiRes is set as display mode, displays the component as a copy of
|
||||
When HiRes is set as display mode, display the component as a copy of
|
||||
the mesh associated as the HiRes property of the host object. See
|
||||
ArchComponent.Component's properties.
|
||||
|
||||
If no shape is set in the HiRes property, just displays the object as
|
||||
If no shape is set in the HiRes property, just display the object as
|
||||
the Flat Lines display mode.
|
||||
|
||||
Parameters
|
||||
@@ -1306,10 +1299,10 @@ class ViewProviderComponent:
|
||||
return None
|
||||
|
||||
def claimChildren(self):
|
||||
"""Defines which objects will appear as children in the tree view.
|
||||
"""Define which objects will appear as children in the tree view.
|
||||
|
||||
Sets the host object's Base object as a child, and sets any additions
|
||||
or subtractions as children.
|
||||
Set the host object's Base object as a child, and set any additions or
|
||||
subtractions as children.
|
||||
|
||||
Returns
|
||||
-------
|
||||
@@ -1351,8 +1344,7 @@ class ViewProviderComponent:
|
||||
return []
|
||||
|
||||
def setEdit(self,vobj,mode):
|
||||
"""Method called when the document requests the object to enter edit
|
||||
mode.
|
||||
"""Method called when the document requests the object to enter edit mode.
|
||||
|
||||
Edit mode is entered when a user double clicks on an object in the tree
|
||||
view, or when they use the menu option [Edit -> Toggle Edit Mode].
|
||||
@@ -1389,12 +1381,12 @@ class ViewProviderComponent:
|
||||
return False
|
||||
|
||||
def setupContextMenu(self,vobj,menu):
|
||||
"""Adds the component specific options to the context menu.
|
||||
"""Add the component specific options to the context menu.
|
||||
|
||||
The context menu is the drop down menu that opens when the user right
|
||||
clicks on the component in the tree view.
|
||||
|
||||
Adds a menu choice to call the Arch_ToggleSubs Gui command. See
|
||||
Add a menu choice to call the Arch_ToggleSubs Gui command. See
|
||||
ArchCommands._ToggleSubs
|
||||
|
||||
Parameters
|
||||
@@ -1416,7 +1408,7 @@ class ViewProviderComponent:
|
||||
FreeCADGui.runCommand("Arch_ToggleSubs")
|
||||
|
||||
def areDifferentColors(self,a,b):
|
||||
"""Checks if two diffuse colors are almost the same.
|
||||
"""Check if two diffuse colors are almost the same.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
@@ -1439,10 +1431,10 @@ class ViewProviderComponent:
|
||||
return False
|
||||
|
||||
def colorize(self,obj,force=False):
|
||||
"""If an object is a clone, sets it it to copy the color of its parent.
|
||||
"""If an object is a clone, set it it to copy the color of its parent.
|
||||
|
||||
Will only change the color of the clone if the clone and its parent
|
||||
have colors that are distinguishably different from each other.
|
||||
Only change the color of the clone if the clone and its parent have
|
||||
colors that are distinguishably different from each other.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
@@ -1461,7 +1453,7 @@ class ViewProviderComponent:
|
||||
obj.ViewObject.DiffuseColor = obj.CloneOf.ViewObject.DiffuseColor
|
||||
|
||||
def getHosts(self):
|
||||
"""Returns the hosts of the view provider's host object.
|
||||
"""Return the hosts of the view provider's host object.
|
||||
|
||||
Note that in this case, the hosts are the objects referenced by Arch
|
||||
Rebar's "Host" and/or "Hosts" properties specifically. Only Arch Rebar
|
||||
@@ -1530,11 +1522,11 @@ class ArchSelectionObserver:
|
||||
def addSelection(self,document, object, element, position):
|
||||
"""Method called when a selection is made on the Gui.
|
||||
|
||||
When a nextCommand is specified, the observer fires a Gui command when
|
||||
anything is selected.
|
||||
When a nextCommand is specified, fire a Gui command when anything is
|
||||
selected.
|
||||
|
||||
When a watched object is specified, the observer will only fire when
|
||||
this watched object is selected.
|
||||
When a watched object is specified, only fire when this watched object
|
||||
is selected.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
@@ -1661,8 +1653,8 @@ class ComponentTaskPanel:
|
||||
self.update()
|
||||
|
||||
def isAllowedAlterSelection(self):
|
||||
"""This method indicates whether this task dialog allows other commands
|
||||
to modify the selection while it is open.
|
||||
"""Indicate whether this task dialog allows other commands to modify
|
||||
the selection while it is open.
|
||||
|
||||
Returns
|
||||
-------
|
||||
@@ -1673,8 +1665,8 @@ class ComponentTaskPanel:
|
||||
return True
|
||||
|
||||
def isAllowedAlterView(self):
|
||||
"""This method indicates whether this task dialog allows other commands
|
||||
to modify the 3D view while it is open.
|
||||
"""Indicate whether this task dialog allows other commands to modify
|
||||
the 3D view while it is open.
|
||||
|
||||
Returns
|
||||
-------
|
||||
@@ -1685,25 +1677,24 @@ class ComponentTaskPanel:
|
||||
return True
|
||||
|
||||
def getStandardButtons(self):
|
||||
"""Adds the standard ok button."""
|
||||
"""Add the standard ok button."""
|
||||
|
||||
return int(QtGui.QDialogButtonBox.Ok)
|
||||
|
||||
def check(self,wid,col):
|
||||
"""This method is run as the callback when the user selects an item in
|
||||
the tree.
|
||||
"""This method is run as the callback when the user selects an item in the tree.
|
||||
|
||||
This method enables and disables the add and remove buttons depending
|
||||
on what the user has selected.
|
||||
Enable and disable the add and remove buttons depending on what the
|
||||
user has selected.
|
||||
|
||||
If they have selected one of the root attribute folders, it disables
|
||||
the remove button. If they have separately selected an object in the 3D
|
||||
view, the add button is enabled, allowing the user to add that object
|
||||
to the root attribute folder.
|
||||
If they have selected one of the root attribute folders, disable the
|
||||
remove button. If they have separately selected an object in the 3D
|
||||
view, enable the add button, allowing the user to add that object to
|
||||
the root attribute folder.
|
||||
|
||||
If they have selected one of the items inside a root attribute folder,
|
||||
it enables the remove button, allowing the user to remove the object
|
||||
from that attribute.
|
||||
enable the remove button, allowing the user to remove the object from
|
||||
that attribute.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
@@ -1723,7 +1714,7 @@ class ComponentTaskPanel:
|
||||
self.addButton.setEnabled(False)
|
||||
|
||||
def getIcon(self,obj):
|
||||
"""Gets the path to the icons, of the items that fill the tree widget.
|
||||
"""Get the path to the icons, of the items that fill the tree widget.
|
||||
"""
|
||||
|
||||
if hasattr(obj.ViewObject,"Proxy"):
|
||||
@@ -1736,15 +1727,15 @@ class ComponentTaskPanel:
|
||||
return QtGui.QIcon(":/icons/Tree_Part.svg")
|
||||
|
||||
def update(self):
|
||||
"""Populates the treewidget with its various items.
|
||||
"""Populate the treewidget with its various items.
|
||||
|
||||
Checks if the object being edited has attributes relevant to
|
||||
subobjects. IE: Additions, Subtractions, etc.
|
||||
Check if the object being edited has attributes relevant to subobjects.
|
||||
IE: Additions, Subtractions, etc.
|
||||
|
||||
Populates the tree with these subobjects, under folders named after the
|
||||
Populate the tree with these subobjects, under folders named after the
|
||||
attributes they are listed in.
|
||||
|
||||
Finally, runs method .retranslateUi().
|
||||
Finally, run method .retranslateUi().
|
||||
"""
|
||||
|
||||
self.tree.clear()
|
||||
@@ -1780,14 +1771,13 @@ class ComponentTaskPanel:
|
||||
self.retranslateUi(self.baseform)
|
||||
|
||||
def addElement(self):
|
||||
"""This method is run as a callback when the user selects the add
|
||||
button.
|
||||
"""This method is run as a callback when the user selects the add button.
|
||||
|
||||
Gets the object selected in the 3D view, and gets the attribute folder
|
||||
Get the object selected in the 3D view, and get the attribute folder
|
||||
selected in the tree widget.
|
||||
|
||||
Adds the object selected in the 3D view to the attribute associated
|
||||
with the selected folder, by using function addToComponent().
|
||||
Add the object selected in the 3D view to the attribute associated with
|
||||
the selected folder, by using function addToComponent().
|
||||
"""
|
||||
|
||||
it = self.tree.currentItem()
|
||||
@@ -1801,12 +1791,11 @@ class ComponentTaskPanel:
|
||||
self.update()
|
||||
|
||||
def removeElement(self):
|
||||
"""This method is run as a callback when the user selects the remove
|
||||
button.
|
||||
"""This method is run as a callback when the user selects the remove button.
|
||||
|
||||
Gets the object selected in the tree widget. If there is an object in
|
||||
the document with the same Name as the selected item in the tree, it is
|
||||
removed from the object being edited, with the removeFromComponent()
|
||||
Get the object selected in the tree widget. If there is an object in
|
||||
the document with the same Name as the selected item in the tree,
|
||||
remove it from the object being edited, with the removeFromComponent()
|
||||
function.
|
||||
"""
|
||||
|
||||
@@ -1819,7 +1808,7 @@ class ComponentTaskPanel:
|
||||
def accept(self):
|
||||
"""This method runs as a callback when the user selects the ok button.
|
||||
|
||||
It recomputes the document, and leaves edit mode.
|
||||
Recomputes the document, and leave edit mode.
|
||||
"""
|
||||
|
||||
FreeCAD.ActiveDocument.recompute()
|
||||
@@ -1829,10 +1818,10 @@ class ComponentTaskPanel:
|
||||
def editObject(self,wid,col):
|
||||
"""This method is run when the user double clicks on an item in the tree widget.
|
||||
|
||||
If the item in the tree has a corresponding object in the document, it
|
||||
enters edit mode for that associated object.
|
||||
If the item in the tree has a corresponding object in the document,
|
||||
enter edit mode for that associated object.
|
||||
|
||||
At the same time, it makes the object this task panel was opened for
|
||||
At the same time, make the object this task panel was opened for
|
||||
transparent and unselectable.
|
||||
|
||||
Parameters
|
||||
@@ -1855,7 +1844,7 @@ class ComponentTaskPanel:
|
||||
FreeCADGui.ActiveDocument.setEdit(obj.Name,0)
|
||||
|
||||
def retranslateUi(self, TaskPanel):
|
||||
"""Adds the text of the task panel, in translated form.
|
||||
"""Add the text of the task panel, in translated form.
|
||||
"""
|
||||
|
||||
self.baseform.setWindowTitle(QtGui.QApplication.translate("Arch", "Component", None))
|
||||
@@ -1875,13 +1864,13 @@ class ComponentTaskPanel:
|
||||
self.classButton.setText(QtGui.QApplication.translate("Arch", "Edit standard code", None))
|
||||
|
||||
def editIfcProperties(self):
|
||||
"""Opens the IFC editor dialog box.
|
||||
"""Open the IFC editor dialog box.
|
||||
|
||||
This is the method that runs as a callback when the Edit IFC properties
|
||||
button is selected by the user.
|
||||
|
||||
It defines the editor's structure, fills it with data, adds callback
|
||||
for the buttons and other interactions, and shows it.
|
||||
Defines the editor's structure, fill it with data, add a callback for
|
||||
the buttons and other interactions, and show it.
|
||||
"""
|
||||
|
||||
if hasattr(self,"ifcEditor"):
|
||||
@@ -1989,10 +1978,9 @@ class ComponentTaskPanel:
|
||||
def acceptIfcProperties(self):
|
||||
"""This method runs as a callback when the user selects the ok button in the IFC editor.
|
||||
|
||||
This method scrapes through the rows of the IFC editor's items, and
|
||||
compares them to the object being edited's .IfcData. If the two are
|
||||
different, it changes the object's .IfcData to match the editor's
|
||||
items.
|
||||
Scrape through the rows of the IFC editor's items, and compare them to
|
||||
the object being edited's .IfcData. If the two are different, change
|
||||
the object's .IfcData to match the editor's items.
|
||||
"""
|
||||
|
||||
if hasattr(self,"ifcEditor") and self.ifcEditor:
|
||||
@@ -2026,7 +2014,7 @@ class ComponentTaskPanel:
|
||||
del self.ifcEditor
|
||||
|
||||
def addIfcProperty(self,idx=0,pset=None,prop=None,ptype=None):
|
||||
"""Adds an IFC property to the object, within the IFC editor.
|
||||
"""Add an IFC property to the object, within the IFC editor.
|
||||
|
||||
This method runs as a callback when the user selects an option in the
|
||||
Add Property dropdown box in the IFC editor. When used via the
|
||||
@@ -2085,14 +2073,14 @@ class ComponentTaskPanel:
|
||||
self.ifcEditor.comboProperty.setCurrentIndex(0)
|
||||
|
||||
def addIfcPset(self,idx=0):
|
||||
"""Adds a IFC property set to the object, within the IFC editor.
|
||||
"""Add an IFC property set to the object, within the IFC editor.
|
||||
|
||||
This method runs as a callback when the user selects a property set
|
||||
within the Add property set dropdown.
|
||||
|
||||
Adds the property set selected in the dropdown, then checks the
|
||||
property set definitions for the property set's standard properties,
|
||||
and adds them with blank values to the new property set.
|
||||
Add the property set selected in the dropdown, then check the property
|
||||
set definitions for the property set's standard properties, and add
|
||||
them with blank values to the new property set.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
@@ -2127,13 +2115,13 @@ class ComponentTaskPanel:
|
||||
self.ifcEditor.comboPset.setCurrentIndex(0)
|
||||
|
||||
def removeIfcProperty(self):
|
||||
"""Removes an IFC property or property set from the object, within the IFC editor.
|
||||
"""Remove an IFC property or property set from the object, within the IFC editor.
|
||||
|
||||
This method runs as a callback when the user selects the Delete
|
||||
selected property/set button within the IFC editor.
|
||||
|
||||
It finds the selected property, and deletes it. If it's a property set,
|
||||
it deletes the children properties as well.
|
||||
Find the selected property, and delete it. If it's a property set,
|
||||
delete the children properties as well.
|
||||
"""
|
||||
|
||||
if hasattr(self,"ifcEditor") and self.ifcEditor:
|
||||
@@ -2181,11 +2169,11 @@ if FreeCAD.GuiUp:
|
||||
self.plabels = plabels
|
||||
|
||||
def createEditor(self,parent,option,index):
|
||||
"""Returns the widget used to change data.
|
||||
"""Return the widget used to change data.
|
||||
|
||||
Returns a text line editor if editing the property name. Returns a
|
||||
Return a text line editor if editing the property name. Return a
|
||||
dropdown to change property type if editing property type. If
|
||||
editing the property's value, returns an appropriate widget
|
||||
editing the property's value, return an appropriate widget
|
||||
depending on the datatype of the value.
|
||||
|
||||
Parameters
|
||||
@@ -2226,11 +2214,11 @@ if FreeCAD.GuiUp:
|
||||
return editor
|
||||
|
||||
def setEditorData(self, editor, index):
|
||||
"""Gives data to the edit widget.
|
||||
"""Give data to the edit widget.
|
||||
|
||||
This method extracts the data already present in the table, and
|
||||
writes it to the editor. This means the user starts the editor with
|
||||
their previous data already present, instead of a blank slate.
|
||||
Extract the data already present in the table, and write it to the
|
||||
editor. This means the user starts the editor with their previous
|
||||
data already present, instead of a blank slate.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
@@ -2272,7 +2260,7 @@ if FreeCAD.GuiUp:
|
||||
editor.setText(index.data())
|
||||
|
||||
def setModelData(self, editor, model, index):
|
||||
"""Writes the data in the editor to the IFC editor's table.
|
||||
"""Write the data in the editor to the IFC editor's table.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
|
||||
@@ -58,9 +58,9 @@ __url__ = "http://www.freecadweb.org"
|
||||
def makeFloor(objectslist=None,baseobj=None,name="Floor"):
|
||||
"""Obselete, superceeded by ArchBuildingPart.makeFloor.
|
||||
|
||||
Creates a floor.
|
||||
Create a floor.
|
||||
|
||||
Creates a new floor based on a group, and then adds the objects in
|
||||
Create a new floor based on a group, and then adds the objects in
|
||||
objectslist to the new floor.
|
||||
|
||||
Parameters
|
||||
@@ -97,10 +97,10 @@ class _CommandFloor:
|
||||
|
||||
A tool for creating Arch floors.
|
||||
|
||||
Creates a floor from the objects selected by the user, if any. Excludes
|
||||
Create a floor from the objects selected by the user, if any. Exclude
|
||||
objects that appear higher in the object hierarchy, such as sites or
|
||||
buildings. If free linking is enabled in the Arch preferences, allows
|
||||
higher hierarchy objects to be part of floors.
|
||||
buildings. If free linking is enabled in the Arch preferences, allow higher
|
||||
hierarchy objects to be part of floors.
|
||||
|
||||
Find documentation on the end user usage of Arch Floor here:
|
||||
https://wiki.freecadweb.org/Arch_Floor
|
||||
@@ -108,7 +108,7 @@ class _CommandFloor:
|
||||
|
||||
|
||||
def GetResources(self):
|
||||
"""Returns a dictionary with the visual aspects of the Arch Floor tool."""
|
||||
"""Return a dictionary with the visual aspects of the Arch Floor tool."""
|
||||
|
||||
return {'Pixmap' : 'Arch_Floor',
|
||||
'MenuText': QT_TRANSLATE_NOOP("Arch_Floor","Level"),
|
||||
@@ -116,7 +116,7 @@ class _CommandFloor:
|
||||
'ToolTip': QT_TRANSLATE_NOOP("Arch_Floor","Creates a Building Part object that represents a level, including selected objects")}
|
||||
|
||||
def IsActive(self):
|
||||
"""Determines whether or not the Arch Floor tool is active.
|
||||
"""Determine whether or not the Arch Floor tool is active.
|
||||
|
||||
Inactive commands are indicated by a greyed-out icon in the menus and toolbars.
|
||||
"""
|
||||
@@ -126,9 +126,9 @@ class _CommandFloor:
|
||||
def Activated(self):
|
||||
"""Executed when Arch Floor is called.
|
||||
|
||||
Creates a floor from the objects selected by the user, if any. Excludes
|
||||
Create a floor from the objects selected by the user, if any. Exclude
|
||||
objects that appear higher in the object hierarchy, such as sites or
|
||||
buildings. If free linking is enabled in the Arch preferences, allows
|
||||
buildings. If free linking is enabled in the Arch preferences, allow
|
||||
higher hierarchy objects to be part of floors.
|
||||
"""
|
||||
|
||||
@@ -195,9 +195,9 @@ class _Floor(ArchIFC.IfcProduct):
|
||||
self.IfcType = "Building Storey"
|
||||
|
||||
def setProperties(self,obj):
|
||||
"""Gives the object properties unique to floors.
|
||||
"""Give the object properties unique to floors.
|
||||
|
||||
Adds the IFC product properties, and the floor's height and area.
|
||||
Add the IFC product properties, and the floor's height and area.
|
||||
"""
|
||||
|
||||
ArchIFC.IfcProduct.setProperties(self, obj)
|
||||
@@ -227,7 +227,7 @@ class _Floor(ArchIFC.IfcProduct):
|
||||
def onChanged(self,obj,prop):
|
||||
"""Method called when the object has a property changed.
|
||||
|
||||
If the objects grouped under the floor object changes, it recomputes
|
||||
If the objects grouped under the floor object changes, recompute
|
||||
the Area property.
|
||||
|
||||
Also calls ArchIFC.IfcProduct.onChanged().
|
||||
@@ -254,8 +254,8 @@ class _Floor(ArchIFC.IfcProduct):
|
||||
def execute(self,obj):
|
||||
"""Method run when the object is recomputed.
|
||||
|
||||
Moves its children if its placement has changed since the previous
|
||||
recompute. Sets any child Walls and Structures to have the height of
|
||||
Move its children if its placement has changed since the previous
|
||||
recompute. Set any child Walls and Structures to have the height of
|
||||
the floor if they have not Height value set.
|
||||
"""
|
||||
|
||||
@@ -280,7 +280,7 @@ class _Floor(ArchIFC.IfcProduct):
|
||||
o.Proxy.execute(o)
|
||||
|
||||
def addObject(self,child):
|
||||
"""Adds the object to the floor's group.
|
||||
"""Add the object to the floor's group.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
@@ -295,7 +295,7 @@ class _Floor(ArchIFC.IfcProduct):
|
||||
self.Object.Group = g
|
||||
|
||||
def removeObject(self,child):
|
||||
"""Removes the object from the floor's group, if it's present.
|
||||
"""Remove the object from the floor's group, if it's present.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
@@ -325,7 +325,7 @@ class _ViewProviderFloor:
|
||||
vobj.Proxy = self
|
||||
|
||||
def getIcon(self):
|
||||
"""Returns the path to the appropriate icon.
|
||||
"""Return the path to the appropriate icon.
|
||||
|
||||
Returns
|
||||
-------
|
||||
@@ -337,9 +337,9 @@ class _ViewProviderFloor:
|
||||
return ":/icons/Arch_Floor_Tree.svg"
|
||||
|
||||
def attach(self,vobj):
|
||||
"""Adds display modes' data to the coin scenegraph.
|
||||
"""Add display modes' data to the coin scenegraph.
|
||||
|
||||
Adds each display mode as a coin node, whose parent is this view
|
||||
Add each display mode as a coin node, whose parent is this view
|
||||
provider.
|
||||
|
||||
Each display mode's node includes the data needed to display the object
|
||||
@@ -347,16 +347,16 @@ class _ViewProviderFloor:
|
||||
lines. This data is stored as additional coin nodes which are children
|
||||
of the display mode node.
|
||||
|
||||
Does not add any new display modes.
|
||||
Do not add any new display modes.
|
||||
"""
|
||||
|
||||
self.Object = vobj.Object
|
||||
return
|
||||
|
||||
def claimChildren(self):
|
||||
"""Defines which objects will appear as children in the tree view.
|
||||
"""Define which objects will appear as children in the tree view.
|
||||
|
||||
Claims all the objects that appear in the floor's group.
|
||||
Claim all the objects that appear in the floor's group.
|
||||
|
||||
Returns
|
||||
-------
|
||||
@@ -378,12 +378,12 @@ class _ViewProviderFloor:
|
||||
return None
|
||||
|
||||
def setupContextMenu(self,vobj,menu):
|
||||
"""Adds the floor specific options to the context menu.
|
||||
"""Add the floor specific options to the context menu.
|
||||
|
||||
The context menu is the drop down menu that opens when the user right
|
||||
clicks on the floor in the tree view.
|
||||
|
||||
Adds a menu choice to convert the floor to an Arch Building Part with
|
||||
Add a menu choice to convert the floor to an Arch Building Part with
|
||||
the ArchBuildingPart.convertFloors function.
|
||||
|
||||
Parameters
|
||||
|
||||
@@ -30,9 +30,9 @@ class IfcRoot:
|
||||
"""
|
||||
|
||||
def setProperties(self, obj):
|
||||
"""Gives the object properties for storing IFC data.
|
||||
"""Give the object properties for storing IFC data.
|
||||
|
||||
Also migrates old versions of IFC properties to the new property names
|
||||
Also migrate old versions of IFC properties to the new property names
|
||||
using the .migrateDeprecatedAttributes() method.
|
||||
"""
|
||||
|
||||
@@ -51,13 +51,12 @@ class IfcRoot:
|
||||
def onChanged(self, obj, prop):
|
||||
"""Method called when the object has a property changed.
|
||||
|
||||
If the object's IfcType has changed, this method changes the object's
|
||||
properties that relate to IFC attributes in order to match the IFC
|
||||
schema definition of the new IFC type.
|
||||
If the object's IfcType has changed, change the object's properties
|
||||
that relate to IFC attributes in order to match the IFC schema
|
||||
definition of the new IFC type.
|
||||
|
||||
If a property changes that is in the "IFC Attributes" group, this
|
||||
method will also change the value stored in the IfcData property's
|
||||
JSON.
|
||||
If a property changes that is in the "IFC Attributes" group, also
|
||||
change the value stored in the IfcData property's JSON.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
@@ -73,14 +72,14 @@ class IfcRoot:
|
||||
self.setObjIfcAttributeValue(obj, prop, obj.getPropertyByName(prop))
|
||||
|
||||
def setupIfcAttributes(self, obj):
|
||||
"""Sets up the IFC attributes in the object's properties.
|
||||
"""Set up the IFC attributes in the object's properties.
|
||||
|
||||
Adds the attributes specified in the object's IFC type schema, to the
|
||||
object's properties. Does not re-add them if they're already present.
|
||||
Also removes old IFC attribute properties that no longer appear in the
|
||||
Add the attributes specified in the object's IFC type schema, to the
|
||||
object's properties. Do not re-add them if they're already present.
|
||||
Also remove old IFC attribute properties that no longer appear in the
|
||||
schema for backwards compatibility.
|
||||
|
||||
Does so using the .addIfcAttributes() and
|
||||
Do so using the .addIfcAttributes() and
|
||||
.purgeUnusedIfcAttributesFromPropertiesList() methods.
|
||||
|
||||
Learn more about IFC attributes here:
|
||||
@@ -94,9 +93,9 @@ class IfcRoot:
|
||||
self.addIfcAttributes(ifcTypeSchema, obj)
|
||||
|
||||
def setupIfcComplexAttributes(self, obj):
|
||||
"""Adds the IFC type's complex attributes to the object.
|
||||
"""Add the IFC type's complex attributes to the object.
|
||||
|
||||
Gets the object's IFC type schema, and adds the schema for the type's
|
||||
Get the object's IFC type schema, and add the schema for the type's
|
||||
complex attributes within the IfcData property.
|
||||
"""
|
||||
|
||||
@@ -114,9 +113,9 @@ class IfcRoot:
|
||||
obj.IfcData = IfcData
|
||||
|
||||
def getIfcTypeSchema(self, IfcType):
|
||||
"""Gets the schema of the IFC type provided.
|
||||
"""Get the schema of the IFC type provided.
|
||||
|
||||
If the IFC type is undefined, returns the schema of the
|
||||
If the IFC type is undefined, return the schema of the
|
||||
IfcBuildingElementProxy.
|
||||
|
||||
Parameter
|
||||
@@ -139,7 +138,7 @@ class IfcRoot:
|
||||
return None
|
||||
|
||||
def getIfcSchema(self):
|
||||
"""Gets the IFC schema of all types relevant to this class.
|
||||
"""Get the IFC schema of all types relevant to this class.
|
||||
|
||||
Intended to be overwritten by the classes that inherit this class.
|
||||
|
||||
@@ -152,12 +151,12 @@ class IfcRoot:
|
||||
return {}
|
||||
|
||||
def getCanonicalisedIfcTypes(self):
|
||||
"""This method gets the names of IFC types, converted to the form used in Arch.
|
||||
"""Get the names of IFC types, converted to the form used in Arch.
|
||||
|
||||
This method changes the names of all IFC types to a more human readable
|
||||
form which is used instead throughout Arch instead of the raw type
|
||||
names. The names have the "Ifc" stripped from the start of their
|
||||
name, and spaces inserted between the words.
|
||||
Change the names of all IFC types to a more human readable form which
|
||||
is used instead throughout Arch instead of the raw type names. The
|
||||
names have the "Ifc" stripped from the start of their name, and spaces
|
||||
inserted between the words.
|
||||
|
||||
Returns
|
||||
-------
|
||||
@@ -171,11 +170,11 @@ class IfcRoot:
|
||||
return [''.join(map(lambda x: x if x.islower() else " "+x, t[3:]))[1:] for t in schema.keys()]
|
||||
|
||||
def getIfcAttributeSchema(self, ifcTypeSchema, name):
|
||||
"""Gets the schema of an IFC attribute with the given name.
|
||||
"""Get the schema of an IFC attribute with the given name.
|
||||
|
||||
This method does so by converting the IFC attribute's name from the
|
||||
human readable version Arch uses, and converting it to the less
|
||||
readable name it has in the IFC schema.
|
||||
Convert the IFC attribute's name from the human readable version Arch
|
||||
uses, and convert it to the less readable name it has in the IFC
|
||||
schema.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
@@ -199,23 +198,22 @@ class IfcRoot:
|
||||
return None
|
||||
|
||||
def addIfcAttributes(self, ifcTypeSchema, obj):
|
||||
"""Adds the attributes of the IFC type's schema to the object's properties.
|
||||
"""Add the attributes of the IFC type's schema to the object's properties.
|
||||
|
||||
Adds the attributes as properties of the object. Also adds the
|
||||
attribute's schema within the object's IfcData property. It does so
|
||||
using the .addIfcAttribute() method.
|
||||
Add the attributes as properties of the object. Also add the
|
||||
attribute's schema within the object's IfcData property. Do so using
|
||||
the .addIfcAttribute() method.
|
||||
|
||||
Also adds expressions to copy data from the object's editable
|
||||
Also add expressions to copy data from the object's editable
|
||||
properties. This means the IFC properties will remain accurate with
|
||||
the actual values of the object. This is not done for all IFC
|
||||
properties. It does so using the .addIfcAttributeValueExpressions()
|
||||
method.
|
||||
the actual values of the object. Do not do so for all IFC properties.
|
||||
Do so using the .addIfcAttributeValueExpressions() method.
|
||||
|
||||
Learn more about expressions here:
|
||||
https://wiki.freecadweb.org/Expressions
|
||||
|
||||
Does not add the attribute if the object has a property with the
|
||||
attribute's name. Also does not add the attribute if its name is
|
||||
Do not add the attribute if the object has a property with the
|
||||
attribute's name. Also do not add the attribute if its name is
|
||||
RefLatitude, RefLongitude, or Name.
|
||||
|
||||
Parameters
|
||||
@@ -234,12 +232,12 @@ class IfcRoot:
|
||||
self.addIfcAttributeValueExpressions(obj, attribute)
|
||||
|
||||
def addIfcAttribute(self, obj, attribute):
|
||||
"""Adds an IFC type's attribute to the object, within its properties.
|
||||
"""Add an IFC type's attribute to the object, within its properties.
|
||||
|
||||
Adds the attribute's schema to the object's IfcData property, as an
|
||||
Add the attribute's schema to the object's IfcData property, as an
|
||||
item under its "attributes" array.
|
||||
|
||||
Also adds the attribute as a property of the object.
|
||||
Also add the attribute as a property of the object.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
@@ -273,13 +271,13 @@ class IfcRoot:
|
||||
QT_TRANSLATE_NOOP("App::Property", "Description of IFC attributes are not yet implemented"))
|
||||
|
||||
def addIfcAttributeValueExpressions(self, obj, attribute):
|
||||
"""Adds expressions for IFC attributes, so they stay accurate with the object.
|
||||
"""Add expressions for IFC attributes, so they stay accurate with the object.
|
||||
|
||||
Adds expressions to the object that copy data from the editable
|
||||
Add expressions to the object that copy data from the editable
|
||||
properties of the object. This ensures that the IFC attributes will
|
||||
remain accurate with the actual values of the object.
|
||||
|
||||
Currently adds expressions for the following IFC attributes:
|
||||
Currently, add expressions for the following IFC attributes:
|
||||
|
||||
- OverallWidth
|
||||
- OverallHeight
|
||||
@@ -330,7 +328,7 @@ class IfcRoot:
|
||||
obj.LongName = obj.Label
|
||||
|
||||
def setObjIfcAttributeValue(self, obj, attributeName, value):
|
||||
"""Changes the value of an IFC attribute within the IfcData property's json.
|
||||
"""Change the value of an IFC attribute within the IfcData property's json.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
@@ -369,7 +367,7 @@ class IfcRoot:
|
||||
obj.IfcData = IfcData
|
||||
|
||||
def getObjIfcComplexAttribute(self, obj, attributeName):
|
||||
"""Gets the value of the complex attribute, as stored in the IfcData JSON.
|
||||
"""Get the value of the complex attribute, as stored in the IfcData JSON.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
@@ -384,10 +382,10 @@ class IfcRoot:
|
||||
return json.loads(obj.IfcData["complex_attributes"])[attributeName]
|
||||
|
||||
def purgeUnusedIfcAttributesFromPropertiesList(self, ifcTypeSchema, obj):
|
||||
"""Removes properties representing IFC attributes if they no longer appear.
|
||||
"""Remove properties representing IFC attributes if they no longer appear.
|
||||
|
||||
Removes the property representing an IFC attribute, if it does not
|
||||
appear in the schema of the IFC type provided. Also, removes the
|
||||
Remove the property representing an IFC attribute, if it does not
|
||||
appear in the schema of the IFC type provided. Also, remove the
|
||||
property if its attribute is an enum type, presumably for backwards
|
||||
compatibility.
|
||||
|
||||
@@ -403,7 +401,7 @@ class IfcRoot:
|
||||
obj.removeProperty(property)
|
||||
|
||||
def migrateDeprecatedAttributes(self, obj):
|
||||
"""Updates the object to use the newer property names for IFC related properties.
|
||||
"""Update the object to use the newer property names for IFC related properties.
|
||||
"""
|
||||
|
||||
if "Role" in obj.PropertiesList:
|
||||
@@ -436,7 +434,7 @@ class IfcProduct(IfcRoot):
|
||||
"""
|
||||
|
||||
def getIfcSchema(self):
|
||||
"""Gets the IFC schema of all IFC types that inherit from IfcProducts.
|
||||
"""Get the IFC schema of all IFC types that inherit from IfcProducts.
|
||||
|
||||
Returns
|
||||
-------
|
||||
@@ -455,7 +453,7 @@ class IfcContext(IfcRoot):
|
||||
"""
|
||||
|
||||
def getIfcSchema(self):
|
||||
"""Gets the IFC schema of all IFC types that inherit from IfcContexts.
|
||||
"""Get the IFC schema of all IFC types that inherit from IfcContexts.
|
||||
|
||||
Returns
|
||||
-------
|
||||
|
||||
@@ -49,9 +49,9 @@ __author__ = "Yorik van Havre"
|
||||
__url__ = "http://www.freecadweb.org"
|
||||
|
||||
def makeProject(sites=None, name="Project"):
|
||||
"""Creates an Arch project.
|
||||
"""Create an Arch project.
|
||||
|
||||
If sites are provided, will add them as children of the new project.
|
||||
If sites are provided, add them as children of the new project.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
@@ -93,14 +93,14 @@ class _CommandProject:
|
||||
"""
|
||||
|
||||
def GetResources(self):
|
||||
"""Returns a dictionary with the visual aspects of the Arch Project tool."""
|
||||
"""Return a dictionary with the visual aspects of the Arch Project tool."""
|
||||
return {'Pixmap' : 'Arch_Project',
|
||||
'MenuText': QT_TRANSLATE_NOOP("Arch_Project", "Project"),
|
||||
'Accel': "P, O",
|
||||
'ToolTip': QT_TRANSLATE_NOOP("Arch_Project", "Creates a project entity aggregating the selected sites.")}
|
||||
|
||||
def IsActive(self):
|
||||
"""Determines whether or not the Arch Project tool is active.
|
||||
"""Determine whether or not the Arch Project tool is active.
|
||||
|
||||
Inactive commands are indicated by a greyed-out icon in the menus and toolbars.
|
||||
"""
|
||||
@@ -109,7 +109,7 @@ class _CommandProject:
|
||||
def Activated(self):
|
||||
"""Executed when Arch Project is called.
|
||||
|
||||
Creates a project from the objects selected by the user that have the
|
||||
Create a project from the objects selected by the user that have the
|
||||
Site IfcType, if any.
|
||||
"""
|
||||
|
||||
@@ -150,9 +150,9 @@ class _Project(ArchIFC.IfcContext):
|
||||
obj.IfcType = "Project"
|
||||
|
||||
def setProperties(self, obj):
|
||||
"""Gives the object properties unique to projects.
|
||||
"""Give the object properties unique to projects.
|
||||
|
||||
Adds the IFC context properties, and the group extension if it does not
|
||||
Add the IFC context properties, and the group extension if it does not
|
||||
already exist.
|
||||
"""
|
||||
|
||||
@@ -163,7 +163,7 @@ class _Project(ArchIFC.IfcContext):
|
||||
self.Type = "Project"
|
||||
|
||||
def onDocumentRestored(self, obj):
|
||||
"""Method run when the document is restored. Re-adds the properties."""
|
||||
"""Method run when the document is restored. Re-add the properties."""
|
||||
self.setProperties(obj)
|
||||
|
||||
class _viewproviderproject(ArchIFCView.IfcContextView):
|
||||
@@ -180,7 +180,7 @@ class _viewproviderproject(ArchIFCView.IfcContextView):
|
||||
vobj.addExtension("Gui::ViewProviderGroupExtensionPython", self)
|
||||
|
||||
def getIcon(self):
|
||||
"""Returns the path to the appropriate icon.
|
||||
"""Return the path to the appropriate icon.
|
||||
|
||||
Returns
|
||||
-------
|
||||
|
||||
@@ -620,10 +620,10 @@ class _Site(ArchIFC.IfcProduct):
|
||||
def execute(self,obj):
|
||||
"""Method run when the object is recomputed.
|
||||
|
||||
If the site has no Shape or Terrain property assigned, does nothing.
|
||||
If the site has no Shape or Terrain property assigned, do nothing.
|
||||
|
||||
Performs additions and subtractions on terrain, and assigns to the
|
||||
site's Shape.
|
||||
Perform additions and subtractions on terrain, and assign to the site's
|
||||
Shape.
|
||||
"""
|
||||
|
||||
if not hasattr(obj,'Shape'): # old-style Site
|
||||
@@ -669,10 +669,10 @@ class _Site(ArchIFC.IfcProduct):
|
||||
def onChanged(self,obj,prop):
|
||||
"""Method called when the object has a property changed.
|
||||
|
||||
If Terrain has changed, hides the base object terrain, then runs
|
||||
If Terrain has changed, hide the base object terrain, then run
|
||||
.execute().
|
||||
|
||||
Also calls ArchIFC.IfcProduct.onChanged().
|
||||
Also call ArchIFC.IfcProduct.onChanged().
|
||||
|
||||
Parameters
|
||||
----------
|
||||
@@ -688,17 +688,17 @@ class _Site(ArchIFC.IfcProduct):
|
||||
self.execute(obj)
|
||||
|
||||
def computeAreas(self,obj):
|
||||
"""Computes the area, perimeter length, and volume of the terrain shape.
|
||||
"""Compute the area, perimeter length, and volume of the terrain shape.
|
||||
|
||||
Computes the area of the terrain projected onto an XY hyperplane, IE:
|
||||
Compute the area of the terrain projected onto an XY hyperplane, IE:
|
||||
the area of the terrain if viewed from a birds eye view.
|
||||
|
||||
Computes the length of the perimeter of this birds eye view area.
|
||||
Compute the length of the perimeter of this birds eye view area.
|
||||
|
||||
Computes the volume of the terrain that needs to be subtracted and
|
||||
Compute the volume of the terrain that needs to be subtracted and
|
||||
added on account of the Additions and Subtractions to the site.
|
||||
|
||||
These values are assigned to their respective site properties.
|
||||
Assign these values to their respective site properties.
|
||||
"""
|
||||
|
||||
if not obj.Shape:
|
||||
@@ -783,7 +783,7 @@ class _ViewProviderSite:
|
||||
self.setProperties(vobj)
|
||||
|
||||
def setProperties(self,vobj):
|
||||
"""Gives the site view provider its site view provider specific properties.
|
||||
"""Give the site view provider its site view provider specific properties.
|
||||
|
||||
These include solar diagram and compass data, dealing the orientation
|
||||
of the site, and its orientation to the sun.
|
||||
@@ -817,11 +817,11 @@ class _ViewProviderSite:
|
||||
vobj.addProperty("App::PropertyBool", "UpdateDeclination", "Compass", QT_TRANSLATE_NOOP("App::Property", "Update the Declination value based on the compass rotation"))
|
||||
|
||||
def onDocumentRestored(self,vobj):
|
||||
"""Method run when the document is restored. Re-adds the Arch component properties."""
|
||||
"""Method run when the document is restored. Re-add the Arch component properties."""
|
||||
self.setProperties(vobj)
|
||||
|
||||
def getIcon(self):
|
||||
"""Returns the path to the appropriate icon.
|
||||
"""Return the path to the appropriate icon.
|
||||
|
||||
Returns
|
||||
-------
|
||||
@@ -833,12 +833,12 @@ class _ViewProviderSite:
|
||||
return ":/icons/Arch_Site_Tree.svg"
|
||||
|
||||
def claimChildren(self):
|
||||
"""Defines which objects will appear as children in the tree view.
|
||||
"""Define which objects will appear as children in the tree view.
|
||||
|
||||
Sets objects within the site group, and the terrain object as children.
|
||||
Set objects within the site group, and the terrain object as children.
|
||||
|
||||
If the Arch preference swallowSubtractions is true, the additions and
|
||||
subtractions to the terrain are set as children.
|
||||
If the Arch preference swallowSubtractions is true, set the additions
|
||||
and subtractions to the terrain as children.
|
||||
|
||||
Returns
|
||||
-------
|
||||
@@ -862,7 +862,7 @@ class _ViewProviderSite:
|
||||
Edit mode is entered when a user double clicks on an object in the tree
|
||||
view, or when they use the menu option [Edit -> Toggle Edit Mode].
|
||||
|
||||
Just dispays the standard Arch component task panel.
|
||||
Just dispay the standard Arch component task panel.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
@@ -888,7 +888,7 @@ class _ViewProviderSite:
|
||||
def unsetEdit(self,vobj,mode):
|
||||
"""Method called when the document requests the object exit edit mode.
|
||||
|
||||
Closes the Arch component edit task panel.
|
||||
Close the Arch component edit task panel.
|
||||
|
||||
Returns
|
||||
-------
|
||||
@@ -899,9 +899,9 @@ class _ViewProviderSite:
|
||||
return False
|
||||
|
||||
def attach(self,vobj):
|
||||
"""Adds display modes' data to the coin scenegraph.
|
||||
"""Add display modes' data to the coin scenegraph.
|
||||
|
||||
Adds each display mode as a coin node, whose parent is this view
|
||||
Add each display mode as a coin node, whose parent is this view
|
||||
provider.
|
||||
|
||||
Each display mode's node includes the data needed to display the object
|
||||
@@ -909,8 +909,8 @@ class _ViewProviderSite:
|
||||
lines. This data is stored as additional coin nodes which are children
|
||||
of the display mode node.
|
||||
|
||||
Does not add display modes, but does add the solar diagram and compass
|
||||
to the scenegraph.
|
||||
Doe not add display modes, but do add the solar diagram and compass to
|
||||
the scenegraph.
|
||||
"""
|
||||
|
||||
self.Object = vobj.Object
|
||||
@@ -933,10 +933,10 @@ class _ViewProviderSite:
|
||||
def updateData(self,obj,prop):
|
||||
"""Method called when the host object has a property changed.
|
||||
|
||||
If the Longitude or Lattitude has changed, the SolarDiagram is
|
||||
set to update.
|
||||
If the Longitude or Lattitude has changed, set the SolarDiagram to
|
||||
update.
|
||||
|
||||
If Terrain or Placement has changed, the compass is moved to follow it.
|
||||
If Terrain or Placement has changed, move the compass to follow it.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
@@ -1010,10 +1010,10 @@ class _ViewProviderSite:
|
||||
self.updateCompassLocation(vobj)
|
||||
|
||||
def updateDeclination(self,vobj):
|
||||
"""Updates the declination of the compass
|
||||
"""Update the declination of the compass
|
||||
|
||||
Updates the declination by adding together how the
|
||||
site has been rotated within the document, and the rotation of the site compass.
|
||||
Update the declination by adding together how the site has been rotated
|
||||
within the document, and the rotation of the site compass.
|
||||
"""
|
||||
|
||||
if not hasattr(vobj, 'UpdateDeclination') or not vobj.UpdateDeclination:
|
||||
|
||||
@@ -58,7 +58,7 @@ __author__ = "Yorik van Havre"
|
||||
__url__ = "http://www.freecadweb.org"
|
||||
|
||||
def makeWall(baseobj=None,height=None,length=None,width=None,align="Center",face=None,name="Wall"):
|
||||
"""Creates a wall based on a given object, and returns the generated wall.
|
||||
"""Create a wall based on a given object, and returns the generated wall.
|
||||
|
||||
TODO: It is unclear what defines which units this function uses.
|
||||
|
||||
@@ -132,12 +132,12 @@ def makeWall(baseobj=None,height=None,length=None,width=None,align="Center",face
|
||||
return obj
|
||||
|
||||
def joinWalls(walls,delete=False):
|
||||
"""Joins the given list of walls into one sketch-based wall.
|
||||
"""Join the given list of walls into one sketch-based wall.
|
||||
|
||||
Takes the first wall in the list, and adds on the other walls in the list.
|
||||
Returns the modified first wall.
|
||||
Take the first wall in the list, and adds on the other walls in the list.
|
||||
Return the modified first wall.
|
||||
|
||||
Setting delete to True, will delete the other walls. Will only join walls
|
||||
Setting delete to True, will delete the other walls. Only join walls
|
||||
if the walls have the same width, height and alignment.
|
||||
|
||||
Parameters
|
||||
@@ -190,7 +190,7 @@ def joinWalls(walls,delete=False):
|
||||
def mergeShapes(w1,w2):
|
||||
"""Not currently implemented.
|
||||
|
||||
Returns a Shape built on two walls that share same properties and have a
|
||||
Return a Shape built on two walls that share same properties and have a
|
||||
coincident endpoint.
|
||||
"""
|
||||
|
||||
@@ -217,7 +217,7 @@ def mergeShapes(w1,w2):
|
||||
return None
|
||||
|
||||
def areSameWallTypes(walls):
|
||||
"""Checks if a list of walls have the same height, width and alignment.
|
||||
"""Check if a list of walls have the same height, width and alignment.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
@@ -253,8 +253,8 @@ class _CommandWall:
|
||||
|
||||
A tool for creating Arch walls.
|
||||
|
||||
Creates a wall from the object selected by the user. If no objects are
|
||||
selected, enters an interactive mode to create a wall using selected points
|
||||
Create a wall from the object selected by the user. If no objects are
|
||||
selected, enter an interactive mode to create a wall using selected points
|
||||
to create a base.
|
||||
|
||||
Find documentation on the end user usage of Arch Wall here:
|
||||
@@ -404,8 +404,7 @@ class _CommandWall:
|
||||
self.Activated()
|
||||
|
||||
def addDefault(self):
|
||||
"""Creates a wall using a line segment, with all parameters as the
|
||||
default.
|
||||
"""Create a wall using a line segment, with all parameters as the default.
|
||||
|
||||
Used solely by _CommandWall.getPoint() when the interactive mode has
|
||||
selected two points.
|
||||
@@ -431,9 +430,9 @@ class _CommandWall:
|
||||
def update(self,point):
|
||||
"""Callback for the mouse moving during the interactive mode.
|
||||
|
||||
Updates the active dialog box to show the coordinates of the location
|
||||
of the cursor. It also shows the length the line would take, if the
|
||||
user selected that point.
|
||||
Update the active dialog box to show the coordinates of the location of
|
||||
the cursor. Also show the length the line would take, if the user
|
||||
selected that point.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
@@ -458,7 +457,7 @@ class _CommandWall:
|
||||
self.Length.setText(FreeCAD.Units.Quantity(bv.Length,FreeCAD.Units.Length).UserString)
|
||||
|
||||
def taskbox(self):
|
||||
"""Sets up a simple gui widget for the interactive mode."""
|
||||
"""Set up a simple gui widget for the interactive mode."""
|
||||
|
||||
w = QtGui.QWidget()
|
||||
ui = FreeCADGui.UiLoader()
|
||||
@@ -611,7 +610,7 @@ class _CommandMergeWalls:
|
||||
|
||||
A tool for merging walls.
|
||||
|
||||
Joins two or more walls by using the ArchWall.joinWalls() function.
|
||||
Join two or more walls by using the ArchWall.joinWalls() function.
|
||||
|
||||
Find documentation on the end user usage of Arch Wall here:
|
||||
https://wiki.freecadweb.org/Arch_MergeWalls
|
||||
@@ -636,7 +635,7 @@ class _CommandMergeWalls:
|
||||
def Activated(self):
|
||||
"""Executed when Arch MergeWalls is called.
|
||||
|
||||
Calls ArchWall.joinWalls() on walls selected by the user, with the
|
||||
Call ArchWall.joinWalls() on walls selected by the user, with the
|
||||
delete option enabled. If the user has selected a single wall, check to
|
||||
see if the wall has any Additions that are walls. If so, merges these
|
||||
additions to the wall, deleting the additions.
|
||||
@@ -694,7 +693,7 @@ class _Wall(ArchComponent.Component):
|
||||
obj.IfcType = "Wall"
|
||||
|
||||
def setProperties(self, obj):
|
||||
"""Gives the wall its wall specific properties, such as its alignment.
|
||||
"""Give the wall its wall specific properties, such as its alignment.
|
||||
|
||||
You can learn more about properties here:
|
||||
https://wiki.freecadweb.org/property
|
||||
@@ -768,11 +767,11 @@ class _Wall(ArchComponent.Component):
|
||||
def execute(self,obj):
|
||||
"""Method run when the object is recomputed.
|
||||
|
||||
Extrudes the wall from the Base shape if possible. Processes additions
|
||||
and subtractions. Assigns the resulting shape as the shape of the wall.
|
||||
Extrude the wall from the Base shape if possible. Processe additions
|
||||
and subtractions. Assign the resulting shape as the shape of the wall.
|
||||
|
||||
Adds blocks if the MakeBlocks property is assigned. If the Base shape
|
||||
is a mesh, just copies the mesh.
|
||||
Add blocks if the MakeBlocks property is assigned. If the Base shape is
|
||||
a mesh, just copy the mesh.
|
||||
"""
|
||||
|
||||
if self.clone(obj):
|
||||
@@ -968,8 +967,8 @@ class _Wall(ArchComponent.Component):
|
||||
|
||||
Specifically, this method is called before the value changes.
|
||||
|
||||
If "Length" has changed, it records the old length so that .onChanged()
|
||||
can be sure that the base needs to be changed.
|
||||
If "Length" has changed, record the old length so that .onChanged() can
|
||||
be sure that the base needs to be changed.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
@@ -983,12 +982,12 @@ class _Wall(ArchComponent.Component):
|
||||
def onChanged(self, obj, prop):
|
||||
"""Method called when the object has a property changed.
|
||||
|
||||
If length has changed, will extend the length of the Base object, if
|
||||
the Base object only has a single edge to extend.
|
||||
If length has changed, extend the length of the Base object, if the
|
||||
Base object only has a single edge to extend.
|
||||
|
||||
Also hides subobjects.
|
||||
Also hide subobjects.
|
||||
|
||||
Also calls ArchComponent.Component.onChanged().
|
||||
Also call ArchComponent.Component.onChanged().
|
||||
|
||||
Parameters
|
||||
----------
|
||||
@@ -1026,7 +1025,7 @@ class _Wall(ArchComponent.Component):
|
||||
ArchComponent.Component.onChanged(self,obj,prop)
|
||||
|
||||
def getFootprint(self,obj):
|
||||
"""Gets the faces that make up the base/foot of the wall.
|
||||
"""Get the faces that make up the base/foot of the wall.
|
||||
|
||||
Returns
|
||||
-------
|
||||
@@ -1043,14 +1042,14 @@ class _Wall(ArchComponent.Component):
|
||||
return faces
|
||||
|
||||
def getExtrusionData(self,obj):
|
||||
"""Gets data needed to extrude the wall from a base object.
|
||||
"""Get data needed to extrude the wall from a base object.
|
||||
|
||||
This method takes the Base object, and finds a base face to extrude
|
||||
take the Base object, and find a base face to extrude
|
||||
out, a vector to define the extrusion direction and distance.
|
||||
|
||||
The base face is rebased to the (0,0,0) origin.
|
||||
Rebase the base face to the (0,0,0) origin.
|
||||
|
||||
The base face is returned, rebased, with the extrusion vector, and the
|
||||
Return the base face, rebased, with the extrusion vector, and the
|
||||
<Base.Placement> needed to return the face back to its original
|
||||
position.
|
||||
|
||||
@@ -1510,9 +1509,9 @@ class _ViewProviderWall(ArchComponent.ViewProviderComponent):
|
||||
vobj.ShapeColor = ArchCommands.getDefaultColor("Wall")
|
||||
|
||||
def getIcon(self):
|
||||
"""Returns the path to the appropriate icon.
|
||||
"""Return the path to the appropriate icon.
|
||||
|
||||
If a clone, returns the cloned wall icon path. Otherwise returns the
|
||||
If a clone, return the cloned wall icon path. Otherwise return the
|
||||
Arch wall icon.
|
||||
|
||||
Returns
|
||||
@@ -1530,9 +1529,9 @@ class _ViewProviderWall(ArchComponent.ViewProviderComponent):
|
||||
return ":/icons/Arch_Wall_Tree.svg"
|
||||
|
||||
def attach(self,vobj):
|
||||
"""Adds display modes' data to the coin scenegraph.
|
||||
"""Add display modes' data to the coin scenegraph.
|
||||
|
||||
Adds each display mode as a coin node, whose parent is this view
|
||||
Add each display mode as a coin node, whose parent is this view
|
||||
provider.
|
||||
|
||||
Each display mode's node includes the data needed to display the object
|
||||
@@ -1540,7 +1539,7 @@ class _ViewProviderWall(ArchComponent.ViewProviderComponent):
|
||||
lines. This data is stored as additional coin nodes which are children
|
||||
of the display mode node.
|
||||
|
||||
Adds the textures used in the Footprint display mode.
|
||||
Add the textures used in the Footprint display mode.
|
||||
"""
|
||||
|
||||
self.Object = vobj.Object
|
||||
@@ -1567,7 +1566,7 @@ class _ViewProviderWall(ArchComponent.ViewProviderComponent):
|
||||
"""Method called when the host object has a property changed.
|
||||
|
||||
If the host object's Placement, Shape, or Material has changed, and the
|
||||
host object has a Material assigned, gives the shape the color and
|
||||
host object has a Material assigned, give the shape the color and
|
||||
transparency of the Material.
|
||||
|
||||
Parameters
|
||||
@@ -1603,10 +1602,10 @@ class _ViewProviderWall(ArchComponent.ViewProviderComponent):
|
||||
obj.ViewObject.DiffuseColor = obj.ViewObject.DiffuseColor
|
||||
|
||||
def getDisplayModes(self,vobj):
|
||||
"""Defines the display modes unique to the Arch Wall.
|
||||
"""Define the display modes unique to the Arch Wall.
|
||||
|
||||
Defines mode Footprint, which only displays the footprint of the wall.
|
||||
Also adds the display modes of the Arch Component.
|
||||
Define mode Footprint, which only displays the footprint of the wall.
|
||||
Also add the display modes of the Arch Component.
|
||||
|
||||
Returns
|
||||
-------
|
||||
@@ -1623,11 +1622,11 @@ class _ViewProviderWall(ArchComponent.ViewProviderComponent):
|
||||
Called when the display mode changes, this method can be used to set
|
||||
data that wasn't available when .attach() was called.
|
||||
|
||||
When Footprint is set as display mode, finds the faces that make up the
|
||||
footprint of the wall, and gives them a lined texture. Then displays
|
||||
When Footprint is set as display mode, find the faces that make up the
|
||||
footprint of the wall, and give them a lined texture. Then display
|
||||
the wall as a wireframe.
|
||||
|
||||
Then passes the displaymode onto Arch Component's .setDisplayMode().
|
||||
Then pass the displaymode onto Arch Component's .setDisplayMode().
|
||||
|
||||
Parameters
|
||||
----------
|
||||
|
||||
Reference in New Issue
Block a user