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