Public Member Functions | |
def | applyInverseAngle (self, obj, clnBase, clnStock, axis, angle) |
def | applyRotationalAnalysis (self, obj, base, angle, axis, subCount) |
def | baseIsArchPanel (self, obj, base) |
def | circularHoleExecute (self, obj, holes) |
def | circularHoleFeatures (self, obj) |
def | cloneBaseAndStock (self, obj, base, angle, axis, subCount) |
def | faceRotationAnalysis (self, obj, norm, surf) |
def | findAllHoles (self, obj) |
def | findHoles (self, obj, baseobject) |
def | getArchPanelEdge (self, obj, base, sub) |
def | getFaceNormAndSurf (self, face) |
def | guiMessage (self, title, msg, show=False) |
def | holeDiameter (self, obj, base, sub) |
def | holePosition (self, obj, base, sub) |
def | initCircularHoleOperation (self, obj) |
def | initOperation (self, obj) |
def | isHoleEnabled (self, obj, base, sub) |
def | opDetermineRotationRadii (self, obj) |
def | opExecute (self, obj) |
def | opFeatures (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 | opOnChanged (self, obj, prop) |
def | opOnDocumentRestored (self, obj) |
def | opRejectAddBase (self, obj, base, sub) |
def | opSetDefaultValues (self, obj, job) |
def | opUpdateDepths (self, obj) |
def | setDefaultValues (self, obj) |
def | setEditorModes (self, obj, features) |
def | updateDepths (self, obj, ignoreErrors=False) |
Public Attributes | |
axialFeed | |
axialRapid | |
clearHeight | |
cloneNames | |
guiMsgs | |
rotateFlag | |
safeHeight | |
stockBB | |
Public Attributes inherited from PathScripts.PathOp.ObjectOp | |
addNewProps | |
commandlist | |
horizFeed | |
horizRapid | |
job | |
model | |
radius | |
stock | |
tool | |
vertFeed | |
vertRapid | |
Static Public Attributes | |
defValsSet | |
docRestored | |
initOpFinalDepth | |
initOpStartDepth | |
initWithRotation | |
Detailed Description
Base class for proxy objects of all operations on circular holes.
Member Function Documentation
◆ applyInverseAngle()
def PathScripts.PathCircularHoleBase.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.PathCircularHoleBase.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.PathCircularHoleBase.ObjectOp.cloneBaseAndStock(), and PathScripts.PathAreaOp.ObjectOp.cloneBaseAndStock().
◆ baseIsArchPanel()
def PathScripts.PathCircularHoleBase.ObjectOp.baseIsArchPanel | ( | self, | |
obj, | |||
base | |||
) |
baseIsArchPanel(obj, base) ... return true if op deals with an Arch.Panel.
Referenced by PathScripts.PathCircularHoleBase.ObjectOp.findAllHoles(), PathScripts.PathCircularHoleBase.ObjectOp.holeDiameter(), and PathScripts.PathCircularHoleBase.ObjectOp.holePosition().
◆ circularHoleExecute()
def PathScripts.PathCircularHoleBase.ObjectOp.circularHoleExecute | ( | self, | |
obj, | |||
holes | |||
) |
circularHoleExecute(obj, holes) ... implement processing of holes. holes is a list of dictionaries with 'x', 'y' and 'r' specified for each hole. Note that for Vertexes, non-circular Edges and Locations r=0. Must be overwritten by subclasses.
Reimplemented in PathScripts.PathDrilling.ObjectDrilling, and PathScripts.PathHelix.ObjectHelix.
◆ circularHoleFeatures()
def PathScripts.PathCircularHoleBase.ObjectOp.circularHoleFeatures | ( | self, | |
obj | |||
) |
circularHoleFeatures(obj) ... overwrite to add operations specific features. Can safely be overwritten by subclasses.
Reimplemented in PathScripts.PathDrilling.ObjectDrilling, and PathScripts.PathHelix.ObjectHelix.
Referenced by PathScripts.PathCircularHoleBase.ObjectOp.opFeatures().
◆ cloneBaseAndStock()
def PathScripts.PathCircularHoleBase.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.PathCircularHoleBase.ObjectOp.cloneNames, PathScripts.PathAreaOp.ObjectOp.cloneNames, PathScripts.PathCircularHoleBase.ObjectOp.useTempJobClones(), and PathScripts.PathAreaOp.ObjectOp.useTempJobClones().
Referenced by PathScripts.PathCircularHoleBase.ObjectOp.applyRotationalAnalysis().
◆ faceRotationAnalysis()
def PathScripts.PathCircularHoleBase.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.PathCircularHoleBase.ObjectOp.rotateFlag, and PathScripts.PathAreaOp.ObjectOp.rotateFlag.
◆ findAllHoles()
def PathScripts.PathCircularHoleBase.ObjectOp.findAllHoles | ( | self, | |
obj | |||
) |
findAllHoles(obj) ... find all holes of all base models and assign as features.
References PathScripts.PathCircularHoleBase.ObjectOp.baseIsArchPanel(), PathScripts.PathCircularHoleBase.ObjectOp.findHoles(), PathScripts.PathOp.ObjectOp.getJob(), PathScripts.PathJobDlg.JobCreate.model, PartGui::TaskCheckGeometryResults.model, PathScripts.PathOp.ObjectOp.model, and ArchMaterial._ArchMultiMaterialTaskPanel.model.
◆ findHoles()
def PathScripts.PathCircularHoleBase.ObjectOp.findHoles | ( | self, | |
obj, | |||
baseobject | |||
) |
findHoles(obj, baseobject) ... inspect baseobject and identify all features that resemble a straight cricular hole.
Referenced by PathScripts.PathCircularHoleBase.ObjectOp.findAllHoles().
◆ getArchPanelEdge()
def PathScripts.PathCircularHoleBase.ObjectOp.getArchPanelEdge | ( | self, | |
obj, | |||
base, | |||
sub | |||
) |
getArchPanelEdge(obj, base, sub) ... helper function to identify a specific edge of an Arch.Panel. Edges are identified by 3 numbers: <holeId>.<wireId>.<edgeId> Let's say the edge is specified as "3.2.7", then the 7th edge of the 2nd wire in the 3rd hole returned by the panel sheet is the edge returned. Obviously this is as fragile as can be, but currently the best we can do while the panel sheets hide the actual features from Path and they can't be referenced directly.
Referenced by PathScripts.PathCircularHoleBase.ObjectOp.holeDiameter(), and PathScripts.PathCircularHoleBase.ObjectOp.holePosition().
◆ getFaceNormAndSurf()
def PathScripts.PathCircularHoleBase.ObjectOp.getFaceNormAndSurf | ( | self, | |
face | |||
) |
getFaceNormAndSurf(face) Return face.normalAt(0,0) or face.normal(0,0) and face.Surface.Axis vectors
◆ guiMessage()
def PathScripts.PathCircularHoleBase.ObjectOp.guiMessage | ( | self, | |
title, | |||
msg, | |||
show = False |
|||
) |
guiMessage(title, msg, show=False) Handle op related GUI messages to user
References PathScripts.PathCircularHoleBase.ObjectOp.guiMsgs, and PathScripts.PathAreaOp.ObjectOp.guiMsgs.
◆ holeDiameter()
def PathScripts.PathCircularHoleBase.ObjectOp.holeDiameter | ( | self, | |
obj, | |||
base, | |||
sub | |||
) |
holeDiameter(obj, base, sub) ... returns the diameter of the specified hole.
References PathScripts.PathCircularHoleBase.ObjectOp.baseIsArchPanel(), and PathScripts.PathCircularHoleBase.ObjectOp.getArchPanelEdge().
◆ holePosition()
def PathScripts.PathCircularHoleBase.ObjectOp.holePosition | ( | self, | |
obj, | |||
base, | |||
sub | |||
) |
holePosition(obj, base, sub) ... returns a Vector for the position defined by the given features. Note that the value for Z is set to 0.
References PathScripts.PathCircularHoleBase.ObjectOp.baseIsArchPanel(), and PathScripts.PathCircularHoleBase.ObjectOp.getArchPanelEdge().
◆ initCircularHoleOperation()
def PathScripts.PathCircularHoleBase.ObjectOp.initCircularHoleOperation | ( | self, | |
obj | |||
) |
initCircularHoleOperation(obj) ... overwrite if the subclass needs initialisation. Can safely be overwritten by subclasses.
Reimplemented in PathScripts.PathDrilling.ObjectDrilling, and PathScripts.PathHelix.ObjectHelix.
Referenced by PathScripts.PathCircularHoleBase.ObjectOp.initOperation().
◆ initOperation()
def PathScripts.PathCircularHoleBase.ObjectOp.initOperation | ( | self, | |
obj | |||
) |
initOperation(obj) ... adds Disabled properties and calls initCircularHoleOperation(obj). Do not overwrite, implement initCircularHoleOperation(obj) instead.
Reimplemented from PathScripts.PathOp.ObjectOp.
References PathScripts.PathCircularHoleBase.ObjectOp.initCircularHoleOperation().
◆ isHoleEnabled()
def PathScripts.PathCircularHoleBase.ObjectOp.isHoleEnabled | ( | self, | |
obj, | |||
base, | |||
sub | |||
) |
isHoleEnabled(obj, base, sub) ... return true if hole is enabled.
◆ opDetermineRotationRadii()
def PathScripts.PathCircularHoleBase.ObjectOp.opDetermineRotationRadii | ( | self, | |
obj | |||
) |
opDetermineRotationRadii(obj) Determine rotational radii for 4th-axis rotations, for clearance/safe heights
References PathScripts.PathAreaOp.ObjectOp.stockBB, and PathScripts.PathCircularHoleBase.ObjectOp.stockBB.
◆ opExecute()
def PathScripts.PathCircularHoleBase.ObjectOp.opExecute | ( | self, | |
obj | |||
) |
opExecute(obj) ... processes all Base features and Locations and collects them in a list of positions and radii which is then passed to circularHoleExecute(obj, holes). If no Base geometries and no Locations are present, the job's Base is inspected and all drillable features are added to Base. In this case appropriate values for depths are also calculated and assigned. Do not overwrite, implement circularHoleExecute(obj, holes) instead.
Reimplemented from PathScripts.PathOp.ObjectOp.
Referenced by PathScripts.PathOp.ObjectOp.execute().
◆ opFeatures()
def PathScripts.PathCircularHoleBase.ObjectOp.opFeatures | ( | self, | |
obj | |||
) |
opFeatures(obj) ... calls circularHoleFeatures(obj) and ORs in the standard features required for processing circular holes. Do not overwrite, implement circularHoleFeatures(obj) instead
Reimplemented from PathScripts.PathOp.ObjectOp.
References PathScripts.PathCircularHoleBase.ObjectOp.circularHoleFeatures().
Referenced by PathScripts.PathOp.ObjectOp.addOpValues(), PathScripts.PathOp.ObjectOp.execute(), PathScripts.PathOp.ObjectOp.onDocumentRestored(), PathScripts.PathEngraveBase.ObjectOp.opSetDefaultValues(), PathScripts.PathOp.ObjectOp.setDefaultValues(), and PathScripts.PathOp.ObjectOp.updateDepths().
◆ sortTuplesByIndex()
def PathScripts.PathCircularHoleBase.ObjectOp.sortTuplesByIndex | ( | self, | |
TupleList, | |||
tagIdx | |||
) |
sortTuplesByIndex(TupleList, tagIdx) sort list of tuples based on tag index provided return (TagList, GroupList)
◆ useTempJobClones()
def PathScripts.PathCircularHoleBase.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.PathCircularHoleBase.ObjectOp.cloneBaseAndStock().
◆ visualAxis()
def PathScripts.PathCircularHoleBase.ObjectOp.visualAxis | ( | self | ) |
visualAxis() Create visual X & Y axis for use in orientation of rotational operations Triggered only for PathLog.debug
◆ warnDisabledAxis()
def PathScripts.PathCircularHoleBase.ObjectOp.warnDisabledAxis | ( | self, | |
obj, | |||
axis, | |||
sub = '' |
|||
) |
warnDisabledAxis(self, obj, axis) Provide user feedback if required axis is disabled
Member Data Documentation
◆ axialFeed
PathScripts.PathCircularHoleBase.ObjectOp.axialFeed |
◆ axialRapid
PathScripts.PathCircularHoleBase.ObjectOp.axialRapid |
◆ clearHeight
PathScripts.PathCircularHoleBase.ObjectOp.clearHeight |
◆ cloneNames
PathScripts.PathCircularHoleBase.ObjectOp.cloneNames |
◆ defValsSet
|
static |
◆ docRestored
|
static |
◆ guiMsgs
PathScripts.PathCircularHoleBase.ObjectOp.guiMsgs |
Referenced by PathScripts.PathCircularHoleBase.ObjectOp.guiMessage().
◆ initOpFinalDepth
|
static |
◆ initOpStartDepth
|
static |
◆ initWithRotation
|
static |
◆ rotateFlag
PathScripts.PathCircularHoleBase.ObjectOp.rotateFlag |
◆ safeHeight
PathScripts.PathCircularHoleBase.ObjectOp.safeHeight |
Referenced by PathScripts.PathDressupPathBoundary.DressupPathBoundary.boundaryCommands(), PathScripts.PathWaterline.ObjectWaterline.deleteOpVariables(), PathScripts.PathSurface.ObjectSurface.deleteOpVariables(), PathScripts.PathDressupPathBoundary.DressupPathBoundary.execute(), PathScripts.PathOpGui.TaskPanelHeightsPage.getFields(), PathScripts.PathOpGui.TaskPanelHeightsPage.initPage(), and PathScripts.PathOpGui.TaskPanelHeightsPage.setFields().
◆ stockBB
PathScripts.PathCircularHoleBase.ObjectOp.stockBB |
The documentation for this class was generated from the following file:
- src/Mod/Path/PathScripts/PathCircularHoleBase.py