PathScripts.PathAreaOp.ObjectOp Class Reference

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 
)

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

◆ 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

◆ axialRapid

◆ cloneNames

◆ depthparams

◆ endVector

◆ guiMsgs

◆ initWithRotation

PathScripts.PathAreaOp.ObjectOp.initWithRotation

◆ leadIn

PathScripts.PathAreaOp.ObjectOp.leadIn

◆ rotateFlag

◆ rotStartDepth

PathScripts.PathAreaOp.ObjectOp.rotStartDepth

◆ stockBB

◆ tempObjectNames

PathScripts.PathAreaOp.ObjectOp.tempObjectNames

The documentation for this class was generated from the following file:
  • src/Mod/Path/PathScripts/PathAreaOp.py