Public Member Functions | |
| def | applyShape (self, obj, shape, placement, allowinvalid=False, allownosolid=False) |
| def | clone (self, obj) |
| def | computeAreas (self, obj) |
| def | execute (self, obj) |
| def | getExtrusionData (self, obj) |
| def | getHosts (self, obj) |
| def | getMovableChildren (self, obj) |
| def | getParentHeight (self, obj) |
| def | getSiblings (self, obj) |
| def | hideSubobjects (self, obj, prop) |
| def | isIdentity (self, placement) |
| def | isStandardCase (self, obj) |
| def | onBeforeChange (self, obj, prop) |
| def | onChanged (self, obj, prop) |
| def | onDocumentRestored (self, obj) |
| def | processSubShapes (self, obj, base, placement=None) |
| def | rebase (self, shape, hint=None) |
| def | setProperties (self, obj) |
| def | spread (self, obj, shape, placement=None) |
Public Member Functions inherited from ArchIFC.IfcProduct | |
| def | getIfcSchema (self) |
Public Member Functions inherited from ArchIFC.IfcRoot | |
| def | addIfcAttribute (self, obj, attribute) |
| def | addIfcAttributes (self, ifcTypeSchema, obj) |
| def | addIfcAttributeValueExpressions (self, obj, attribute) |
| def | getCanonicalisedIfcTypes (self) |
| def | getIfcAttributeSchema (self, ifcTypeSchema, name) |
| def | getIfcSchema (self) |
| def | getIfcTypeSchema (self, IfcType) |
| def | getObjIfcComplexAttribute (self, obj, attributeName) |
| def | migrateDeprecatedAttributes (self, obj) |
| def | onChanged (self, obj, prop) |
| def | purgeUnusedIfcAttributesFromPropertiesList (self, ifcTypeSchema, obj) |
| def | setObjIfcAttributeValue (self, obj, attributeName, value) |
| def | setObjIfcComplexAttributeValue (self, obj, attributeName, value) |
| def | setProperties (self, obj) |
| def | setupIfcAttributes (self, obj) |
| def | setupIfcComplexAttributes (self, obj) |
Public Attributes | |
| flatarea | |
| oldPlacement | |
| Subvolume | |
| Type | |
The Arch Component object.
Acts as a base for all other Arch objects, such as Arch walls and Arch
structures. Its properties and behaviours are common to all Arch objects.
You can learn more about Arch Components, and the purpose of Arch
Components here: https://wiki.freecadweb.org/Arch_Component
Parameters
----------
obj: <App::FeaturePython>
The object to turn into an Arch Component
| def ArchComponent.Component.applyShape | ( | self, | |
| obj, | |||
| shape, | |||
| placement, | |||
allowinvalid = False, |
|||
allownosolid = False |
|||
| ) |
Check the given shape, then assign it to the object.
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().
Set the object's Shape and Placement to the values given, if
successful.
Finally, run .computeAreas() method, to calculate the horizontal and
vertical area of the shape.
Parameters
----------
obj: <App::FeaturePython>
The component object.
shape: <Part.Shape>
The shape to check and apply to the object.
placement: <Base.Placement>
The placement to apply to the object.
allowinvalid: bool, optional
Whether to allow invalid shapes, or to throw an error.
allownosolid: bool, optional
Whether to allow non-solid shapes, or to throw an error.
References ArchComponent.Component.computeAreas(), ArchEquipment._Equipment.computeAreas(), ArchRoof._Roof.computeAreas(), ArchSite._Site.computeAreas(), ArchWindow._Window.computeAreas(), Base::Placement.isIdentity(), Base::Rotation.isIdentity(), ArchComponent.Component.isIdentity(), and ArchComponent.Component.spread().
Referenced by ArchStructure.CommandStructuralSystem.Activated(), and ArchTruss.Truss.execute().
| def ArchComponent.Component.clone | ( | self, | |
| obj | |||
| ) |
If the object is a clone, copy the shape.
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".
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".
Parameters
----------
obj: <App::FeaturePython>
The component object.
Returns
-------
bool
True if the copy occurs, False if otherwise.
Referenced by ArchPanel.CommandPanelSheet.Activated(), ArchStructure.CommandStructuralSystem.Activated(), ArchComponent.Component.execute(), ArchCurtainWall.CurtainWall.execute(), ArchTruss.Truss.execute(), Mod.PartDesign.WizardShaft.SegmentFunction.SegmentFunction.integrated(), and PathTests.TestPathHelix.TestPathHelix.test04().
| def ArchComponent.Component.computeAreas | ( | self, | |
| obj | |||
| ) |
Compute the area properties of the object's shape.
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
ground.
The horizontal area is the area of the shape, when projected onto a
hyperplane across the XY axes, IE: the area when viewed from a bird's
eye view.
The perimeter length is the length of the outside edges of this bird's
eye view.
Assign these values to the object's "VerticalArea", "HorizontalArea",
and "PerimeterLength" properties.
Parameters
----------
obj: <App::FeaturePython>
The component object.
Referenced by ArchComponent.Component.applyShape(), ArchSite.Compass.buildCoordinates(), and ArchRoof.makeRoof().
| def ArchComponent.Component.execute | ( | self, | |
| obj | |||
| ) |
Method run when the object is recomputed.
If the object is a clone, just copy the shape it's cloned from.
Process subshapes of the object to add additions, and subtract
subtractions from the object's shape.
Parameters
----------
obj: <App::FeaturePython>
The component object.
Reimplemented in ArchCurtainWall.CurtainWall, and ArchTruss.Truss.
References Gui::ViewProviderIndex.clone(), zipios::BasicEntry.clone(), zipios::CollectionCollection.clone(), zipios::DirectoryCollection.clone(), zipios::ZipFile.clone(), zipios::ZipLocalEntry.clone(), zipios::ZipCDirEntry.clone(), zipios::FileCollection.clone(), zipios::FileEntry.clone(), Mod.PartDesign.WizardShaft.SegmentFunction.SegmentFunctionSegment.clone(), Mod.PartDesign.WizardShaft.SegmentFunction.SegmentFunction.clone(), ArchComponent.Component.clone(), Part::Geometry.clone(), Part::Geom2dPoint.clone(), Part::Geom2dBezierCurve.clone(), Part::Geom2dBSplineCurve.clone(), Part::Geom2dCircle.clone(), Part::Geom2dArcOfCircle.clone(), Part::Geom2dEllipse.clone(), Part::Geom2dArcOfEllipse.clone(), Part::Geom2dHyperbola.clone(), Part::Geom2dArcOfHyperbola.clone(), Part::Geom2dParabola.clone(), Part::Geom2dArcOfParabola.clone(), Part::Geom2dLine.clone(), Part::Geom2dLineSegment.clone(), Part::Geom2dOffsetCurve.clone(), Part::Geom2dTrimmedCurve.clone(), Sketcher::Constraint.clone(), Sketcher::ExternalGeometryFacade.clone(), Sketcher::GeometryFacade.clone(), TechDraw::CosmeticVertex.clone(), TechDraw::CosmeticEdge.clone(), TechDraw::CenterLine.clone(), TechDraw::GeomFormat.clone(), Part::Geometry2d.clone(), Part::Geom2dConic.clone(), Part::Geom2dArcOfConic.clone(), PathTests.TestPathHelix.TestPathHelix.clone, ArchComponent.Component.processSubShapes(), ArchComponent.Component.spread(), App::FeaturePythonPyT< FeaturePyT >.Type, App::Part.Type, App::PropertyData::PropertySpec.Type, Base::PyObjectBase.Type, Base::Type.Type(), Py::Type.Type(), Gui::SelectionChanges.Type, ArchAxis._Axis.Type, ArchAxisSystem._AxisSystem.Type, ArchBuilding._Building.Type, ArchBuildingPart.BuildingPart.Type, ArchComponent.Component.Type, ArchEquipment._Equipment.Type, ArchFence._Fence.Type, ArchFloor._Floor.Type, ArchFrame._Frame.Type, ArchGrid.ArchGrid.Type, ArchMaterial._ArchMaterialContainer.Type, ArchMaterial._ArchMaterial.Type, ArchMaterial._ArchMultiMaterial.Type, ArchPanel._Panel.Type, ArchPanel.PanelView.Type, ArchPanel.PanelCut.Type, ArchPanel.PanelSheet.Type, ArchPipe._ArchPipe.Type, ArchPipe._ArchPipeConnector.Type, ArchPrecast._Precast.Type, ArchProject._Project.Type, ArchRebar._Rebar.Type, ArchReference.ArchReference.Type, ArchRoof._Roof.Type, ArchSchedule._ArchSchedule.Type, ArchSectionPlane._SectionPlane.Type, ArchSectionPlane._ArchDrawingView.Type, ArchSite._Site.Type, ArchSpace._Space.Type, ArchStairs._Stairs.Type, ArchStructure._Structure.Type, ArchStructure._StructuralSystem.Type, ArchTruss.Truss.Type, ArchWall._Wall.Type, ArchWindow._Window.Type, draftobjects.base.DraftObject.Type, draftobjects.draft_annotation.DraftAnnotation.Type, draftobjects.hatch.Hatch.Type, draftobjects.layer.Layer.Type, draftobjects.layer.LayerContainer.Type, draftobjects.wpproxy.WorkingPlaneProxy.Type, femobjects.constant_vacuumpermittivity.ConstantVacuumPermittivity.Type, femobjects.constraint_bodyheatsource.ConstraintBodyHeatSource.Type, femobjects.constraint_centrif.ConstraintCentrif.Type, femobjects.constraint_electrostaticpotential.ConstraintElectrostaticPotential.Type, femobjects.constraint_flowvelocity.ConstraintFlowVelocity.Type, femobjects.constraint_initialflowvelocity.ConstraintInitialFlowVelocity.Type, femobjects.constraint_sectionprint.ConstraintSectionPrint.Type, femobjects.constraint_selfweight.ConstraintSelfWeight.Type, femobjects.constraint_tie.ConstraintTie.Type, femobjects.element_fluid1D.ElementFluid1D.Type, femobjects.element_geometry1D.ElementGeometry1D.Type, femobjects.element_geometry2D.ElementGeometry2D.Type, femobjects.element_rotation1D.ElementRotation1D.Type, femobjects.material_common.MaterialCommon.Type, femobjects.material_mechanicalnonlinear.MaterialMechanicalNonlinear.Type, femobjects.material_reinforced.MaterialReinforced.Type, femobjects.mesh_boundarylayer.MeshBoundaryLayer.Type, femobjects.mesh_gmsh.MeshGmsh.Type, femobjects.mesh_group.MeshGroup.Type, femobjects.mesh_region.MeshRegion.Type, femobjects.mesh_result.MeshResult.Type, femobjects.result_mechanical.ResultMechanical.Type, femobjects.solver_ccxtools.SolverCcxTools.Type, femsolver.calculix.solver.Proxy.Type, femsolver.elmer.equations.elasticity.Proxy.Type, femsolver.elmer.equations.electricforce.Proxy.Type, femsolver.elmer.equations.electrostatic.Proxy.Type, femsolver.elmer.equations.flow.Proxy.Type, femsolver.elmer.equations.flux.Proxy.Type, femsolver.elmer.equations.heat.Proxy.Type, femsolver.elmer.solver.Proxy.Type, femsolver.mystran.solver.Proxy.Type, femsolver.z88.solver.Proxy.Type, FemGui::FemSelectionGate.Type, Import::FeatureImportIges.Type(), Import::FeatureImportStep.Type(), BOPTools.JoinFeatures.FeatureConnect.Type, BOPTools.JoinFeatures.FeatureEmbed.Type, BOPTools.JoinFeatures.FeatureCutout.Type, BOPTools.SplitFeatures.FeatureBooleanFragments.Type, BOPTools.SplitFeatures.FeatureSlice.Type, BOPTools.SplitFeatures.FeatureXOR.Type, CompoundTools.CompoundFilter._CompoundFilter.Type, JoinFeatures._PartJoinFeature.Type, PartDesign::Boolean.Type, PartDesign::FeatureExtrude.Type, Mod.PartDesign.InvoluteGearFeature._InvoluteGear.Type, Mod.PartDesign.SprocketFeature.Sprocket.Type, Path::Tool.Type, Robot::Waypoint.Type, Sketcher::ConstraintIds.Type, Sketcher::Constraint.Type, SketcherGui::AutoConstraint.Type, Spreadsheet_legacy.Spreadsheet.Type, Spreadsheet_legacy.SpreadsheetController.Type, Spreadsheet_legacy.SpreadsheetPropertyController.Type, TechDraw::DrawProjGroupItem.Type, TechDraw::DrawViewDimension.Type, TechDrawGui::QGCustomBorder.Type, TechDrawGui::QGCustomClip.Type, TechDrawGui::QGCustomImage.Type, TechDrawGui::QGCustomLabel.Type, TechDrawGui::QGCustomRect.Type, TechDrawGui::QGCustomSvg.Type, TechDrawGui::QGCustomText.Type, TechDrawGui::QGDisplayArea.Type, TechDrawGui::QGMarker.Type, TechDrawGui::QGEPath.Type, TechDrawGui::QGIArrow.Type, TechDrawGui::QGICaption.Type, TechDrawGui::QGICenterLine.Type, TechDrawGui::QGICMark.Type, TechDrawGui::QGIDecoration.Type, TechDrawGui::QGIDimLines.Type, TechDrawGui::QGIDrawingTemplate.Type, TechDrawGui::QGIEdge.Type, TechDrawGui::QGIFace.Type, TechDrawGui::QGIGhostHighlight.Type, TechDrawGui::QGIHighlight.Type, TechDrawGui::QGILeaderLine.Type, TechDrawGui::QGIMatting.Type, TechDrawGui::QGIPrimPath.Type, TechDrawGui::QGIProjGroup.Type, TechDrawGui::QGIRichAnno.Type, TechDrawGui::QGISectionLine.Type, TechDrawGui::QGISVGTemplate.Type, TechDrawGui::QGITemplate.Type, TechDrawGui::QGITile.Type, TechDrawGui::QGIVertex.Type, TechDrawGui::QGIView.Type, TechDrawGui::QGIViewAnnotation.Type, TechDrawGui::QGIBalloonLabel.Type, TechDrawGui::QGIViewBalloon.Type, TechDrawGui::QGIViewClip.Type, TechDrawGui::QGIViewCollection.Type, TechDrawGui::QGIDatumLabel.Type, TechDrawGui::QGIViewDimension.Type, TechDrawGui::QGIViewImage.Type, TechDrawGui::QGIViewPart.Type, TechDrawGui::QGIViewSection.Type, TechDrawGui::QGIViewSpreadsheet.Type, TechDrawGui::QGIViewSymbol.Type, TechDrawGui::QGIWeldSymbol.Type, TechDrawGui::QGMText.Type, TechDrawGui::QGTracker.Type, TechDrawGui::TemplateTextField.Type, DocumentObject.DocumentObject.Type(), and DocumentObject.ViewProvider.Type().
Referenced by draftobjects.facebinder.Facebinder.addSubobjects(), PathScripts.PathDressupDogbone.ObjectDressup.boneStateList(), ArchSite.Compass.buildCoordinates(), PathScripts.PathDressupHoldingTags.ObjectTagDressup.generateTags(), ArchPanel.PanelCut.getWires(), ArchSchedule.CommandArchSchedule.IsActive(), Mod.PartDesign.Scripts.DistanceBolt.DistanceBolt.onChanged(), Mod.PartDesign.Scripts.Epitrochoid.Epitrochoid.onChanged(), Mod.PartDesign.Scripts.Parallelepiped.Parallelepiped.onChanged(), Mod.PartDesign.Scripts.Parallelepiped.BoxCylinder.onChanged(), Mod.PartDesign.Scripts.Spring.MySpring.onChanged(), FeaturePython.DistanceBolt.onChanged(), PathScripts.PathStock.StockFromBase.onChanged(), PathScripts.PathStock.StockCreateBox.onChanged(), PathScripts.PathStock.StockCreateCylinder.onChanged(), draftobjects.draftlink.DraftLink.onDocumentRestored(), draftobjects.patharray.PathArray.onDocumentRestored(), and draftobjects.pathtwistedarray.PathTwistedArray.onDocumentRestored().
| def ArchComponent.Component.getExtrusionData | ( | self, | |
| obj | |||
| ) |
Get the object's extrusion data.
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, 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. Return this data as a tuple.
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.
Parameters
----------
obj: <App::FeaturePython>
The component object.
Returns
-------
tuple
Tuple containing:
1) The <Part.Face> the object was extruded from.
2) The <Base.Vector> of the extrusion.
3) The <Base.Placement> of the extrusion.
References ArchCommands.getExtrusionData(), Base::Placement.isIdentity(), Base::Rotation.isIdentity(), ArchComponent.Component.isIdentity(), and ArchComponent.Component.rebase().
Referenced by ArchStructure.CommandStructuralSystem.Activated(), and ArchWall.areSameWallTypes().
| def ArchComponent.Component.getHosts | ( | self, | |
| obj | |||
| ) |
Return the objects that have this one as host,
that is, objects with a "Host" property pointing
at this object, or a "Hosts" property containing
this one.
Returns
-------
list of <Arch._Structure>
The Arch Structures hosting this component.
| def ArchComponent.Component.getMovableChildren | ( | self, | |
| obj | |||
| ) |
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
"Hosts" properties. Objects are set to move with their host via the
MoveWithHost property.
Parameters
----------
obj: <App::FeaturePython>
The component object.
Returns
-------
list of <App::FeaturePython>
List of child objects set to move with their host.
Referenced by ArchComponent.Component.onChanged().
| def ArchComponent.Component.getParentHeight | ( | self, | |
| obj | |||
| ) |
Get a height value from hosts.
Recursively crawl hosts until a Floor or BuildingPart is found, then
return the value of its Height property.
Parameters
---------
obj: <App::FeaturePython>
The component object.
Returns
-------
<App::PropertyLength>
The Height value of the found Floor or BuildingPart.
References ArchComponent.Component.getParentHeight().
Referenced by ArchStructure.CommandStructuralSystem.Activated(), and ArchComponent.Component.getParentHeight().
| def ArchComponent.Component.getSiblings | ( | self, | |
| obj | |||
| ) |
Find objects that have the same Base object, and type.
Look to base object, and find other objects that are based off this
base object. If these objects are the same type, return them.
Parameters
----------
obj: <App::FeaturePython>
The component object.
Returns
-------
list of <App::FeaturePython>
List of objects that have the same Base and type as this component.
| def ArchComponent.Component.hideSubobjects | ( | self, | |
| obj, | |||
| prop | |||
| ) |
Hides Additions and Subtractions of this Component when that list changes.
Intended to be used in conjunction with the .onChanged() method, to
access the property that has changed.
When an object loses or gains an Addition, this method hides all
Additions. When it gains or loses a Subtraction, this method hides all
Subtractions.
Does not effect objects of type Window, or clones of Windows.
Parameters
----------
obj: <App::FeaturePython>
The component object.
prop: string
The name of the property that has changed.
References ArchComponent.Component.onChanged().
Referenced by ArchStructure.CommandStructuralSystem.Activated().
| def ArchComponent.Component.isIdentity | ( | self, | |
| placement | |||
| ) |
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.
Parameters
----------
placement: <Base.Placement>
The placement to examine.
Returns
-------
bool
Returns true if angle and displacement are almost zero, false it
otherwise.
Referenced by ArchComponent.Component.applyShape(), ArchComponent.Component.getExtrusionData(), and ArchComponent.Component.processSubShapes().
| def ArchComponent.Component.isStandardCase | ( | self, | |
| obj | |||
| ) |
Determine if the component is a standard case of its IFC type.
Not all IFC types have a standard case.
If an object is a standard case or not varies between the different
types. Each type has its own rules to define what is a standard case.
Rotated objects, or objects with Additions or Subtractions are not
standard cases.
All objects whose IfcType is suffixed with the string " Sandard Case"
are automatically a standard case.
Parameters
----------
obj: <App::FeaturePython>
The component object.
Returns
-------
bool
Whether the object is a standard case or not.
| def ArchComponent.Component.onBeforeChange | ( | self, | |
| obj, | |||
| prop | |||
| ) |
Method called before the object has a property changed.
Specifically, this method is called before the value changes.
If "Placement" has changed, record the old placement, so that
.onChanged() can compare between the old and new placement, and move
its children accordingly.
Parameters
----------
obj: <App::FeaturePython>
The component object.
prop: string
The name of the property that has changed.
References ArchComponent.Component.onChanged().
Referenced by ArchWall.areSameWallTypes(), and PathScripts.PathGui.QuantitySpinBox.updateProperty().
| def ArchComponent.Component.onChanged | ( | self, | |
| obj, | |||
| prop | |||
| ) |
Method called when the object has a property changed.
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 call ArchIFC.IfcProduct.onChanged().
Parameters
----------
obj: <App::FeaturePython>
The component object.
prop: string
The name of the property that has changed.
Reimplemented from ArchIFC.IfcRoot.
Reimplemented in ArchCurtainWall.CurtainWall, and ArchTruss.Truss.
References ArchComponent.Component.getMovableChildren(), ArchBuildingPart.BuildingPart.oldPlacement, ArchComponent.Component.oldPlacement, and DraftVecUtils.tup().
Referenced by ArchStructure.CommandStructuralSystem.Activated(), ArchWall.areSameWallTypes(), draftviewproviders.view_base.ViewProviderDraft.attach(), ArchSite.Compass.buildCoordinates(), ArchEquipment.createMeshView(), draftobjects.wire.Wire.execute(), ArchComponent.Component.hideSubobjects(), ArchComponent.Component.onBeforeChange(), ArchCurtainWall.CurtainWall.onChanged(), ArchTruss.Truss.onChanged(), ArchWindow.recolorize(), ArchSpace.removeSpaceBoundaries(), ArchBuildingPart.ViewProviderBuildingPart.updateData(), ArchPanel.ViewProviderPanelCut.updateData(), ArchPanel.ViewProviderPanelSheet.updateData(), draftviewproviders.view_label.ViewProviderLabel.updateData(), draftviewproviders.view_layer.ViewProviderLayer.updateData(), and draftviewproviders.view_wpproxy.ViewProviderWorkingPlaneProxy.updateData().
| def ArchComponent.Component.onDocumentRestored | ( | self, | |
| obj | |||
| ) |
Method run when the document is restored. Re-add the Arch component properties.
Parameters
----------
obj: <App::FeaturePython>
The component object.
Reimplemented in ArchCurtainWall.CurtainWall, and ArchTruss.Truss.
Referenced by ArchPanel.CommandPanelSheet.Activated(), ArchStructure.CommandStructuralSystem.Activated(), ArchWall.areSameWallTypes(), ArchEquipment.createMeshView(), ArchFrame.makeFrame(), ArchPipe.makePipeConnector(), ArchStairs.makeRailing(), ArchRebar.makeRebar(), ArchRoof.makeRoof(), ArchCurtainWall.CurtainWall.onDocumentRestored(), ArchTruss.Truss.onDocumentRestored(), ArchWindow.recolorize(), and ArchSpace.removeSpaceBoundaries().
| def ArchComponent.Component.processSubShapes | ( | self, | |
| obj, | |||
| base, | |||
placement = None |
|||
| ) |
Add Additions and Subtractions to a base shape.
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, 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.
Parameters
----------
obj: <App::FeaturePython>
The component object.
base: <Part.Shape>, optional
The base shape to add Additions and Subtractions to.
placement: <Base.Placement>, optional
Prior to adding or subtracting subshapes, the <Base.Placement> of
the subshapes are multiplied by the inverse of this parameter.
Returns
-------
<Part.Shape>
The base shape, with the additions and subtractions performed.
References Base::Placement.isIdentity(), Base::Rotation.isIdentity(), ArchComponent.Component.isIdentity(), and ArchWall.mergeShapes().
Referenced by ArchPanel.CommandPanelSheet.Activated(), ArchStructure.CommandStructuralSystem.Activated(), ArchStructure.StructSelectionObserver.addSelection(), ArchComponent.Component.execute(), and ArchTruss.Truss.execute().
| def ArchComponent.Component.rebase | ( | self, | |
| shape, | |||
hint = None |
|||
| ) |
Copy a shape to the (0,0,0) origin.
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.
Return the copy of the shape, and the <Base.Placement> needed to move
the copy back to its original location/orientation.
Parameters
----------
shape: <Part.Shape>
The shape to copy.
hint: <Base.Vector>, optional
If the angle between the normal vector of the shape, and the hint
vector is greater than 90 degrees, the normal will be reversed
before being rotated.
Referenced by ArchStructure.CommandStructuralSystem.Activated(), ArchComponent.Component.getExtrusionData(), and exportIFC.getRepresentation().
| def ArchComponent.Component.setProperties | ( | self, | |
| obj | |||
| ) |
Give the component its component specific properties, such as material. You can learn more about properties here: https://wiki.freecadweb.org/property
Reimplemented from ArchIFC.IfcRoot.
Reimplemented in ArchCurtainWall.CurtainWall, and ArchTruss.Truss.
References draftutils.translate.QT_TRANSLATE_NOOP.
Referenced by ArchPanel.CommandPanelSheet.Activated(), ArchStructure.CommandStructuralSystem.Activated(), ArchSite.Compass.buildCoordinates(), ArchSchedule.CommandArchSchedule.IsActive(), ArchBuildingPart.BuildingPart.onDocumentRestored(), ArchCurtainWall.CurtainWall.onDocumentRestored(), ArchGrid.ArchGrid.onDocumentRestored(), ArchPanel.PanelView.onDocumentRestored(), ArchPanel.PanelCut.onDocumentRestored(), ArchPanel.PanelSheet.onDocumentRestored(), ArchTruss.Truss.onDocumentRestored(), draftobjects.hatch.Hatch.onDocumentRestored(), draftobjects.shape2dview.Shape2DView.onDocumentRestored(), ArchBuildingPart.ViewProviderBuildingPart.onDocumentRestored(), ArchPanel.ViewProviderPanelCut.onDocumentRestored(), and ArchPanel.ViewProviderPanelSheet.onDocumentRestored().
| def ArchComponent.Component.spread | ( | self, | |
| obj, | |||
| shape, | |||
placement = None |
|||
| ) |
Copy the object to its Axis's points.
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, return the original shape
unchanged.
Parameters
----------
obj: <App::FeaturePython>
The component object.
shape: <Part.Shape>
The shape to copy.
placement:
Does nothing.
Returns
-------
<Part.Shape>
The shape, either spread to the axis points, or unchanged.
Referenced by ArchComponent.Component.applyShape(), and ArchComponent.Component.execute().
| ArchComponent.Component.flatarea |
Referenced by ArchSite.Compass.buildCoordinates().
| ArchComponent.Component.oldPlacement |
Referenced by ArchComponent.Component.onChanged().
| ArchComponent.Component.Subvolume |
| ArchComponent.Component.Type |
Referenced by ArchPanel.CommandPanelSheet.Activated(), ArchStructure.CommandStructuralSystem.Activated(), draftobjects.draft_annotation.DraftAnnotation.add_missing_properties_0v19(), ArchStructure.StructSelectionObserver.addSelection(), ArchSite.Compass.buildCoordinates(), ArchComponent.Component.execute(), draftobjects.layer.LayerContainer.execute(), ArchSchedule.CommandArchSchedule.IsActive(), draftobjects.layer.Layer.set_properties(), and ArchReference.ArchReference.setProperties().