Rewrote the function and method docstrings in an imperative style.

This commit is contained in:
David Daish
2020-04-19 18:22:55 +12:00
committed by Yorik van Havre
parent d7137fbb67
commit e46ca0b967
6 changed files with 307 additions and 322 deletions

View File

@@ -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
----------

View File

@@ -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

View File

@@ -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
-------

View File

@@ -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
-------

View File

@@ -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:

View File

@@ -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
----------