PathScripts.PathPocket.ObjectPocket Class Reference

Public Member Functions

def areaOpSetDefaultValues (self, obj, job)
 
def areaOpShapes (self, obj)
 
def calculateAdaptivePocket (self, obj, base, subObjTups)
 
def findSharedEdges (self, subObjTups)
 
def getMinMaxOfFaces (self, Faces)
 
def groupConnectedEdges (self, holding)
 
def hasCommonVertex (self, edge1, edge2, show=False)
 
def identifyUnconnectedEdges (self, subObjTups, touching)
 
def initPocketOp (self, obj)
 
def opOnDocumentRestored (self, obj)
 
def orderFacesAroundCenterOfMass (self, subObjTups)
 
def pocketInvertExtraOffset (self)
 
def pocketOpFeatures (self, obj)
 
- Public Member Functions inherited from PathScripts.PathPocketBase.ObjectPocket
def areaOpAreaParams (self, obj, isHole)
 
def areaOpFeatures (self, obj)
 
def areaOpPathParams (self, obj, isHole)
 
def areaOpRetractTool (self, obj)
 
def areaOpUseProjection (self, obj)
 
def initAreaOp (self, obj)
 
- Public Member Functions inherited from PathScripts.PathAreaOp.ObjectOp
def applyInverseAngle (self, obj, clnBase, clnStock, axis, angle)
 
def applyRotationalAnalysis (self, obj, base, angle, axis, subCount)
 
def areaOpOnChanged (self, obj, prop)
 
def areaOpOnDocumentRestored (self, obj)
 
def areaOpShapeForDepths (self, obj, job)
 
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 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 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)
 

Additional Inherited Members

- Public Attributes inherited from PathScripts.PathAreaOp.ObjectOp
 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

Proxy object for Pocket operation.

Member Function Documentation

◆ areaOpSetDefaultValues()

def PathScripts.PathPocket.ObjectPocket.areaOpSetDefaultValues (   self,
  obj,
  job 
)
areaOpSetDefaultValues(obj, job) ... set default values

Reimplemented from PathScripts.PathAreaOp.ObjectOp.

◆ areaOpShapes()

def PathScripts.PathPocket.ObjectPocket.areaOpShapes (   self,
  obj 
)
areaOpShapes(obj) ... return shapes representing the solids to be removed.

Reimplemented from PathScripts.PathAreaOp.ObjectOp.

References PathScripts.PathPocket.ObjectPocket.calculateAdaptivePocket(), PathScripts.PathAreaOp.ObjectOp.depthparams, PathScripts.PathPocket.ObjectPocket.getMinMaxOfFaces(), PathScripts.PathJobDlg.JobCreate.model, PartGui::TaskCheckGeometryResults.model, PathScripts.PathOp.ObjectOp.model, and ArchMaterial._ArchMultiMaterialTaskPanel.model.

◆ calculateAdaptivePocket()

def PathScripts.PathPocket.ObjectPocket.calculateAdaptivePocket (   self,
  obj,
  base,
  subObjTups 
)
calculateAdaptivePocket(obj, base, subObjTups)
Orient multiple faces around common facial center of mass.
Identify edges that are connections for adjacent faces.
Attempt to separate unconnected edges into top and bottom loops of the pocket.
Trim the top and bottom of the pocket if available and requested.
return: tuple with pocket shape information

References PathScripts.PathPocket.ObjectPocket.findSharedEdges(), PathScripts.PathPocket.ObjectPocket.getMinMaxOfFaces(), PathScripts.PathPocket.ObjectPocket.identifyUnconnectedEdges(), PathScripts.PathPocket.ObjectPocket.orderFacesAroundCenterOfMass(), and PathScripts.PathAreaOp.ObjectOp.tempObjectNames.

Referenced by PathScripts.PathPocket.ObjectPocket.areaOpShapes().

◆ findSharedEdges()

def PathScripts.PathPocket.ObjectPocket.findSharedEdges (   self,
  subObjTups 
)
findSharedEdges(self, subObjTups)
Find connected edges given a group of faces

Referenced by PathScripts.PathPocket.ObjectPocket.calculateAdaptivePocket().

◆ getMinMaxOfFaces()

def PathScripts.PathPocket.ObjectPocket.getMinMaxOfFaces (   self,
  Faces 
)
getMinMaxOfFaces(Faces)
return the zmin and zmax values for given set of faces or edges.

Referenced by PathScripts.PathPocket.ObjectPocket.areaOpShapes(), and PathScripts.PathPocket.ObjectPocket.calculateAdaptivePocket().

◆ groupConnectedEdges()

def PathScripts.PathPocket.ObjectPocket.groupConnectedEdges (   self,
  holding 
)
groupConnectedEdges(self, holding)
Take edges and determine which are connected.
Group connected chains/loops into: low and high

Referenced by PathScripts.PathPocket.ObjectPocket.identifyUnconnectedEdges().

◆ hasCommonVertex()

def PathScripts.PathPocket.ObjectPocket.hasCommonVertex (   self,
  edge1,
  edge2,
  show = False 
)
findCommonVertexIndexes(edge1, edge2, show=False)
Compare vertexes of two edges to identify a common vertex.
Returns the vertex index of edge1 to which edge2 is connected

Referenced by PathScripts.PathPocket.ObjectPocket.identifyUnconnectedEdges().

◆ identifyUnconnectedEdges()

def PathScripts.PathPocket.ObjectPocket.identifyUnconnectedEdges (   self,
  subObjTups,
  touching 
)
identifyUnconnectedEdges(subObjTups, touching)
Categorize unconnected edges into two groups, if possible: low and high

References PathScripts.PathPocket.ObjectPocket.groupConnectedEdges(), and PathScripts.PathPocket.ObjectPocket.hasCommonVertex().

Referenced by PathScripts.PathPocket.ObjectPocket.calculateAdaptivePocket().

◆ initPocketOp()

def PathScripts.PathPocket.ObjectPocket.initPocketOp (   self,
  obj 
)

◆ opOnDocumentRestored()

def PathScripts.PathPocket.ObjectPocket.opOnDocumentRestored (   self,
  obj 
)
opOnDocumentRestored(obj) ... adds the properties if they doesn't exist.

Reimplemented from PathScripts.PathAreaOp.ObjectOp.

References PathScripts.PathMillFace.ObjectFace.initPocketOp(), and PathScripts.PathPocket.ObjectPocket.initPocketOp().

◆ orderFacesAroundCenterOfMass()

def PathScripts.PathPocket.ObjectPocket.orderFacesAroundCenterOfMass (   self,
  subObjTups 
)
orderFacesAroundCenterOfMass(subObjTups)
Order list of faces by center of mass in angular order around
average center of mass for all faces. Positive X-axis is zero degrees.
return: subObjTups [ordered/sorted]

Referenced by PathScripts.PathPocket.ObjectPocket.calculateAdaptivePocket().

◆ pocketInvertExtraOffset()

def PathScripts.PathPocket.ObjectPocket.pocketInvertExtraOffset (   self)
pocketInvertExtraOffset() ... return True if ExtraOffset's direction is inward.
Can safely be overwritten by subclass.

Reimplemented from PathScripts.PathPocketBase.ObjectPocket.

Referenced by PathScripts.PathPocketBase.ObjectPocket.areaOpAreaParams().

◆ pocketOpFeatures()

def PathScripts.PathPocket.ObjectPocket.pocketOpFeatures (   self,
  obj 
)

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