|
Initialization.
•createAutoExecutePDFReport(self, Operator, apppath, selection = ""): |
Pass Command from AutoExecute, e.g. after Download
Args:
Operator: the CENPyOlpProgramModifyOperator
apppath: the Location of the Caller Script. Needed to find the Images
selection (optional): desired List of Selection of Columns (and its Order). Otherwise the pre-defined Columns are taken.
Possible Items : "Name", "MotionType", "Length", "Speed", "Time", "Costs", "CollReach", "Events", "Various"
•createAuxCommandsPDFReport(self, Operator, apppath, selection = ""): |
Pass Command from Program Dashboard's "Auxiliary Commands"
Args:
Operator: the CENPyOlpProgramModifyOperator
apppath: the Location of the Caller Script. Needed to find the Images
selection (optional): desired List of Selection of Columns (and its Order). Otherwise the pre-defined Columns are taken.
Possible Items : "Name", "MotionType", "Length", "Speed", "Time", "Costs", "CollReach", "Events", "Various"
•createPDFReport(self, Operator, apppath, repfilepath, selection = ""): |
Main Method to create the PDF Report
Args:
Operator: the CENPyOlpProgramModifyOperator
apppath: the Location of the Caller Script. Needed to find the Images
repfilepath: the Location of the where the PDF Report should be written.
selection (optional): desired Selection of Columns (and its Order). Otherwise the pre-defined Columns are taken.
Possible Items : "Name", "MotionType", "Length", "Speed", "Time", "Costs", "CollReach", "Events", "Various"
•buildReportName(self, programName): |
Build Report File Name, to be inheritate if customizing desired.
Args:
programName: the Process Program Name
Returns:
str: fileName: the desired File Name
Defines the desired Font Type and size to Globals.
Note : CN & JP are only supported by one unique Font, Size can be adjusted)
•defineColumnTitleWidth(self, columns): |
Defines the Order of the desired Table Columns.
Note: internal Column Name and its Place in the Order must be fix
Args:
columns : the desired List of Columns in desired Order
Possible Items : "Name", "MotionType", "Length", "Speed", "Time", "Costs", "CollReach", "Events"
Returns:
strList: headLine : the List of the Columns Header Names in desired Order
strList: colWidth : the List of the Columns Width in desired Order
intList: order : the List of the ordered Column Numbers
int : totalWidth : the total Width of all Columns to define Portrait or Landscape Format
Defines the Table Header Name and Width of the Item
Returns:
str: the Header Name of the Column
int: the Column Width
•defineColMotionType(self): |
Defines the Table Header Name and Width of the Item
Returns:
str: the Header Name of the Column
int: the Column Width
|
|
Defines the Table Header Name and Width of the Item
Returns:
str: the Header Name of the Column
int: the Column Width
|
|
Defines the Table Header Name and Width of the Item
Returns:
str: the Header Name of the Column
int: the Column Width
|
|
Defines the Table Header Name and Width of the Item
Returns:
str: the Header Name of the Column
int: the Column Width
|
|
Defines the Table Header Name and Width of the Item
Returns:
str: the Header Name of the Column
int: the Column Width
|
•defineColCollReach(self): |
Defines the Table Header Name and Width of the Item
Returns:
str: the Header Name of the Column
int: the Column Width
|
|
Defines the Table Header Name and Width of the Item
Returns:
str: the Header Name of the Column
int: the Column Width
|
|
Defines the Table Header Name and Width of the Item
Returns:
str: the Header Name of the Column
int: the Column Width
|
|
Defines the common Header of the PDF Report, called from FPDF Base Class
|
•cenheader(self, Operator, path, portrLands): |
Defines the customized Header of the PDF Report, underneath common Header
Args:
Operator : the CENPyOlpProgramModifyOperator
path : the Location of the Caller Script. Needed to find the Images
portrLands : if Report is created in Portrait or Landscape Mode
|
•cenfooter(self, path, portrLands): |
Defines the customized Footer of the PDF Report, underneath common Header
Args:
path : the Location of the Caller Script. Needed to find the Images
portrLands : if Report is created in Portrait or Landscape Mode
|
|
Defines the common Footer of the PDF Report, called from FPDF Base Class
|
|
Sets the Costs per Meter
Args:
cost : Value of the Costs per Meter
|
•setCurrency(self, currency): |
Sets the desired Currency
Args:
currency : the desired Currency
Euro "E"
Dollar "D"
Pound "P"
Yen/Yuan "Y"
|
|
Returns the Ascii Code of the desired Currency
Euro "E", Dollar "D", Pound "P", Yen/Yuan "Y"
Returns:
int: currency: Ascii Value of the Currency
euroCode = 128
dllrCode = 36
poundCode = 163
yenCode = 165
|
•setLanguage(self, language): |
Sets the desired Language
Args:
language : the desired NLS Language
english "EN", german "DE", french "FR", chinese "CN", japanese "JP"
|
•setHeaderLogo(self, logo): |
Sets the Logo shown on Reports top/right
Args:
logo : the Name of the Logo File ()
|
•setFooterLogo(self, logo): |
Sets the Logo shown on Reports bottom/left
Args:
logo : the Name of the Logo File ()
|
•body(self, Operator, headLine, colWidths, order): |
Defines the customized Body of the PDF Report.
Args:
Operator: the CENPyOlpProgramModifyOperator
headLine : the List of the Columns Header Names
colWidths : the List of the Columns Width
order : the List of the ordered Column Numbers
|
•collectelements(self, Operator, order, costPerMeter): |
Collect all the necessary Information from the Program and writes it to a List
Args:
Operator : the CENPyOlpProgramModifyOperator
order : the List of the ordered Column Numbers
costPerMeter : the Value of the Costs per Meter
Returns:
strList: columns : the List of all TPE Informations
double: totalLength : the Summary of all Path Length
double: totalCosts : the Summary of all Path Costs
|
•columnOrder(self, order, unsorted): |
Sorts the complete Range of Columns to the desired Order of the single Columns
Args:
order : the numeric List of the desired Order
unsorted : the complete Range of Information per TPE
Returns:
strList: sorted: the List of the sorted and desired Columns per TPE
|
•header_table(self, Operator): |
Write a Table with common Program Information
Args:
Operator : the CENPyOlpProgramModifyOperator
|
•intermediateBlockBefore(self, Operator, paramList): |
Anything between CenHeader and TPE List (Template for Inheritance)
Args:
Operator : the CENPyOlpProgramModifyOperator
paramList : the List of used Parameters
paramList = [(totalLength)(totalCosts)(costPerMeter)(order.count(6))(currency)
0 1 2 3 4
|
•intermediateBlockAfter(self, Operator, paramList): |
Anything between TPE List and CenFooter (Template for Inheritance)
Args:
Operator : the CENPyOlpProgramModifyOperator
paramList : the List of used Parameters
|
•getRGBColours(self, item): |
Get the RGB Colours for the Table Header Row.
Can be set in the Report NLS File by "headerrowcolor=176.195.52" (Cenit green)
Args:
item : the desired Item from NLS File
Returns:
red : the Portion of RED
green : the Portion of GREEN
blue : the Portion of BLUE
|
•colored_table(self, headings, rows, colWidths): |
Write the Program TPEs Information to the Table
Args:
headings : the List of the Table Header
rows : the List of the TPE Information
colWidths : the List of the Column Width
|
•getSpeedEvent(self, eventHandler, opTpe, beforeAfter = -1): |
Checks the TPE for a Speed Event
Args:
eventHandler: The event handler
opTpe: the current tool path element
beforeAfter: get only desired Events (before/after/all)
Returns:
bool: speedEvent : Bool True/False if a TPE contains a specific Event
double: speed : the Value of the Speed Event in mm/s
int: insPos : the InsertPosition of the Speed Event before/after
|
•technoEventsExist(self, eventHandler, opTpes): |
Checks if program contains Techno Events
Args:
eventHandler: The event handler
opTpes: array of the Ops TPEs
Returns:
bool : True/False if a Tool On/Off exists (for Cost Calculation)
|
•getTechnoEvent(self, eventHandler, opTpe, beforeAfter = -1): |
Checks the TPE for a Techno Event
Args:
eventHandler: The event handler
opTpE: the current tool path element
beforeAfter: get only desired Events (before/after/all)
Returns:
bool: technoEvent : Bool True/False if a TPE contains a specific Event
int: retVal : an Integer 0=no Event 1=Tool ON -1=Tool OFF
int: insPos : the InsertPosition of the Techno Event before/after
|
•getAccuracyEvent(self, eventHandler, opTpe): |
Checks the TPE for an Accuracy Event
Args:
eventHandler: the event handler
opTpE: the current tool path element
Returns:
int: criteria : an Criteria Integer A_OFF=0 A_ON=1 A_JOINTDISTANCE=2 A_DISTANCE=3 A_ORIENTATION=4 A_VELOCITY=5
double: value : the Value of the Accuracy
int: insPos : the InsertPosition of the Accuracy Event before/after
|
•calculateCosts(self, costPerMeter, length, technoState, motionType): |
Calculates Costs per TPE dependent to TechnoState, MotionType, etc. if desired
Might be inherited for own Calculation.
Args:
costPerMeter: the Costs per Meter moving
length: the length of the TPE
technoState: 1=Tool ON -1=Tool OFF
motionType : the Motion Type MOTIONTYPE_CIR _LIN _PTP
Returns:
double: costs : the Costs of the TPE
|
•getMotionTypeString(self, operator, opTpe): |
Get the Motion Type of the TPE (PTP, LIN, CIR)
Might be inherited for own desired Information in PlugIn Script
Args:
operator: the CENPyOlpProgramModifyOperator
opTpe: the current tool path element
Returns:
str: motionTypeStr : the String of the Motion Type
|
•getCollisionReachabilityString(self, operator, opTpe): |
Get the Collision and/or Reachability of the TPE,
Might be inherited for own desired Information in PlugIn Script
Args:
operator: the CENPyOlpProgramModifyOperator
opTpe: the current tool path element
Returns:
str: collReachStr : the String of the CollisionReachability
|
•getVariousField(self, operator, opTpe): |
Template, might be inherited for own desired Information in PlugIn Script
Args:
operator: the CENPyOlpProgramModifyOperator
opTpe: the current tool path element
Returns:
str: variousString : the String for Column "Various"
|
•calcLinLength(self, teachHandler, lastTpE, opTpe): |
Calculates linear tool path length
Args:
teachHandler: the teach handler
lastTpE: the last tool path element
opTpe: the current tool path element
Returns:
double: length : the linear Length between the last and current TPE
|
•calcCircLength(self, teachHandler, lastTpE, opTpe): |
Calculates linear tool path length
Args:
teachHandler: the teach handler
lastTpE: the last tool path element
opTpe: the current tool path element
Returns:
double: length : the linear Length between the last and current TPE
|
•getVector(self, point1, point2): |
Gets vector through two points
Args:
point1: First point
point2: Second point
Returns:
double: the Vector between the two Points
|
•getVectorLength(self, vector): |
Calculates vector length
Args:
vector: the vector to calculate the length for
Returns:
double: the Vector Length
|
•getVectorScalar(self, vector1, vector2): |
Calculates two vectors scalar product
Args:
vector1: the first vector
vector2: the second vector
Returns:
double: the scalar Product of the two given Vectors
|
•saveReportAs(self, defaultFileName: str, apppath: str): |
Calls the usual file save dialog
Args:
defaultFileName: default file name
apppath: the Application Path for Pictures and Icons
Returns:
str: fullpath: the selected path and file name
|
•getReportLocation(self, apppath: str): |
Calls the Folder select dialog
Args:
apppath: the Application Path for Pictures and Icons
Returns:
str: path: the selected path
|
•extendedSaveUI(self, Operator, defaultFileName, apppath): |
Extended File Save dialogue with Costs Settings
Args:
Operator: the CENPyOlpProgramModifyOperator
defaultFileName: the default Filename of the PDF Report
apppath: the Location of the Caller Script. Needed to find the Images
|
•createDialogueUI(self, window: UserInterface, defaultFileName, defaultDlPath): |
Create the window elements and functions of extended File Save dialogue
Args:
window: UserInterface: the Window Handler
defaultFileName: the default Filename of the PDF Report
defaultDlPath: the default Location of the PDF Report
|
•getsetValues(self, write, inList, myFileName="E2PDFReport.ini"): |
Read or write settings to the INI file
Args:
write : bool for writing = true, reading=false
inList : List of Values in Case of writing = true
myFileName : optional, default is "E2PDFReport.ini"
Returns:
strList: outList : List of Values in Case of reading=false
|