Public Member Functions | |
def | applyInverseAngle (self, obj, clnBase, clnStock, axis, angle) |
def | applyRotationalAnalysis (self, obj, base, angle, axis, subCount) |
def | areaOpAreaParams (self, obj, isHole) |
def | areaOpFeatures (self, obj) |
def | areaOpOnChanged (self, obj, prop) |
def | areaOpOnDocumentRestored (self, obj) |
def | areaOpPathParams (self, obj, isHole) |
def | areaOpRetractTool (self, obj) |
def | areaOpSetDefaultValues (self, obj, job) |
def | areaOpShapeForDepths (self, obj, job) |
def | areaOpShapes (self, obj) |
def | areaOpUseProjection (self, obj) |
def | cloneBaseAndStock (self, obj, base, angle, axis, subCount) |
def | faceRotationAnalysis (self, obj, norm, surf) |
def | getFaceNormAndSurf (self, face) |
def | guiMessage (self, title, msg, show=False) |
def | initAreaOp (self, obj) |
def | initOperation (self, obj) |
def | isFaceUp (self, base, face) |
def | opDetermineRotationRadii (self, obj) |
def | opExecute (self, obj, getsim=False) |
def | opFeatures (self, obj) |
def | opOnChanged (self, obj, prop) |
def | opOnDocumentRestored (self, obj) |
def | opSetDefaultValues (self, obj, job) |
def | setupAdditionalProperties (self, obj) |
def | sortTuplesByIndex (self, TupleList, tagIdx) |
def | useTempJobClones (self, cloneName) |
def | visualAxis (self) |
def | warnDisabledAxis (self, obj, axis, sub='') |
Public Member Functions inherited from PathScripts.PathOp.ObjectOp | |
def | addBase (self, obj, base, sub) |
def | addBaseProperty (self, obj) |
def | addOpValues (self, obj, values) |
def | applyExpression (self, obj, prop, expr) |
def | execute (self, obj) |
def | getCycleTimeEstimate (self, obj) |
def | getJob (self, obj) |
def | onChanged (self, obj, prop) |
def | onDocumentRestored (self, obj) |
def | opExecute (self, obj) |
def | opRejectAddBase (self, obj, base, sub) |
def | opUpdateDepths (self, obj) |
def | setDefaultValues (self, obj) |
def | setEditorModes (self, obj, features) |
def | updateDepths (self, obj, ignoreErrors=False) |
Public Attributes | |
axialFeed | |
axialRapid | |
cloneNames | |
depthparams | |
endVector | |
guiMsgs | |
initWithRotation | |
leadIn | |
rotateFlag | |
rotStartDepth | |
stockBB | |
tempObjectNames | |
Public Attributes inherited from PathScripts.PathOp.ObjectOp | |
addNewProps | |
commandlist | |
horizFeed | |
horizRapid | |
job | |
model | |
radius | |
stock | |
tool | |
vertFeed | |
vertRapid | |
Detailed Description
Base class for all Path.Area based operations. Provides standard features including debugging properties AreaParams, PathParams and removalshape, all hidden. The main reason for existence is to implement the standard interface to Path.Area so subclasses only have to provide the shapes for the operations.
Member Function Documentation
◆ applyInverseAngle()
def PathScripts.PathAreaOp.ObjectOp.applyInverseAngle | ( | self, | |
obj, | |||
clnBase, | |||
clnStock, | |||
axis, | |||
angle | |||
) |
applyInverseAngle(obj, clnBase, clnStock, axis, angle) Apply rotations to incoming base and stock objects.
◆ applyRotationalAnalysis()
def PathScripts.PathAreaOp.ObjectOp.applyRotationalAnalysis | ( | self, | |
obj, | |||
base, | |||
angle, | |||
axis, | |||
subCount | |||
) |
applyRotationalAnalysis(obj, base, angle, axis, subCount) Create temp clone and stock and apply rotation to both. Return new rotated clones
References PathScripts.PathAreaOp.ObjectOp.cloneBaseAndStock().
◆ areaOpAreaParams()
def PathScripts.PathAreaOp.ObjectOp.areaOpAreaParams | ( | self, | |
obj, | |||
isHole | |||
) |
areaOpAreaParams(obj, isHole) ... return operation specific area parameters in a dictionary. Note that the resulting parameters are stored in the property AreaParams. Must be overwritten by subclasses.
Reimplemented in PathScripts.PathProfile.ObjectProfile, and PathScripts.PathPocketBase.ObjectPocket.
Referenced by PathScripts.PathAreaOp.ObjectOp.areaOpSetDefaultValues().
◆ areaOpFeatures()
def PathScripts.PathAreaOp.ObjectOp.areaOpFeatures | ( | self, | |
obj | |||
) |
areaOpFeatures(obj) ... overwrite to add operation specific features. Can safely be overwritten by subclasses.
Reimplemented in PathScripts.PathPocketShape.ObjectPocket, PathScripts.PathProfile.ObjectProfile, and PathScripts.PathPocketBase.ObjectPocket.
Referenced by PathScripts.PathAreaOp.ObjectOp.opFeatures().
◆ areaOpOnChanged()
def PathScripts.PathAreaOp.ObjectOp.areaOpOnChanged | ( | self, | |
obj, | |||
prop | |||
) |
areaOpOnChanged(obj, porp) ... overwrite to process operation specific changes to properties. Can safely be overwritten by subclasses.
Reimplemented in PathScripts.PathPocketShape.ObjectPocket, PathScripts.PathProfile.ObjectProfile, and PathScripts.PathMillFace.ObjectFace.
Referenced by PathScripts.PathAreaOp.ObjectOp.opOnChanged().
◆ areaOpOnDocumentRestored()
def PathScripts.PathAreaOp.ObjectOp.areaOpOnDocumentRestored | ( | self, | |
obj | |||
) |
areaOpOnDocumentRestored(obj) ... overwrite to fully restore receiver
Reimplemented in PathScripts.PathPocketShape.ObjectPocket, and PathScripts.PathProfile.ObjectProfile.
Referenced by PathScripts.PathAreaOp.ObjectOp.opOnDocumentRestored().
◆ areaOpPathParams()
def PathScripts.PathAreaOp.ObjectOp.areaOpPathParams | ( | self, | |
obj, | |||
isHole | |||
) |
areaOpPathParams(obj, isHole) ... return operation specific path parameters in a dictionary. Note that the resulting parameters are stored in the property PathParams. Must be overwritten by subclasses.
Reimplemented in PathScripts.PathProfile.ObjectProfile, and PathScripts.PathPocketBase.ObjectPocket.
Referenced by PathScripts.PathAreaOp.ObjectOp.areaOpSetDefaultValues().
◆ areaOpRetractTool()
def PathScripts.PathAreaOp.ObjectOp.areaOpRetractTool | ( | self, | |
obj | |||
) |
areaOpRetractTool(obj) ... return False to keep the tool at current level between shapes. Default is True.
Reimplemented in PathScripts.PathPocketBase.ObjectPocket.
Referenced by PathScripts.PathAreaOp.ObjectOp.areaOpSetDefaultValues().
◆ areaOpSetDefaultValues()
def PathScripts.PathAreaOp.ObjectOp.areaOpSetDefaultValues | ( | self, | |
obj, | |||
job | |||
) |
areaOpSetDefaultValues(obj, job) ... overwrite to set initial values of operation specific properties. Can safely be overwritten by subclasses.
Reimplemented in PathScripts.PathPocketShape.ObjectPocket, PathScripts.PathMillFace.ObjectFace, PathScripts.PathPocket.ObjectPocket, and PathScripts.PathProfile.ObjectProfile.
References PathScripts.PathAreaOp.ObjectOp.areaOpAreaParams(), PathScripts.PathAreaOp.ObjectOp.areaOpPathParams(), PathScripts.PathAreaOp.ObjectOp.areaOpRetractTool(), PathScripts.PathAreaOp.ObjectOp.areaOpUseProjection(), PathScripts.PathAreaOp.ObjectOp.depthparams, PathScripts.PathAreaOp.ObjectOp.endVector, PathScripts.PathOp.ObjectOp.horizFeed, PathScripts.PathAreaOp.ObjectOp.opFeatures(), PathScripts.PathAdaptive.PathAdaptive.opFeatures(), PathScripts.PathDressupTag.TagSolid.radius, draftguitools.gui_snapper.Snapper.radius, PathScripts.PathDressupHoldingTags.Tag.radius, PartGui::DimensionAngular.radius, MeshCore::CylinderSurfaceFit.radius, PartGui::ArcEngine.radius, PathScripts.PathOp.ObjectOp.radius, MeshCore::SphereSurfaceFit.radius, DraftGui.DraftToolBar.radius, geoff_geometry::Circle.radius, geoff_geometry::Span.radius, Inspection::DistanceInspection.radius, ifc2x3.ifccranerailashapeprofiledef.radius, config_control_design.spherical_surface.radius, config_control_design.circle.radius, config_control_design.cylindrical_surface.radius, ifc2x3.ifcroundededgefeature.radius, config_control_design.conical_surface.radius, ap203_configuration_controlled_3d_design_of_mechanical_parts_and_assemblies_mim_lf.polar_complex_number_literal.radius, automotive_design.spherical_surface.radius, automotive_design.swept_disk_solid.radius, ap203_configuration_controlled_3d_design_of_mechanical_parts_and_assemblies_mim_lf.spherical_surface.radius, ifc4.ifcsweptdisksolid.radius, ifc2x3.ifcrightcircularcylinder.radius, ap203_configuration_controlled_3d_design_of_mechanical_parts_and_assemblies_mim_lf.swept_disk_solid.radius, automotive_design.right_circular_cylinder.radius, ap203_configuration_controlled_3d_design_of_mechanical_parts_and_assemblies_mim_lf.right_circular_cylinder.radius, ifc4.ifcrightcircularcylinder.radius, ifc2x3.ifccircleprofiledef.radius, ifc4.ifccircleprofiledef.radius, ifc2x3.ifccranerailfshapeprofiledef.radius, ifc2x3.ifclightsourcepositional.radius, ifc2x3.ifcsweptdisksolid.radius, automotive_design.circle.radius, ap203_configuration_controlled_3d_design_of_mechanical_parts_and_assemblies_mim_lf.circle.radius, ifc2x3.ifccircle.radius, ifc4.ifclightsourcepositional.radius, ifc2x3.ifcsphere.radius, ap203_configuration_controlled_3d_design_of_mechanical_parts_and_assemblies_mim_lf.right_circular_cone.radius, ifc4.ifccircle.radius, automotive_design.right_circular_cone.radius, ap203_configuration_controlled_3d_design_of_mechanical_parts_and_assemblies_mim_lf.sphere.radius, ap203_configuration_controlled_3d_design_of_mechanical_parts_and_assemblies_mim_lf.cylindrical_surface.radius, ap203_configuration_controlled_3d_design_of_mechanical_parts_and_assemblies_mim_lf.solid_with_constant_radius_edge_blend.radius, ap203_configuration_controlled_3d_design_of_mechanical_parts_and_assemblies_mim_lf.conical_surface.radius, automotive_design.sphere.radius, automotive_design.cylindrical_surface.radius, ifc4.ifccylindricalsurface.radius, automotive_design.conical_surface.radius, ifc4.ifcsphere.radius, and PathScripts.PathOp.ObjectOp.vertFeed.
Referenced by PathScripts.PathProfile.ObjectProfile.areaOpOnDocumentRestored().
◆ areaOpShapeForDepths()
def PathScripts.PathAreaOp.ObjectOp.areaOpShapeForDepths | ( | self, | |
obj, | |||
job | |||
) |
areaOpShapeForDepths(obj) ... returns the shape used to make an initial calculation for the depths being used. The default implementation returns the job's Base.Shape
Referenced by PathScripts.PathAreaOp.ObjectOp.opSetDefaultValues().
◆ areaOpShapes()
def PathScripts.PathAreaOp.ObjectOp.areaOpShapes | ( | self, | |
obj | |||
) |
areaOpShapes(obj) ... return all shapes to be processed by Path.Area for this op. Must be overwritten by subclasses.
Reimplemented in PathScripts.PathPocketShape.ObjectPocket, PathScripts.PathProfile.ObjectProfile, PathScripts.PathMillFace.ObjectFace, and PathScripts.PathPocket.ObjectPocket.
◆ areaOpUseProjection()
def PathScripts.PathAreaOp.ObjectOp.areaOpUseProjection | ( | self, | |
obj | |||
) |
areaOpUseProcjection(obj) ... return True if the operation can use procjection, defaults to False. Can safely be overwritten by subclasses.
Reimplemented in PathScripts.PathProfile.ObjectProfile, and PathScripts.PathPocketBase.ObjectPocket.
Referenced by PathScripts.PathAreaOp.ObjectOp.areaOpSetDefaultValues().
◆ cloneBaseAndStock()
def PathScripts.PathAreaOp.ObjectOp.cloneBaseAndStock | ( | self, | |
obj, | |||
base, | |||
angle, | |||
axis, | |||
subCount | |||
) |
cloneBaseAndStock(obj, base, angle, axis, subCount) Method called to create a temporary clone of the base and parent Job stock. Clones are destroyed after usage for calculations related to rotational operations.
References PathScripts.PathAreaOp.ObjectOp.cloneNames, and PathScripts.PathAreaOp.ObjectOp.useTempJobClones().
Referenced by PathScripts.PathCircularHoleBase.ObjectOp.applyRotationalAnalysis(), and PathScripts.PathAreaOp.ObjectOp.applyRotationalAnalysis().
◆ faceRotationAnalysis()
def PathScripts.PathAreaOp.ObjectOp.faceRotationAnalysis | ( | self, | |
obj, | |||
norm, | |||
surf | |||
) |
faceRotationAnalysis(obj, norm, surf) Determine X and Y independent rotation necessary to make normalAt = Z=1 (0,0,1)
References PathScripts.PathAreaOp.ObjectOp.rotateFlag.
◆ getFaceNormAndSurf()
def PathScripts.PathAreaOp.ObjectOp.getFaceNormAndSurf | ( | self, | |
face | |||
) |
getFaceNormAndSurf(face) Return face.normalAt(0,0) or face.normal(0,0) and face.Surface.Axis vectors
Referenced by PathScripts.PathPocketShape.ObjectPocket.checkForFacesLoop().
◆ guiMessage()
def PathScripts.PathAreaOp.ObjectOp.guiMessage | ( | self, | |
title, | |||
msg, | |||
show = False |
|||
) |
guiMessage(title, msg, show=False) Handle op related GUI messages to user
References PathScripts.PathAreaOp.ObjectOp.guiMsgs.
◆ initAreaOp()
def PathScripts.PathAreaOp.ObjectOp.initAreaOp | ( | self, | |
obj | |||
) |
initAreaOp(obj) ... overwrite if the receiver class needs initialisation. Can safely be overwritten by subclasses.
Reimplemented in PathScripts.PathPocketBase.ObjectPocket, and PathScripts.PathProfile.ObjectProfile.
◆ initOperation()
def PathScripts.PathAreaOp.ObjectOp.initOperation | ( | self, | |
obj | |||
) |
initOperation(obj) ... sets up standard Path.Area properties and calls initAreaOp(). Do not overwrite, overwrite initAreaOp(obj) instead.
Reimplemented from PathScripts.PathOp.ObjectOp.
◆ isFaceUp()
def PathScripts.PathAreaOp.ObjectOp.isFaceUp | ( | self, | |
base, | |||
face | |||
) |
◆ opDetermineRotationRadii()
def PathScripts.PathAreaOp.ObjectOp.opDetermineRotationRadii | ( | self, | |
obj | |||
) |
opDetermineRotationRadii(obj) Determine rotational radii for 4th-axis rotations, for clearance/safe heights
References PathScripts.PathAreaOp.ObjectOp.stockBB.
◆ opExecute()
def PathScripts.PathAreaOp.ObjectOp.opExecute | ( | self, | |
obj, | |||
getsim = False |
|||
) |
opExecute(obj, getsim=False) ... implementation of Path.Area ops. determines the parameters for _buildPathArea(). Do not overwrite, implement areaOpAreaParams(obj, isHole) ... op specific area param dictionary areaOpPathParams(obj, isHole) ... op specific path param dictionary areaOpShapes(obj) ... the shape for path area to process areaOpUseProjection(obj) ... return true if operation can use projection instead.
References PathScripts.PathAreaOp.ObjectOp.endVector.
Referenced by PathScripts.PathOp.ObjectOp.execute().
◆ opFeatures()
def PathScripts.PathAreaOp.ObjectOp.opFeatures | ( | self, | |
obj | |||
) |
opFeatures(obj) ... returns the base features supported by all Path.Area based operations. The standard feature list is OR'ed with the return value of areaOpFeatures(). Do not overwrite, implement areaOpFeatures(obj) instead.
Reimplemented from PathScripts.PathOp.ObjectOp.
References PathScripts.PathAreaOp.ObjectOp.areaOpFeatures().
Referenced by PathScripts.PathOp.ObjectOp.addOpValues(), PathScripts.PathAreaOp.ObjectOp.areaOpSetDefaultValues(), PathScripts.PathOp.ObjectOp.execute(), PathScripts.PathOp.ObjectOp.onDocumentRestored(), PathScripts.PathEngraveBase.ObjectOp.opSetDefaultValues(), PathScripts.PathAreaOp.ObjectOp.opSetDefaultValues(), PathScripts.PathOp.ObjectOp.setDefaultValues(), and PathScripts.PathOp.ObjectOp.updateDepths().
◆ opOnChanged()
def PathScripts.PathAreaOp.ObjectOp.opOnChanged | ( | self, | |
obj, | |||
prop | |||
) |
opOnChanged(obj, prop) ... base implementation of the notification framework - do not overwrite. The base implementation takes a stab at determining Heights and Depths if the operations's Base changes. Do not overwrite, overwrite areaOpOnChanged(obj, prop) instead.
Reimplemented from PathScripts.PathOp.ObjectOp.
References PathScripts.PathAreaOp.ObjectOp.areaOpOnChanged().
Referenced by PathScripts.PathOp.ObjectOp.onChanged().
◆ opOnDocumentRestored()
def PathScripts.PathAreaOp.ObjectOp.opOnDocumentRestored | ( | self, | |
obj | |||
) |
opOnDocumentRestored(obj) ... implement if an op needs special handling like migrating the data model. Should be overwritten by subclasses.
Reimplemented from PathScripts.PathOp.ObjectOp.
Reimplemented in PathScripts.PathPocket.ObjectPocket.
References PathScripts.PathAreaOp.ObjectOp.areaOpOnDocumentRestored(), and PathScripts.PathAreaOp.ObjectOp.setupAdditionalProperties().
Referenced by PathScripts.PathOp.ObjectOp.onDocumentRestored().
◆ opSetDefaultValues()
def PathScripts.PathAreaOp.ObjectOp.opSetDefaultValues | ( | self, | |
obj, | |||
job | |||
) |
opSetDefaultValues(obj) ... base implementation, do not overwrite. The base implementation sets the depths and heights based on the areaOpShapeForDepths() return value. Do not overwrite, overwrite areaOpSetDefaultValues(obj, job) instead.
Reimplemented from PathScripts.PathOp.ObjectOp.
References PathScripts.PathAreaOp.ObjectOp.areaOpShapeForDepths(), PathScripts.PathAreaOp.ObjectOp.initWithRotation, PathScripts.PathAreaOp.ObjectOp.opFeatures(), and PathScripts.PathAdaptive.PathAdaptive.opFeatures().
Referenced by PathScripts.PathEngrave.ObjectEngrave.opUpdateDepths(), and PathScripts.PathOp.ObjectOp.setDefaultValues().
◆ setupAdditionalProperties()
def PathScripts.PathAreaOp.ObjectOp.setupAdditionalProperties | ( | self, | |
obj | |||
) |
◆ sortTuplesByIndex()
def PathScripts.PathAreaOp.ObjectOp.sortTuplesByIndex | ( | self, | |
TupleList, | |||
tagIdx | |||
) |
sortTuplesByIndex(TupleList, tagIdx) sort list of tuples based on tag index provided return (TagList, GroupList)
◆ useTempJobClones()
def PathScripts.PathAreaOp.ObjectOp.useTempJobClones | ( | self, | |
cloneName | |||
) |
useTempJobClones(cloneName) Manage use of temporary model clones for rotational operation calculations. Clones are stored in 'rotJobClones' group.
Referenced by PathScripts.PathPocketShape.ObjectPocket.areaOpShapes(), PathScripts.PathCircularHoleBase.ObjectOp.cloneBaseAndStock(), and PathScripts.PathAreaOp.ObjectOp.cloneBaseAndStock().
◆ visualAxis()
def PathScripts.PathAreaOp.ObjectOp.visualAxis | ( | self | ) |
visualAxis() Create visual X & Y axis for use in orientation of rotational operations Triggered only for PathLog.debug
◆ warnDisabledAxis()
def PathScripts.PathAreaOp.ObjectOp.warnDisabledAxis | ( | self, | |
obj, | |||
axis, | |||
sub = '' |
|||
) |
warnDisabledAxis(self, obj, axis) Provide user feedback if required axis is disabled
Member Data Documentation
◆ axialFeed
PathScripts.PathAreaOp.ObjectOp.axialFeed |
◆ axialRapid
PathScripts.PathAreaOp.ObjectOp.axialRapid |
◆ cloneNames
PathScripts.PathAreaOp.ObjectOp.cloneNames |
◆ depthparams
PathScripts.PathAreaOp.ObjectOp.depthparams |
◆ endVector
PathScripts.PathAreaOp.ObjectOp.endVector |
◆ guiMsgs
PathScripts.PathAreaOp.ObjectOp.guiMsgs |
◆ initWithRotation
PathScripts.PathAreaOp.ObjectOp.initWithRotation |
Referenced by PathScripts.PathAreaOp.ObjectOp.opSetDefaultValues().
◆ leadIn
PathScripts.PathAreaOp.ObjectOp.leadIn |
◆ rotateFlag
PathScripts.PathAreaOp.ObjectOp.rotateFlag |
◆ rotStartDepth
PathScripts.PathAreaOp.ObjectOp.rotStartDepth |
◆ stockBB
PathScripts.PathAreaOp.ObjectOp.stockBB |
◆ tempObjectNames
PathScripts.PathAreaOp.ObjectOp.tempObjectNames |
The documentation for this class was generated from the following file:
- src/Mod/Path/PathScripts/PathAreaOp.py