Skip to Content
FASTSUITE E2API ReferenzPython APIRückrufeIOlpTechnologyPostTechOnFrameChanged

PostTechOnFrameChanged

Der Rückruf

PostTechOnFrameChanged

(

CENPyOlpFrameChangedOperator

) wird aus dem Kernel aufgerufen, wenn das Tool oder der Basisframe auf Betriebsebene geändert wurde.

Es kann verwendet werden, um:

  • Attributwerte erhalten

  • Attributwerte setzen

  • Ausgabe in das Logbuch

  • Zugriff auf OlpController

  • Zugriff auf den SCV-Parser

  • den vollständigen Pfad zur Technologietabellendatei abrufen

  • neu geänderten Framename, Index, Typ, Matrix und Weltmatrix zu erhalten

Der Rückruf kann einen Booleschen Wert zurückgeben. Es ist nicht nötig, False zurückzugeben, da der Standardwert ohnehin False ist:

  • Wahr: Wenn es notwendig ist, eine Operation durchzuführen, berechnen Sie (ENTERSTATE_STARTWITHRULEEVENTS) nach Ende des Rückrufs neu ()

  • Falsch: keine Neuberechnung

Der Rückruf ist definiert in der

%TechnologyName%.py

Datei, die sich im Scripts-Ordner des

Plugin

.

def PostTechOnFrameChanged(Operator): attribGetter = Operator.GetAttribGetter() attribSetter = Operator.GetAttribSetter() olpController = Operator.GetController() toolIndex = olpController.GetActiveToolFrameIndex() baseIndex = olpController.GetActiveBaseFrameIndex() csvParser = Operator.GetCsvParserOperator() iRet = csvParser.LoadCsvFile(" ..\\TechTabs\\WeldingAttrib.csv") filePath = Operator.GetTechTabFolder("WeldingAttrib.csv") logging.LogInfo("TechTab path: " + str(filePath)) changedFrameName = Operator.GetChangedFrameName() logging.LogInfo("Newly changed frame name: " + str(changedFrameName)) changedFrameIndex = Operator.GetChangedFrameIndex() logging.LogInfo("Newly changed frame index: " + str(changedFrameIndex)) changedFrameType = Operator.GetChangedFrameType() if changedFrameType == FRAMETYPE_BASE: logging.LogInfo("Newly changed frame type: Base") if changedFrameType == FRAMETYPE_TOOL: logging.LogInfo("Newly changed frame type: Tool") matrix = Operator.GetChangedFrameMatrix() if matrix.IsValid(): logging.LogInfo("Matrix position: " + str(matrix.GetPosition().GetXYZ())) logging.LogInfo("Matrix rotation: " + str(matrix.GetRotation())) else: logging.LogInfo("Matrix is not valid!") worldMatrix = Operator.GetChangedFrameWorldMatrix() if worldMatrix.IsValid(): logging.LogInfo("World matrix position: " + str(worldMatrix.GetPosition().GetXYZ())) logging.LogInfo("World matrix rotation: " + str(worldMatrix.GetRotation())) else: logging.LogInfo("World matrix is not valid!") # Set to True when a recompute is required requestStartWithRuleEventsRecompute = True return requestStartWithRuleEventsRecompute
Was this page helpful?