1
0

Initial commit

This commit is contained in:
2026-02-22 14:16:24 +01:00
commit 1692d191fa
3684 changed files with 10817616 additions and 0 deletions

View File

@@ -0,0 +1,12 @@
(#19696=0 : rotating table coordinate system for G43.4/5. Change in INI program to 32 for non-rotating workpiece coordinate system)
#19696=0
(This part sets the position of the reference point G28)
G54
(Implement the setting of the reference point unit dependent)
G10L52
N1240P1R-3.800
N1240P2R330.000
N1240P3R580.000
G11

View File

@@ -0,0 +1,40 @@
#
# Copyright (c) 2019 Siemens Industry Software Inc.
# Unpublished - All rights reserved
#
#
#
# ================================================================
import CSEWrapper
import CSEFanuc
from CSEWrapper import Vector3
from CSEWrapper import ChannelState
from CseFanuc_Methods import ControllerMethods
from CseFanuc_Metacodes import ControllerMetacodes
class Fanuc_sim04_Methods(ControllerMethods):
# Use this class to add machine specific methods.
# DUMMY method shows exemplarily how to implement custom methods.
def DummyMethod(channel : ChannelState):
return True
class Fanuc_sim04_Metacodes(ControllerMetacodes):
# Use this class to add machine specific metacodes.
# DUMMY metacode shows exemplarily how to implement custom metacodes.
def DummyMetacode(channel : ChannelState):
return True
class Controller(CSEFanuc.Controller):
def GetMethod(self, strMethodName : str):
return getattr(Fanuc_sim04_Methods, strMethodName, None)
def GetMetacode(self, strMetacodeName : str):
return getattr(Fanuc_sim04_Metacodes, strMetacodeName, None)
def CreateController():
# For profiling
# return CSEWrapper.Controller(Fanuc.Controller(), "c:\\Temp\\cse_profile.txt")
return CSEWrapper.Controller(Controller())
if __name__ == '__main__':
ctrl = CreateController()

View File

@@ -0,0 +1,103 @@
O73 (do not remove - important for parameter handling)
IF[#0NE#19]GOTO15 (if no spindle speed has been programmed use the current speed)
#19=#4119
N15
IF[#0NE#9]GOTO16 (if no feed has been programmed use the current feed)
#9=#4109
N16
#28=#18-#26
IF[91NE#4003] GOTO 10
#28=#26
N10
#29=0
#30=#4003
IF[17EQ#4016]GOTO17
IF[18EQ#4016]GOTO18
IF[19EQ#4016]GOTO19
M99
N17
G0 Z[#18]
IF[#28LT#17] GOTO1700
N1710
#29=#29+#17
IF[#28LT#29] GOTO1700
G1 G91 Z[-#17] M3
GOTO1710
N1700
G1 G[#30] Z[#26] M3
IF[98EQ#4010] GOTO 1798
IF[90EQ#4003] GOTO 1790
IF[91EQ#4003] GOTO 1791
N1798
#99=#4003
G0 G90 Z[#27]
G[#99]
GOTO 999
N1790
G0 Z[#18]
GOTO 999
N1791
G0 Z[-#26]
GOTO 999
N18
G0 Y[#18]
IF[#28LT#17] GOTO1800
N1810
IF[#28LT#29] GOTO1800
#29=#29+#17
G1 G91 Y[-#17] M3
GOTO1810
N1800
G1 G[#30] Y[#25] M3
IF[98EQ#4010] GOTO 1898
IF[90EQ#4003] GOTO 1890
IF[91EQ#4003] GOTO 1891
N1898
#99=#4003
G0 G90 Y[#27]
G[#99]
GOTO 999
N1890
G0 Y[#18]
GOTO 999
N1891
G0 Y[-#25]
GOTO 999
N19
G0 X[#18]
IF[#28LT#17] GOTO1900
N1910
IF[#28LT#29] GOTO1900
#29=#29+#17
G1 G91 X[-#17] M3
GOTO1910
N1900
G1 G[#30] X[#24] M3
IF[98EQ#4010] GOTO 1998
IF[90EQ#4003] GOTO 1990
IF[91EQ#4003] GOTO 1991
N1998
#99=#4003
G0 G90 X[#27]
G[#99]
GOTO 999
N1990
G0 X[#18]
GOTO 999
N1991
G0 X[-#24]
GOTO 999
N999
M99

View File

@@ -0,0 +1,89 @@
O74 (do not remove - important for parameter handling)
IF[#0NE#19]GOTO15 (if no spindle speed has been programmed use the current speed)
#19=#4119
N15
IF[#0NE#9]GOTO16 (if no feed has been programmed use the current feed)
#9=#4109
N16
IF[17EQ#4016]GOTO17
IF[18EQ#4016]GOTO18
IF[19EQ#4016]GOTO19
M99
N17
G0 Z[#18]
G1 Z[#26] M4 S[#19]
M5
G4 P[#16]
IF[90EQ#4003] GOTO 1790
IF[91EQ#4003] GOTO 1791
N1790
G1 Z[#18] M3 S[#19]
IF[98NE#4010] GOTO 999
#99=#4003
G0 G90 Z[#27]
G[#99]
GOTO 999
N1791
G1 Z[-#26] M3 S[#19]
IF[98NE#4010] GOTO 999
#99=#4003
G0 G90 Z[#27]
G[#99]
GOTO 999
N18
G0 Y[#18]
G1 Y[#25] M4 S[#19]
M5
G4 P[#16]
IF[90EQ#4003] GOTO 1890
IF[91EQ#4003] GOTO 1891
N1890
G1 Y[#18] M3 S[#19]
IF[98NE#4010] GOTO 999
#99=#4003
G0 G90 Y[#27]
G[#99]
GOTO 999
N1891
G1 Y[-#25] M3 S[#19]
IF[98NE#4010] GOTO 999
#99=#4003
G0 G90 Y[#27]
G[#99]
GOTO 999
N19
G0 X[#18]
G1 X[#24] M4 S[#19]
M5
G4 P[#16]
IF[90EQ#4003] GOTO 1990
IF[91EQ#4003] GOTO 1991
N1990
G1 X[#18] M3 S[#19]
IF[98NE#4010] GOTO 999
#99=#4003
G0 G90 X[#27]
G[#99]
GOTO 999
N1991
G1 X[-#24] M3 S[#19]
IF[98NE#4010] GOTO 999
#99=#4003
G0 G90 X[#27]
G[#99]
GOTO 999
N999
M99

View File

@@ -0,0 +1,87 @@
O76 (do not remove - important for parameter handling)
IF[#0NE#19]GOTO15 (if no spindle speed has been programmed use the current speed)
#19=#4119
N15
IF[#0NE#9]GOTO16 (if no feed has been programmed use the current feed)
#9=#4109
N16
IF[17EQ#4016]GOTO17
IF[18EQ#4016]GOTO18
IF[19EQ#4016]GOTO19
M99
N17
G0 Z[#18]
G1 Z[#26] M3 S[#19]
G4 P[#16]
M5
IF[90EQ#4003] GOTO 1790
IF[91EQ#4003] GOTO 1791
N1790
G1 Z[#18]
IF[98NE#4010] GOTO 999
#99=#4003
G0 G90 Z[#27]
G[#99]
GOTO 999
N1791
G1 Z[-#26]
IF[98NE#4010] GOTO 999
#99=#4003
G0 G90 Z[#27]
G[#99]
GOTO 999
N18
G0 Y[#18]
G1 Y[#25] M3 S[#19]
G4 P[#16]
M5
IF[90EQ#4003] GOTO 1890
IF[91EQ#4003] GOTO 1891
N1890
G1 Y[#18]
IF[98NE#4010] GOTO 999
#99=#4003
G0 G90 Y[#27]
G[#99]
GOTO 999
N1891
G1 Y[-#25]
IF[98NE#4010] GOTO 999
#99=#4003
G0 G90 Y[#27]
G[#99]
GOTO 999
N19
G0 X[#18]
G1 X[#24] M3 S[#19]
G4 P[#16]
M5
IF[90EQ#4003] GOTO 1990
IF[91EQ#4003] GOTO 1991
N1990
G1 X[#18]
IF[98NE#4010] GOTO 999
#99=#4003
G0 G90 X[#27]
G[#99]
GOTO 999
N1991
G1 X[-#24]
IF[98NE#4010] GOTO 999
#99=#4003
G0 G90 X[#27]
G[#99]
GOTO 999
N999
M3
M99

View File

@@ -0,0 +1,76 @@
O81 (do not remove - important for parameter handling)
IF[#0NE#19]GOTO15 (if no spindle speed has been programmed use the current speed)
#19=#4119
N15
IF[#0NE#9]GOTO16 (if no feed has been programmed use the current feed)
#9=#4109
N16
IF[17EQ#4016]GOTO17
IF[18EQ#4016]GOTO18
IF[19EQ#4016]GOTO19
M99
N17
G0 Z[#18]
G1 Z[#26] M3
IF[98EQ#4010] GOTO 1798
IF[90EQ#4003] GOTO 1790
IF[91EQ#4003] GOTO 1791
N1798
#99=#4003
G0 G90 Z[#27]
G[#99]
GOTO 999
N1790
G0 Z[#18]
GOTO 999
N1791
G0 Z[-#26]
GOTO 999
N18
G0 Y[#18]
G1 Y[#25] M3
IF[98EQ#4010] GOTO 1898
IF[90EQ#4003] GOTO 1890
IF[91EQ#4003] GOTO 1891
N1898
#99=#4003
G0 G90 Y[#27]
G[#99]
GOTO 999
N1890
G0 Y[#18]
GOTO 999
N1891
G0 Y[-#25]
GOTO 999
N19
G0 X[#18]
G1 X[#24] M3
IF[98EQ#4010] GOTO 1998
IF[90EQ#4003] GOTO 1990
IF[91EQ#4003] GOTO 1991
N1998
#99=#4003
G0 G90 X[#27]
G[#99]
GOTO 999
N1990
G0 X[#18]
GOTO 999
N1991
G0 X[-#24]
GOTO 999
N999
M99

View File

@@ -0,0 +1,77 @@
O82 (do not remove - important for parameter handling)
IF[#0NE#19]GOTO15 (if no spindle speed has been programmed use the current speed)
#19=#4119
N15
IF[#0NE#9]GOTO16 (if no feed has been programmed use the current feed)
#9=#4109
N16
IF[17EQ#4016]GOTO17
IF[18EQ#4016]GOTO18
IF[19EQ#4016]GOTO19
M99
N17
G0 Z[#18]
G1 Z[#26] M3
G4 P[#16]
IF[98EQ#4010] GOTO 1798
IF[90EQ#4003] GOTO 1790
IF[91EQ#4003] GOTO 1791
N1798
#99=#4003
G0 G90 Z[#27]
G[#99]
GOTO 999
N1790
G0 Z[#18]
GOTO 999
N1791
G0 Z[-#26]
GOTO 999
N18
G0 Y[#18]
G1 Y[#25] M3
G4 P[#16]
IF[98EQ#4010] GOTO 1898
IF[90EQ#4003] GOTO 1890
IF[91EQ#4003] GOTO 1891
N1898
#99=#4003
G0 G90 Y[#27]
G[#99]
GOTO 999
N1890
G0 Y[#18]
GOTO 999
N1891
G0 Y[-#25]
GOTO 999
N19
G0 X[#18]
G1 X[#24] M3
G4 P[#16]
IF[98EQ#4010] GOTO 1998
IF[90EQ#4003] GOTO 1990
IF[91EQ#4003] GOTO 1991
N1998
#99=#4003
G0 G90 X[#27]
G[#99]
GOTO 999
N1990
G0 X[#18]
GOTO 999
N1991
G0 X[-#24]
GOTO 999
N999
M99

View File

@@ -0,0 +1,109 @@
O83 (do not remove - important for parameter handling)
IF[#0NE#19]GOTO15 (if no spindle speed has been programmed use the current speed)
#19=#4119
N15
IF[#0NE#9]GOTO16 (if no feed has been programmed use the current feed)
#9=#4109
N16
#28=#18-#26 (total cut depth = start depth - target depth)
IF[91NE#4003] GOTO 10
#28=#26
N10
#29=0 (current cut depth)
#30=#4003
IF[17EQ#4016]GOTO17
IF[18EQ#4016]GOTO18
IF[19EQ#4016]GOTO19
M99
N17
G0 Z[#18]
IF[#28LE#17] GOTO1700
N1710
#29=#29+#17
IF[#28LE#29] GOTO1700
G1 G91 Z[-#17] M3
G0 G91 Z[ #29]
G0 G91 Z[-#29]
GOTO1710
N1700
G1 G[#30] Z[#26] M3
IF[98EQ#4010] GOTO 1798
IF[90EQ#4003] GOTO 1790
IF[91EQ#4003] GOTO 1791
N1798
#99=#4003
G0 G90 Z[#27]
G[#99]
GOTO 999
N1790
G0 Z[#18]
GOTO 999
N1791
G0 Z[-#26]
GOTO 999
N18
G0 Y[#18]
IF[#28LE#17] GOTO1800
N1810
IF[#28LE#29] GOTO1800
#29=#29+#17
G1 G91 Y[-#17] M3
G0 G91 Y[ #29]
G0 G91 Y[-#29]
GOTO1810
N1800
G1 G[#30] Y[#25] M3
IF[98EQ#4010] GOTO 1898
IF[90EQ#4003] GOTO 1890
IF[91EQ#4003] GOTO 1891
N1898
#99=#4003
G0 G90 Y[#27]
G[#99]
GOTO 999
N1890
G0 Y[#18]
GOTO 999
N1891
G0 Y[-#25]
GOTO 999
N19
G0 X[#18]
IF[#28LE#17] GOTO1900
N1910
IF[#28LE#29] GOTO1900
#29=#29+#17
G1 G91 X[-#17] M3
G0 G91 X[ #29]
G0 G91 X[-#29]
GOTO1910
N1900
G1 G[#30] X[#24] M3
IF[98EQ#4010] GOTO 1998
IF[90EQ#4003] GOTO 1990
IF[91EQ#4003] GOTO 1991
N1998
#99=#4003
G0 G90 X[#27]
G[#99]
GOTO 999
N1990
G0 X[#18]
GOTO 999
N1991
G0 X[-#24]
GOTO 999
N999
M99

View File

@@ -0,0 +1,89 @@
O84 (do not remove - important for parameter handling)
IF[#0NE#19]GOTO15 (if no spindle speed has been programmed use the current speed)
#19=#4119
N15
IF[#0NE#9]GOTO16 (if no feed has been programmed use the current feed)
#9=#4109
N16
IF[17EQ#4016]GOTO17
IF[18EQ#4016]GOTO18
IF[19EQ#4016]GOTO19
M99
N17
G0 Z[#18]
G1 Z[#26] M3 S[#19]
M5
G4 P[#16]
IF[90EQ#4003] GOTO 1790
IF[91EQ#4003] GOTO 1791
N1790
G1 Z[#18] M4 S[#19]
IF[98NE#4010] GOTO 999
#99=#4003
G0 G90 Z[#27]
G[#99]
GOTO 999
N1791
G1 Z[-#26] M4 S[#19]
IF[98NE#4010] GOTO 999
#99=#4003
G0 G90 Z[#27]
G[#99]
GOTO 999
N18
G0 Y[#18]
G1 Y[#25] M3 S[#19]
M5
G4 P[#16]
IF[90EQ#4003] GOTO 1890
IF[91EQ#4003] GOTO 1891
N1890
G1 Y[#18] M4 S[#19]
IF[98NE#4010] GOTO 999
#99=#4003
G0 G90 Y[#27]
G[#99]
GOTO 999
N1891
G1 Y[-#25] M4 S[#19]
IF[98NE#4010] GOTO 999
#99=#4003
G0 G90 Y[#27]
G[#99]
GOTO 999
N19
G0 X[#18]
G1 X[#24] M3 S[#19]
M5
G4 P[#16]
IF[90EQ#4003] GOTO 1990
IF[91EQ#4003] GOTO 1991
N1990
G1 X[#18] M4 S[#19]
IF[98NE#4010] GOTO 999
#99=#4003
G0 G90 X[#27]
G[#99]
GOTO 999
N1991
G1 X[-#24] M4 S[#19]
IF[98NE#4010] GOTO 999
#99=#4003
G0 G90 X[#27]
G[#99]
GOTO 999
N999
G0
M99

View File

@@ -0,0 +1,83 @@
O85 (do not remove - important for parameter handling)
IF[#0NE#19]GOTO15 (if no spindle speed has been programmed use the current speed)
#19=#4119
N15
IF[#0NE#9]GOTO16 (if no feed has been programmed use the current feed)
#9=#4109
N16
IF[17EQ#4016]GOTO17
IF[18EQ#4016]GOTO18
IF[19EQ#4016]GOTO19
M99
N17
G0 Z[#18]
G1 Z[#26] M3 S[#19]
G4 P[#16]
IF[90EQ#4003] GOTO 1790
IF[91EQ#4003] GOTO 1791
N1790
G1 Z[#18]
IF[98NE#4010] GOTO 999
#99=#4003
G0 G90 Z[#27]
G[#99]
GOTO 999
N1791
G1 Z[-#26]
IF[98NE#4010] GOTO 999
#99=#4003
G0 G90 Z[#27]
G[#99]
GOTO 999
N18
G0 Y[#18]
G1 Y[#25] M3 S[#19]
G4 P[#16]
IF[90EQ#4003] GOTO 1890
IF[91EQ#4003] GOTO 1891
N1890
G1 Y[#18]
IF[98NE#4010] GOTO 999
#99=#4003
G0 G90 Y[#27]
G[#99]
GOTO 999
N1891
G1 Y[-#25]
IF[98NE#4010] GOTO 999
#99=#4003
G0 G90 Y[#27]
G[#99]
GOTO 999
N19
G0 X[#18]
G1 X[#24] M3 S[#19]
G4 P[#16]
IF[90EQ#4003] GOTO 1990
IF[91EQ#4003] GOTO 1991
N1990
G1 X[#18]
IF[98NE#4010] GOTO 999
#99=#4003
G0 G90 X[#27]
G[#99]
GOTO 999
N1991
G1 X[-#24]
IF[98NE#4010] GOTO 999
#99=#4003
G0 G90 X[#27]
G[#99]
GOTO 999
N999
M99

View File

@@ -0,0 +1,78 @@
O86 (do not remove - important for parameter handling)
IF[#0NE#19]GOTO15 (if no spindle speed has been programmed use the current speed)
#19=#4119
N15
IF[#0NE#9]GOTO16 (if no feed has been programmed use the current feed)
#9=#4109
N16
IF[17EQ#4016]GOTO17
IF[18EQ#4016]GOTO18
IF[19EQ#4016]GOTO19
M99
N17
G0 Z[#18]
G1 Z[#26] M3
M5
IF[98EQ#4010] GOTO 1798
IF[90EQ#4003] GOTO 1790
IF[91EQ#4003] GOTO 1791
N1798
#99=#4003
G0 G90 Z[#27]
G[#99]
GOTO 999
N1790
G0 Z[#18]
GOTO 999
N1791
G0 Z[-#26]
GOTO 999
N18
G0 Y[#18]
G1 Y[#25] M3
M5
IF[98EQ#4010] GOTO 1898
IF[90EQ#4003] GOTO 1890
IF[91EQ#4003] GOTO 1891
N1898
#99=#4003
G0 G90 Y[#27]
G[#99]
GOTO 999
N1890
G0 Y[#18]
GOTO 999
N1891
G0 Y[-#25]
GOTO 999
N19
G0 X[#18]
G1 X[#24] M3
M5
IF[98EQ#4010] GOTO 1998
IF[90EQ#4003] GOTO 1990
IF[91EQ#4003] GOTO 1991
N1998
#99=#4003
G0 G90 X[#27]
G[#99]
GOTO 999
N1990
G0 X[#18]
GOTO 999
N1991
G0 X[-#24]
GOTO 999
N999
M3
M99

View File

@@ -0,0 +1,87 @@
O87 (do not remove - important for parameter handling)
IF[#0NE#19]GOTO15 (if no spindle speed has been programmed use the current speed)
#19=#4119
N15
IF[#0NE#9]GOTO16 (if no feed has been programmed use the current feed)
#9=#4109
N16
IF[17EQ#4016]GOTO17
IF[18EQ#4016]GOTO18
IF[19EQ#4016]GOTO19
M99
N17
G0 Z[#18]
G1 Z[#26] M3 S[#19]
G4 P[#16]
M5
IF[90EQ#4003] GOTO 1790
IF[91EQ#4003] GOTO 1791
N1790
G1 Z[#18]
IF[98NE#4010] GOTO 999
#99=#4003
G0 G90 Z[#27]
G[#99]
GOTO 999
N1791
G1 Z[-#26]
IF[98NE#4010] GOTO 999
#99=#4003
G0 G90 Z[#27]
G[#99]
GOTO 999
N18
G0 Y[#18]
G1 Y[#25] M3 S[#19]
G4 P[#16]
M5
IF[90EQ#4003] GOTO 1890
IF[91EQ#4003] GOTO 1891
N1890
G1 Y[#18]
IF[98NE#4010] GOTO 999
#99=#4003
G0 G90 Y[#27]
G[#99]
GOTO 999
N1891
G1 Y[-#25]
IF[98NE#4010] GOTO 999
#99=#4003
G0 G90 Y[#27]
G[#99]
GOTO 999
N19
G0 X[#18]
G1 X[#24] M3 S[#19]
G4 P[#16]
M5
IF[90EQ#4003] GOTO 1990
IF[91EQ#4003] GOTO 1991
N1990
G1 X[#18]
IF[98NE#4010] GOTO 999
#99=#4003
G0 G90 X[#27]
G[#99]
GOTO 999
N1991
G1 X[-#24]
IF[98NE#4010] GOTO 999
#99=#4003
G0 G90 X[#27]
G[#99]
GOTO 999
N999
M3
M99

View File

@@ -0,0 +1,87 @@
O88 (do not remove - important for parameter handling)
IF[#0NE#19]GOTO15 (if no spindle speed has been programmed use the current speed)
#19=#4119
N15
IF[#0NE#9]GOTO16 (if no feed has been programmed use the current feed)
#9=#4109
N16
IF[17EQ#4016]GOTO17
IF[18EQ#4016]GOTO18
IF[19EQ#4016]GOTO19
M99
N17
G0 Z[#18]
G1 Z[#26] M3 S[#19]
G4 P[#16]
M5
IF[90EQ#4003] GOTO 1790
IF[91EQ#4003] GOTO 1791
N1790
G1 Z[#18]
IF[98NE#4010] GOTO 999
#99=#4003
G0 G90 Z[#27]
G[#99]
GOTO 999
N1791
G1 Z[-#26]
IF[98NE#4010] GOTO 999
#99=#4003
G0 G90 Z[#27]
G[#99]
GOTO 999
N18
G0 Y[#18]
G1 Y[#25] M3 S[#19]
G4 P[#16]
M5
IF[90EQ#4003] GOTO 1890
IF[91EQ#4003] GOTO 1891
N1890
G1 Y[#18]
IF[98NE#4010] GOTO 999
#99=#4003
G0 G90 Y[#27]
G[#99]
GOTO 999
N1891
G1 Y[-#25]
IF[98NE#4010] GOTO 999
#99=#4003
G0 G90 Y[#27]
G[#99]
GOTO 999
N19
G0 X[#18]
G1 X[#24] M3 S[#19]
G4 P[#16]
M5
IF[90EQ#4003] GOTO 1990
IF[91EQ#4003] GOTO 1991
N1990
G1 X[#18]
IF[98NE#4010] GOTO 999
#99=#4003
G0 G90 X[#27]
G[#99]
GOTO 999
N1991
G1 X[-#24]
IF[98NE#4010] GOTO 999
#99=#4003
G0 G90 X[#27]
G[#99]
GOTO 999
N999
M3
M99

View File

@@ -0,0 +1,83 @@
O89 (do not remove - important for parameter handling)
IF[#0NE#19]GOTO15 (if no spindle speed has been programmed use the current speed)
#19=#4119
N15
IF[#0NE#9]GOTO16 (if no feed has been programmed use the current feed)
#9=#4109
N16
IF[17EQ#4016]GOTO17
IF[18EQ#4016]GOTO18
IF[19EQ#4016]GOTO19
M99
N17
G0 Z[#18]
G1 Z[#26] M3 S[#19]
G4 P[#16]
IF[90EQ#4003] GOTO 1790
IF[91EQ#4003] GOTO 1791
N1790
G1 Z[#18]
IF[98NE#4010] GOTO 999
#99=#4003
G0 G90 Z[#27]
G[#99]
GOTO 999
N1791
G1 Z[-#26]
IF[98NE#4010] GOTO 999
#99=#4003
G0 G90 Z[#27]
G[#99]
GOTO 999
N18
G0 Y[#18]
G1 Y[#25] M3 S[#19]
G4 P[#16]
IF[90EQ#4003] GOTO 1890
IF[91EQ#4003] GOTO 1891
N1890
G1 Y[#18]
IF[98NE#4010] GOTO 999
#99=#4003
G0 G90 Y[#27]
G[#99]
GOTO 999
N1891
G1 Y[-#25]
IF[98NE#4010] GOTO 999
#99=#4003
G0 G90 Y[#27]
G[#99]
GOTO 999
N19
G0 X[#18]
G1 X[#24] M3 S[#19]
G4 P[#16]
IF[90EQ#4003] GOTO 1990
IF[91EQ#4003] GOTO 1991
N1990
G1 X[#18]
IF[98NE#4010] GOTO 999
#99=#4003
G0 G90 X[#27]
G[#99]
GOTO 999
N1991
G1 X[-#24]
IF[98NE#4010] GOTO 999
#99=#4003
G0 G90 X[#27]
G[#99]
GOTO 999
N999
M99

View File

@@ -0,0 +1,42 @@
G0 G90 G49 M5
(Set the tool change position values in metric X,Y,Z)
#100001=-38.000
#100002=330.000
#100003=580.000
IF[71EQ#4006] GOTO 10
IF[21EQ#4006] GOTO 10
#100001=#100001/25.4
#100002=#100002/25.4
#100003=#100003/25.4
N10
N15 G0 G53 X[#100001] Y[#100002]
N20 G0 G53 Z[#100003]
##LANGUAGE AC
INT nToolID;
nToolID = getVariable("#4120");
IF (nToolID > 0);
generateTool (getToolNameByNumber(nToolID), "S");
ENDIF;
IF (exist (getCurrentTool ("S")));
visibility ( getCurrentTool ("S"), OFF, TRUE);
collision (OFF, getCurrentTool ("S"));
release ( getCurrentTool ("S"));
ENDIF;
IF (exist (getNextTool ("S")));
grasp ( getNextTool ("S"), getSpindleObject ("S"));
position ( getNextTool ("S"), 0, 0, 0, 0, 0, 0);
visibility ( getNextTool ("S"), ON, TRUE);
collision (ON, getNextTool ("S"), 2, -0.01);
activateNextTool ("S");
ENDIF;
##LANGUAGE NATIVE
G43 H1
M99

View File

@@ -0,0 +1,40 @@
#
# Copyright (c) 2019 Siemens Industry Software Inc.
# Unpublished - All rights reserved
#
#
#
# ================================================================
import CSEWrapper
import CSETNC
from CSEWrapper import Vector3
from CSEWrapper import ChannelState
from CseTNC_Methods import ControllerMethods
from CseTNC_Metacodes import ControllerMetacodes
class TNC_sim04_Methods(ControllerMethods):
# Use this class to add machine specific methods.
# DUMMY method shows exemplarily how to implement custom methods.
def DummyMethod(channel : ChannelState):
return True
class TNC_sim04_Metacodes(ControllerMetacodes):
# Use this class to add machine specific metacodes.
# DUMMY metacode shows exemplarily how to implement custom metacodes.
def DummyMetacode(channel : ChannelState):
return True
class Controller(CSETNC.Controller):
def GetMethod(self, strMethodName : str):
return getattr(TNC_sim04_Methods, strMethodName, None)
def GetMetacode(self, strMetacodeName : str):
return getattr(TNC_sim04_Metacodes, strMetacodeName, None)
def CreateController():
# For profiling
# return CSEWrapper.Controller(TNC.Controller(), "c:\\Temp\\cse_profile.txt")
return CSEWrapper.Controller(Controller())
if __name__ == '__main__':
ctrl = CreateController()

View File

@@ -0,0 +1,89 @@
0 ;BEGIN PGM 200 MM
1 Q195 = Q197
2 Q197 = 0
3 FN 9: IF +Q195 EQU +1 GOTO LBL 200
4 Q200 = ABS Q200
5 Q202 = ABS Q202
6 Q204 = ABS Q204
7 LBL 200
8 FN 17: SYSWRITE ID212 = +3
9 FN 18: SYSREAD Q0 = ID1000 NR7441
10 Q0 = 2 * FRAC (Q0 / 2)
11 FN 9: IF +Q0 EQU +1 GOTO LBL 199
12 FN 9: IF +Q110 EQU +0 GOTO LBL 199
13 FN 9: IF +Q110 EQU +1 GOTO LBL 199
14 FN 14: ERROR = 1000
15 LBL 199
16 FN 10: IF +Q109 NE -1 GOTO LBL 198
17 FN 14: ERROR = 1001
18 LBL 198
19 FN 9: IF +Q201 EQU +0 GOTO LBL 254
20 FN 12: IF +Q201 LT +0 GOTO LBL 197
21 FN 0: Q30 = -1
22 FN 9: IF +0 EQU +0 GOTO LBL 196
23 LBL 197
24 FN 0: Q30 = +1
25 LBL 196
26 FN 9: IF +Q195 EQU +1 GOTO LBL 194
27 CALL LBL 14
28 LBL 194
29 FN 1: Q19 = +Q203 + +Q200
30 Q51 = ABS Q200
31 Q52 = ABS Q204
32 FN 11: IF +Q51 GT +Q52 GOTO LBL 2
33 FN 1: Q19 = +Q203 + +Q204
34 LBL 2
35 FN 10: IF +Q202 NE +0 GOTO LBL 21
36 FN 14: ERROR = 1030
37 LBL 21
38 FN 1: Q20 = +Q203 + +Q200
39 FN 0: Q23 = +Q203
40 FN 0: Q27 = +Q202
41 FN 0: Q31 = +Q200
42 LBL 4
43 FN 1: Q24 = +Q203 + +Q201
44 L Z+Q20 R0 F MAX
45 Q51 = ABS Q201
46 Q52 = ABS Q202
47 FN 9: IF +Q51 EQU +Q52 GOTO LBL 14
48 LBL 6
49 FN 1: Q23 = +Q23 + -Q27
50 FN 1: Q22 = +Q23 + +Q31
51 FN 10: IF +Q30 NE -1 GOTO LBL 30
52 FN 11: IF +Q23 GT +Q24 GOTO LBL 14
53 FN 9: IF +Q23 EQU +Q24 GOTO LBL 14
54 FN 9: IF +0 EQU +0 GOTO LBL 31
55 LBL 30
56 FN 12: IF +Q23 LT +Q24 GOTO LBL 14
57 FN 9: IF +Q23 EQU +Q24 GOTO LBL 14
58 LBL 31
59 L Z+Q23 FQ206
60 L Z+Q20 F MAX
61 FN 9: IF +Q210 EQU +0 GOTO LBL 180
62 CYCL DEF 9.0 VERWEILZEIT
63 CYCL DEF 9.1 V.ZEIT Q210
64 LBL 180
65 L Z+Q22 F MAX
66 FN 10: IF +Q30 NE -1 GOTO LBL 32
67 FN 12: IF +Q23 LT +Q24 GOTO LBL 6
68 FN 11: IF +0 GT +0 GOTO LBL 14
69 LBL 32
70 FN 11: IF +Q23 GT +Q24 GOTO LBL 6
71 LBL 14
72 FN 9: IF +Q195 EQU +1 GOTO LBL 193
73 FN 3: Q200 = +Q200 * +Q30
74 FN 3: Q202 = +Q202 * +Q30
75 FN 3: Q204 = +Q204 * +Q30
76 LBL 0
77 LBL 193
78 L Z+Q24 R0 FQ206
79 FN 9: IF +Q211 EQU +0 GOTO LBL 181
80 CYCL DEF 9.0 VERWEILZEIT
81 CYCL DEF 9.1 V.ZEIT Q211
82 LBL 181
83 L Z+Q20 F MAX
84 FN 9: IF +Q195 EQU +1 GOTO LBL 254
85 L Z+Q19 F MAX
86 LBL 254
87 ;END PGM 200 MM

View File

@@ -0,0 +1,120 @@
0 ;BEGIN PGM 203 MM
1 Q195 = Q197
2 Q197 = 0
3 FN 9: IF +Q195 EQU +1 GOTO LBL 200
4 Q200 = ABS Q200
5 Q202 = ABS Q202
6 Q204 = ABS Q204
7 Q205 = ABS Q205
8 Q212 = ABS Q212
9 Q213 = ABS Q213
10 LBL 200
11 FN 17: SYSWRITE ID212 = +3
12 FN 18: SYSREAD Q0 = ID1000 NR7441
13 Q0 = 2 * FRAC (Q0 / 2)
14 FN 9: IF +Q0 EQU +1 GOTO LBL 199
15 FN 9: IF +Q110 EQU +0 GOTO LBL 199
16 FN 9: IF +Q110 EQU +1 GOTO LBL 199
17 FN 14: ERROR = 1000
18 LBL 199
19 FN 10: IF +Q109 NE -1 GOTO LBL 198
20 FN 14: ERROR = 1001
21 LBL 198
22 FN 9: IF +Q201 EQU +0 GOTO LBL 254
23 FN 12: IF +Q201 LT +0 GOTO LBL 197
24 FN 0: Q30 = -1
25 FN 9: IF +0 EQU +0 GOTO LBL 196
26 LBL 197
27 FN 0: Q30 = +1
28 LBL 196
29 FN 9: IF +Q212 EQU +0 GOTO LBL 195
30 FN 10: IF +Q205 NE +0 GOTO LBL 195
31 FN 14: ERROR = 1031
32 LBL 195
33 FN 9: IF +Q195 EQU +1 GOTO LBL 194
34 CALL LBL 14
35 LBL 194
36 FN 10: IF +Q256 NE +0 GOTO LBL 192
37 Q256 = Q200
38 LBL 192
39 FN 1: Q19 = +Q203 + +Q200
40 Q51 = ABS Q200
41 Q52 = ABS Q204
42 FN 11: IF +Q51 GT +Q52 GOTO LBL 2
43 FN 1: Q19 = +Q203 + +Q204
44 LBL 2
45 FN 10: IF +Q202 NE +0 GOTO LBL 21
46 FN 14: ERROR = 1030
47 LBL 21
48 FN 1: Q20 = +Q203 + +Q200
49 FN 0: Q23 = +Q203
50 FN 0: Q26 = +Q206
51 FN 9: IF +Q208 EQU +0 GOTO LBL 3
52 FN 0: Q26 = +Q208
53 LBL 3
54 FN 0: Q27 = +Q202
55 FN 0: Q31 = +Q256
56 LBL 4
57 FN 0: Q25 = +0
58 FN 1: Q24 = +Q203 + +Q201
59 L Z+Q20 R0 F MAX
60 Q51 = ABS Q201
61 Q52 = ABS Q202
62 FN 9: IF +Q51 EQU +Q52 GOTO LBL 14
63 LBL 6
64 FN 9: IF +Q205 EQU +0 GOTO LBL 8
65 FN 9: IF +Q212 EQU +0 GOTO LBL 8
66 FN 9: IF +Q30 EQU -1 GOTO LBL 9
67 FN 11: IF +Q27 GT +Q205 GOTO LBL 8
68 FN 0: Q27 = +Q205
69 FN 9: IF +0 EQU +0 GOTO LBL 8
70 LBL 9
71 FN 12: IF +Q27 LT +Q205 GOTO LBL 8
72 FN 0: Q27 = +Q205
73 LBL 8
74 FN 1: Q23 = +Q23 + -Q27
75 FN 1: Q22 = +Q23 + +Q31
76 FN 2: Q27 = +Q27 - +Q212
77 FN 10: IF +Q30 NE -1 GOTO LBL 30
78 FN 11: IF +Q23 GT +Q24 GOTO LBL 14
79 FN 9: IF +Q23 EQU +Q24 GOTO LBL 14
80 FN 9: IF +0 EQU +0 GOTO LBL 31
81 LBL 30
82 FN 12: IF +Q23 LT +Q24 GOTO LBL 14
83 FN 9: IF +Q23 EQU +Q24 GOTO LBL 14
84 LBL 31
85 L Z+Q23 FQ206
86 FN 12: IF +Q25 LT +Q213 GOTO LBL 10
87 L Z+Q20 FQ26
88 FN 9: IF +Q210 EQU +0 GOTO LBL 180
89 CYCL DEF 9.0 VERWEILZEIT
90 CYCL DEF 9.1 V.ZEIT Q210
91 LBL 180
92 FN 0: Q25 = -1
93 LBL 10
94 L Z+Q22 F MAX
95 FN 1: Q25 = +Q25 + +1
96 FN 10: IF +Q30 NE -1 GOTO LBL 32
97 FN 12: IF +Q23 LT +Q24 GOTO LBL 6
98 FN 11: IF +0 GT +0 GOTO LBL 14
99 LBL 32
100 FN 11: IF +Q23 GT +Q24 GOTO LBL 6
101 LBL 14
102 FN 9: IF +Q195 EQU +1 GOTO LBL 193
103 FN 3: Q200 = +Q200 * +Q30
104 FN 3: Q202 = +Q202 * +Q30
105 FN 3: Q204 = +Q204 * +Q30
106 FN 3: Q205 = +Q205 * +Q30
107 FN 3: Q212 = +Q212 * +Q30
108 LBL 0
109 LBL 193
110 L Z+Q24 R0 FQ206
111 FN 9: IF +Q211 EQU +0 GOTO LBL 181
112 CYCL DEF 9.0 VERWEILZEIT
113 CYCL DEF 9.1 V.ZEIT Q211
114 LBL 181
115 L Z+Q20 FQ26
116 FN 9: IF +Q195 EQU +1 GOTO LBL 254
117 L Z+Q19 R0 F MAX
118 LBL 254
119 ;END PGM 203 MM

View File

@@ -0,0 +1,44 @@
0 BEGIN PGM TOOLCHANGE MM
1 M5
2 FN 18: SYSREAD Q1000 = ID20 NR2
3 FN 18: SYSREAD Q1001 = ID20 NR1
4 ; If actual tool identicall wiht preselected one skip AC block
5 FN 9: IF +Q1000 EQU +Q1001 GOTO LBL "NO_TOOLCHANGE"
0 ; Set the tool change position values in metric
0 Q1001=-38.0
0 Q1002=330.0
0 Q1003=580.0
0 L Z+Q1003 FMAX M91
0 L X+Q1001 Y+Q1002 FMAX M91
##LANGUAGE AC
INT nToolID;
nToolID = getVariable ("Q1000");
STRING strToolName;
strToolName = nToolID;
IF (nToolID > 0);
generateTool (getToolNameByNumber(nToolID), "S");
ENDIF;
IF (exist(getCurrentTool("S")));
collision (OFF, getCurrentTool("S"));
visibility ( getCurrentTool("S"), OFF, TRUE);
release ( getCurrentTool("S"));
ENDIF;
IF (exist(getNextTool("S")));
grasp ( getNextTool("S"), getJunction("SPINDLE", "S"));
position ( getNextTool("S"), 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
visibility ( getNextTool("S"), ON, TRUE);
collision (ON, getNextTool("S"), 2, -0.01);
activateNextTool ("S");
ENDIF;
##LANGUAGE NATIVE
10 FN 17: SYSWRITE ID20 NR1 = +Q1000
11 LBL "NO_TOOLCHANGE"
12 M67
13 END PGM TOOLCHANGE MM

View File

@@ -0,0 +1,8 @@
PMAC
PGUD
CHAN_DATA
TO_INI
G40 D0
M17

View File

@@ -0,0 +1,39 @@
#
# Copyright (c) 2019 Siemens Industry Software Inc.
# Unpublished - All rights reserved
#
#
#
# ================================================================
import CSEWrapper
import CSES840D
from CSEWrapper import ChannelState
from CseS840D_Methods import ControllerMethods
from CseS840D_Metacodes import ControllerMetacodes
class S840D_sim04_Methods(ControllerMethods):
# Use this class to add machine specific methods.
# DUMMY method shows exemplarily how to implement custom methods.
def DummyMethod(channel : ChannelState):
return True
class S840D_sim04_Metacodes(ControllerMetacodes):
# Use this class to add machine specific metacodes.
# DUMMY metacode shows exemplarily how to implement custom metacodes.
def DummyMetacode(channel : ChannelState):
return True
class Controller(CSES840D.Controller):
def GetMethod(self, strMethodName : str):
return getattr(S840D_sim04_Methods, strMethodName, None)
def GetMetacode(self, strMetacodeName : str):
return getattr(S840D_sim04_Metacodes, strMetacodeName, None)
def CreateController():
# For profiling
# return CSEWrapper.Controller(CSES840D.Controller(), "c:\\Temp\\cse_profile.txt")
return CSEWrapper.Controller(Controller())
if __name__ == '__main__':
ctrl = CreateController()

View File

@@ -0,0 +1,3 @@
N18088 $MN_MM_NUM_TOOL_CARRIER=1
$TX_TOOLCOUNT=1000

View File

@@ -0,0 +1,52 @@
G0 G90 D0 M5
; Set the tool change position values in metric X,Y,Z
R501=330.000
R502=38.000
R503=580.000
; check the activ unit and change values if inch is in use
; 3 for G700
IF ($P_GG[13] == 1 OR $P_GG[13] == 3)
R501 = R501 / 25.4;
R502 = R502 / 25.4;
R503 = R503 / 25.4;
ENDIF
G0 G53 X=R501 Y=R502
G0 G53 Z=R503
##LANGUAGE AC
INT nToolID;
STRING sToolName;
nToolID = getVariable("$P_TOOLP");
sToolName = getArrayElement("$TC_TP2",nToolID);
IF (sToolName != "");
generateTool (sToolName, "S");
ELSE;
IF (nToolID > 0);
generateTool (getToolNameByNumber(nToolID), "S");
ELSE;
// ERROR no Tool preselected - ?? Send error message ??
ENDIF;
ENDIF;
IF (exist(getCurrentTool("S")));
collision (OFF, getCurrentTool("S"));
visibility ( getCurrentTool("S"), OFF, TRUE);
release ( getCurrentTool("S"));
ENDIF;
IF (exist(getNextTool("S")));
grasp ( getNextTool("S"), getJunction("SPINDLE", "S"));
// grasp ( getNextTool("S"), getSpindleObject("S"));
position ( getNextTool("S"), 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
visibility ( getNextTool("S"), ON, TRUE);
collision (ON, getNextTool("S"), 2, -0.01);
activateNextTool ("S");
ENDIF;
##LANGUAGE NATIVE
D1
M99

View File

@@ -0,0 +1,48 @@
MACHINE FANUC
EVENT prefer_solution
{
UI_LABEL "Preferred Solution"
PARAM command_status
{
TYPE o
DEFVAL "Active"
OPTIONS "Active","Inactive","User Defined"
UI_LABEL "Status"
}
PARAM prefer_axis
{
TYPE o
DEFVAL "OFF"
OPTIONS "OFF", "A", "B", "C"
UI_LABEL "Preferred Axis"
}
PARAM prefer_output_min
{
TYPE d
DEFVAL "0.000000"
TOGGLE Off
UI_LABEL "Preferred Range Minimum"
}
PARAM prefer_output_max
{
TYPE d
DEFVAL "0.000000"
TOGGLE Off
UI_LABEL "Preferred Range Maximum"
}
}
EVENT program_control
{
UI_LABEL "Program Control"
CATEGORY MILL DRILL
PARAM ctrl_program_control
{
TYPE b
DEFVAL "FALSE"
UI_LABEL "Call External Subroutine for Each Operation"
}
}

View File

@@ -0,0 +1,207 @@
if {[catch {package require tbcload 1.6} err] == 1} {
return -code error "[info script]: The TclPro ByteCode Loader is not available or does not support the correct version -- $err"
}
tbcload::bceval {
TclPro ByteCode 2 0 1.7 8.4
29 0 397 62 0 0 120 0 7 29 29 -1 -1
397
w0E<!(H&s!/lSs!.EW<!.Qr<!=>YQ#3,tl#@|yTv0#>6#=8YUvF-1((+Ki<!;eQjw6)Ks!H=
;u!.lvpv62T=!8KW<!J)X<!.Qr<!E13-&3,tl#@|yTv0#>6#DbCVvMWp((+Ki<!;eQjw=>Ks
!OR;u!.lvpv62T=!?KW<!Q)X<!.Qr<!LpFB(B^a|(@|yTv0#>6#L=7WvU2d)(+Ki<!;eQjwE
VKs!Wj;u!.lvpv62T=!GKW<!Y)X<!.Qr<!Tcur*JQ;9+@|yTv0#>6#Tm*Xv|bW*(+Ki<!;eQ
jwMnKs!_-<u!.lvpv62T=!OKW<!a)X<!.Qr<!yVON-RDji-@|yTv0#>6#yHsXve=K+(+Ki<!
;eQjwU1Ls!gE<u!.lvpv62T=!WKW<!i)X<!.Qr<!dI)*0Z7DE0@|yTv0#>6#d#gYvmm>,(+K
i<!;eQjw|ILs!o|<u!dgU=!s<!%*=rtu2a99<3?/VW30oSs!EM7945un9v0xPT4z
29
?Lrg%|0Bh%|0Bh%|0Bh%|0Bh%|0Bh%M_bpv#!
29
VpAh%|0Bh%|0Bh%|0Bh%|0Bh%|0Bh%'ZZ/&)!
62
x
7
%6|,EYt|+
x
15
c_dX?sN;oA`t&7AXtB+
x
4
4/;EF
x
19
-WXiCa-IIDfVEU@e:+Y?i@w,
x
31
bVXiCAvHIDF54=63!0S/6`rO/mhk)F3+uD+cMc&
x
7
c_dX?i@w,
x
5
71GJ0M!
x
22
c_dX?,#cDF1wviCp<q-DwL6<@CSw
x
5
=G5cE1v
x
35
O7a:@(?#j@*C?<@l0p|;m!lSAsgs`:.en|;8G@BGZ1g+
x
6
;i7UAByw
x
44
ivcDF-D_`F0Y#D+69=iCGS2NDCxVE+xER.D3FME++OGA+iGoCF'4DTA
x
7
,'IIDfF-,
x
28
ivcDF-CVE+xER.D3FME++OGA+iGoCF'4DTA
x
6
F+MEFByw
x
40
R9R.D-#sJDwaSCFA62E+31VE+xER.D3FME++OGA+iGoCF'4DTA
x
8
39V5B(mIQB
x
8
6|<JD*mIQB
x
39
f@TC+2UVTAG!Uf_M.?iBrZmIDQjcM9+)3_Dp?7hC5/;EFn^c,
x
7
6BDTAxk,,
x
47
q7YhCGF2`F<MCiCiMWKF-#sJDwaSCFtBp|;m!lSAsgs`:.en|;8G@BGZ1g+
x
7
7l/bE^4c,
x
39
`4DEFc-?iBrZmIDQjcM9Qc7cD*gZ<@/2REC*C?<@%7HSAg@c,
x
10
DVTKDpWxlBFnw
x
55
LrHiEvQ7VCHG^e_`1QSA'!@;@-E|fDpwZW@wCQC+xER.D3FME++OGA+:!EoA9E0bEe4Q,
x
8
73?<@q6IID
x
31
avcDFvU?<@lXo|;m!lSAsgs`:.en|;8G@BGZ1g+
x
9
4K*+Et5K(F1v
x
51
LWebjVfD`JO_glLPfy,jN5E`Ja-lRTU2>-jEap|;m!lSAsgs`:.en|;8G@BGZ1g+
x
7
E_5cEV4c,
x
49
_.s'm0sj0QwaZ;S@B&L+>Xe|lo@HsMpP4lUc'GSA+QG)F+Ayh9jTCoA60aaE1v
x
10
Hh5cEwvMkBFnw
x
35
b%REC*C?<@9q3'D^Uo|;m!lSAsgs`:.en|;8G@BGZ1g+
x
7
D8=iCfF-,
x
37
q(Q)F;Vi|D5;sJD,<GDFc'GSA+QG)F+Ayh9jTCoA60aaE1v
x
11
Jn5cE=i>_F_4g+
x
43
f1ccEwiO.D-#sJD0EffD,oW/DkKo|;m!lSAsgs`:.en|;8G@BGZ1g+
x
8
SL2*F#7IID
x
60
AXj<^*iBgYX<.@KTwM^JL!AgYeR0vdxSZ#d3Q@CdQ>%Cd!^4H+xER.D3FME++OGA+iGoCF'4
DTA
x
14
B&v/Dk%ap@q3uSAOSw
x
30
ZbRdk(RdfZd.?iBrZmIDQjcM9Qc7cD*gZ<@NSw
x
7
GJseDdvH,
x
49
^3Bf_MsZJF&Q3<@1.TC+69=iCQS2NDoLx8Vc'GSA+QG)F+Ayh9jTCoA60aaE1v
x
10
GJseD*L7lBFnw
x
49
q(Q)F>Bo8/7/vNCIOoPN/Y#D+0g_5B+?>)F6ti|D,aR.Dm-?iBrZmIDQjcM9n!
x
8
=9p;@*mIQB
x
56
sBDE+wQ#gDP|-wEn&Y5B&V#D+#Z#j@*C?<@3@)E+-+uD+xER.D3FME++OGA+iGoCF'4DTA
x
8
H2rTAulIQB
x
39
N0YPDn^5SA5JgeD&=MLCjLo|;m!lSAsgs`:.en|;8G@BGZ1g+
x
13
@H-<@xCbOB'6K(F1v
x
30
*Ml_kI/^`yT.?iBrZmIDQjcM9Qc7cD*gZ<@NSw
x
8
TIlcE'mIQB
x
44
bL,MF&btD+xER.D3FME++OGA+piP-``IC,Zs,%RDf?C:@rCs`FPfGo/
x
11
o4jY?8ik)Fh^c,
x
3
f;Q&
x
5
sB-<@Ev
x
3
ndD-
x
33
X=@U?*7MaEomK;@gKi'Fn^(kBy%ap@id,<@&?0bE?v
x
3
bdD-
i
4
i
0
x
0
0
0
}

View File

@@ -0,0 +1,193 @@
MACHINE PRETREATMENT
FORMATTING
{
WORD_SEPARATOR " "
END_OF_LINE "\135"
SEQUENCE sequence_number 10 10 1 99999
FORMAT AbsCoord "&__5.3_"
FORMAT Coordinate "&__5.3_"
FORMAT Digit_2 "&_02_00"
FORMAT Digit_4 "&_04_00"
FORMAT Digit_5 "&__5_00"
FORMAT Dwell_SECONDS "&__5.3_"
FORMAT EventNum "&+03_00"
FORMAT Feed "&__7.2_"
FORMAT Feed_DPM "&__5.2_"
FORMAT Feed_FRN "&__5.3_"
FORMAT Feed_INV "&__5.3_"
FORMAT Feed_IPM "&__4.1_"
FORMAT Feed_IPR "&__1.4_"
FORMAT Feed_MMPM "&__5.0_"
FORMAT Feed_MMPR "&__2.3_"
FORMAT Hcode "&_02_00"
FORMAT Rev "&__4_00"
FORMAT Rotary "&__5.5_"
FORMAT String "%s"
FORMAT Tcode "&_02_00"
FORMAT Zero_int "&_01_0_"
FORMAT Zero_real "&_01.10"
ADDRESS N
{
FORMAT String
FORCE always
LEADER [$mom_sys_leader(N)]
}
ADDRESS G_motion
{
FORMAT String
FORCE off
LEADER [$mom_sys_leader(G)]
}
ADDRESS X
{
FORMAT Coordinate
FORCE always
LEADER [$mom_sys_leader(X)]
ZERO_FORMAT Zero_real
}
ADDRESS Y
{
FORMAT Coordinate
FORCE off
LEADER [$mom_sys_leader(Y)]
ZERO_FORMAT Zero_real
}
ADDRESS Z
{
FORMAT Coordinate
FORCE off
LEADER [$mom_sys_leader(Z)]
ZERO_FORMAT Zero_real
}
ADDRESS fourth_axis
{
FORMAT Rotary
FORCE off
LEADER [$mom_sys_leader(fourth_axis)]
ZERO_FORMAT Zero_real
}
ADDRESS fifth_axis
{
FORMAT Rotary
FORCE off
LEADER [$mom_sys_leader(fifth_axis)]
ZERO_FORMAT Zero_real
}
ADDRESS I
{
FORMAT Coordinate
FORCE always
LEADER [$mom_sys_leader(I)]
ZERO_FORMAT Zero_real
}
ADDRESS J
{
FORMAT Coordinate
FORCE always
LEADER [$mom_sys_leader(J)]
ZERO_FORMAT Zero_real
}
ADDRESS K
{
FORMAT Coordinate
FORCE always
LEADER [$mom_sys_leader(K)]
ZERO_FORMAT Zero_real
}
ADDRESS S
{
FORMAT Zero_int
FORCE always
LEADER "S"
}
BLOCK_TEMPLATE sequence_number
{
N[ ]
}
BLOCK_TEMPLATE sequence_number_turbo
{
N[ ]
}
BLOCK_TEMPLATE circular_move_turbo
{
G_motion[$mom_sys_circle_code(string)]
X[^POSX]
Y[^POSY]
Z[^POSZ]
fourth_axis[^POS4]
fifth_axis[^POS5]
S[$mom_spindle_speed]
}
BLOCK_TEMPLATE linear_move_turbo
{
G_motion[$mom_sys_linear_code]
X[^POSX]
Y[^POSY]
Z[^POSZ]
fourth_axis[^POS4]
fifth_axis[^POS5]
S[$mom_spindle_speed]
}
BLOCK_TEMPLATE rapid_move_turbo
{
G_motion[$mom_sys_rapid_code]
X[^POSX]
Y[^POSY]
Z[^POSZ]
fourth_axis[^POS4]
fifth_axis[^POS5]
S[$mom_spindle_speed]
}
BLOCK_TEMPLATE circular_move
{
G_motion[$mom_sys_circle_code(string)]
X[$mom_mcs_goto(0)]
Y[$mom_mcs_goto(1)]
Z[$mom_mcs_goto(2)]
fourth_axis[$mom_out_angle_pos(0)]
fifth_axis[$mom_out_angle_pos(1)]
S[$mom_spindle_speed]
}
BLOCK_TEMPLATE linear_move
{
G_motion[$mom_sys_linear_code]
X[$mom_mcs_goto(0)]
Y[$mom_mcs_goto(1)]
Z[$mom_mcs_goto(2)]
fourth_axis[$mom_out_angle_pos(0)]
fifth_axis[$mom_out_angle_pos(1)]
S[$mom_spindle_speed]
}
BLOCK_TEMPLATE rapid_move
{
G_motion[$mom_sys_rapid_code]
X[$mom_mcs_goto(0)]
Y[$mom_mcs_goto(1)]
Z[$mom_mcs_goto(2)]
fourth_axis[$mom_out_angle_pos(0)]
fifth_axis[$mom_out_angle_pos(1)]
S[$mom_spindle_speed]
}
BLOCK_TEMPLATE rapid_move_drill
{
G_motion[$mom_sys_rapid_code]
X[$mom_cycle_feed_to_pos(0)]
Y[$mom_cycle_feed_to_pos(1)]
Z[$mom_cycle_feed_to_pos(2)]
S[$mom_spindle_speed]
}
}

View File

@@ -0,0 +1,535 @@
####C#U#S#T#O#M##M#E#T#A##I#N#F#O#R#M#A#T#I#O#N##############################################
#
# Customer Data
#
# Company :
# Address :
# Contact person :
# Phone :
# Fax :
# Mail :
#
####S#T#A#R#T##C#H#A#N#G#E##H#I#S#T#O#R#Y####################################################
#
# Last changes: 01.02.2011 - UR 001 Initial Release and Installation
# 23.08.2013 - UR 002 Add keywords for comment lines (important, because automation respond)
# 03.09.2013 - UR 003 Releaseversion 1.0
# 09.10.2013 - COE 004 Changed setting of lib_ge_env(tmp_dir)
# 10.12.2013 - UR 005 Decomposing the basic functions
# 10.02.2014 - COE 006 Releaseversion 2.0
# 17.02.2014 - COE 007 Releaseversion 2.1
# 13.03.2014 - UR 008 Releaseversion 2.2
# 31.03.2014 - UR 009 Add lib_flag(PB_decontamination) to switch of PB support
# 31.03.2014 - UR 010 Releaseversion 2.3
# 11.04.2014 - UR 011 Releaseversion 2.3.1
# 12.05.2014 - UR 012 Releaseversion 2.3.2
# 18.05.2014 - UR 013 Add sourcing with the possibility of nesting folders
# 19.05.2014 - UR 014 Releaseversion 2.3.3
# 26.05.2014 - UR 015 Revision of the LIB_Shell_search_path_recursively routines when a blank is included in the path
# 16.06.2014 - COE 016 Releaseversion 2.3.4
# 16.06.2014 - UR 017 Add recursively sourcing for the pretreatment files
# 24.06.2014 - UR 018 Releaseversion 2.3.5
# 24.06.2014 - UR 019 Releaseversion 2.4
# 07.07.2014 - UR 020 Releaseversion 2.4.1
# 16.07.2014 - UR 021 Releaseversion 3.0
# 29.07.2014 - COE 022 LIB_Shell_environment_handling: lib_ge_env(installed_machines_dir,recursively)
# LIB_Shell_main: no longer call LIB_Shell_search_path_recursively
# 30.07.2014 - COE 023 Releaseversion 3.1
# 12.08.2014 - UR 024 Releaseversion 3.1.1
# 13.08.2014 - UR 025 Adopted revised texts from SPLM
# 13.08.2014 - UR 026 Releaseversion 3.2
# 13.08.2014 - UR 027 Releaseversion 3.2.1
# 15.08.2014 - COE 028 Adopt modifications SPLM
# 15.08.2014 - COE 029 Releaseversion 3.2.2
# 25.08.2014 - UR 030 Releaseversion 3.2.3
# 10.09.2014 - UR 031 Releaseversion 3.2.4
# 11.09.2014 - UR 032 Releaseversion 3.2.5
# 22.09.2014 - UR 033 Add property for "show where output comes from" and delete flag(show_where_output_comes_from)
# 29.09.2014 - COE 034 Releaseversion 3.2.6
# 13.10.2014 - COE 035 Releaseversion 3.2.7
# 21.10.2014 - COE 036 Releaseversion 3.2.8
# 04.11.2014 - COE 037 Releaseversion 3.2.9
# 11.11.2014 - UR 038 Modification of the complete post speed
# 13.11.2014 - UR 039 Modification of the complete post speed
# 21.11.2014 - COE 040 LIB_Shell_environment_handling: changde setting of lib_ge_env(installed_machines_dir,recursively)
# 28.11.2014 - COE 041 Releaseversion 3.2.10
# 22.12.2014 - UR 042 Releaseversion 3.3
# 22.12.2014 - UR 043 Releaseversion 3.3.1
# 05.01.2015 - UR 044 Releaseversion 3.3.2 and changed the Copyright
# 06.01.2015 - UR 045 Releaseversion 3.3.3
# 06.01.2015 - UR 046 Releaseversion 3.3.4
# 07.01.2015 - UR 047 Releaseversion 3.3.5
# 11.01.2015 - UR 048 Releaseversion 3.3.6
# 11.01.2015 - COE 049 Bugfix if the current directory has spaces
# 13.01.2015 - COE 050 Releaseversion 3.3.7
# 20.01.2015 - UR 051 Change file nativename and join to LIB_Shell_format_path_names to save runtime
# 25.01.2015 - UR 052 Releaseversion 3.3.8
# 28.01.2015 - UR 053 Bugfix at LIB_Shell_environment_handling to defined the base folder
# 03.02.2015 - UR 054 Correction if the PostConfigurator structure is used
# 09.02.2015 - UR 055 Releaseversion 3.3.9
# 02.03.2015 - COE 056 Releaseversion 3.4
# 12.03.2015 - UR 057 Releaseversion 3.4.1
# 16.03.2015 - UR 058 Releaseversion 3.4.2
# 30.03.2015 - UR 059 Releaseversion 3.4.3
# 20.04.2015 - COE 060 Releaseversion 3.4.4
# 28.04.2015 - COE 061 Releaseversion 3.4.5
# 15.06.2015 - UR 062 Releaseversion 3.4.6
# 15.06.2015 - UR 063 Change abort handling
# 16.06.2015 - UR 064 Releaseversion 3.4.7
# 22.06.2015 - UR 065 Releaseversion 3.4.8
# 21.07.2015 - UR 066 Releaseversion 3.4.9
# 28.07.2015 - COE 067 Releaseversion 3.4.10
# 11.08.2015 - COE 068 Releaseversion 3.4.11
# 16.08.2015 - UR 069 Save Time with Extended foreach Syntax e.g. foreach {a b c d e} [cmdReturningList] {break}
# Side note: accelerated runtime after the first index, for one index no improvement
# Comparing if Command exists now with LIB_GE_check_commands to wrote the values to an list once
# Modifications of the memory handling with Procedures K SK D unset! clear and set!, see http://wiki.tcl.tk/1923
# Removing unneeded characters and partially reformat
# 20.08.2015 - UR 070 Changed misspelling from adress to address (Bug #784)
# 20.08.2015 - UR 071 Releaseversion 3.4.12
# 21.08.2015 - UR 072 Releaseversion 3.4.13
# 24.08.2015 - COE 073 Releaseversion 3.5
# 04.09.2015 - COE 074 Releaseversion 3.5.1
# 07.09.2015 - COE 075 Releaseversion 3.5.2
# 08.09.2015 - COE 076 Releaseversion 3.5.3
# 13.09.2015 - UR 077 Performance improvement when examining whether a procedure exists and also to loading files
# 15.09.2015 - UR 078 Releaseversion 3.5.4
# 17.09.2015 - UR 079 Change the filename for the lib_ge_dll_version to lower case
# 21.09.2015 - UR 080 Releaseversion 3.6
# 29.09.2015 - UR 081 Releaseversion 3.6.1
# 30.09.2015 - UR 082 Releaseversion 3.6.2
# 05.10.2015 - UR 083 Releaseversion 3.6.3
# 26.10.2015 - UR 084 Releaseversion 3.6.4
# 27.10.2015 - UR 085 Releaseversion 3.6.5
# 18.12.2015 - COE 086 Releaseversion 3.6.6
# 13.01.2016 - UR 087 Releaseversion 3.6.7
# 25.02.2016 - UR 088 Releaseversion 3.6.8
# 07.03.2016 - UR 089 Releaseversion 3.6.9
# 24.03.2016 - COE 090 Releaseversion 3.6.10
# 13.04.2016 - UR 091 Releaseversion 3.6.11
# 20.04.2016 - UR 092 Releaseversion 3.6.12
# 28.04.2016 - UR 093 Releaseversion 3.7
# 29.04.2016 - UR 094 Releaseversion 3.7.1
# 15.05.2016 - COE 095 Releaseversion 3.7.2
# 15.05.2016 - COE 096 Releaseversion 3.7.3
# 17.05.2016 - COE 097 Releaseversion 3.7.4
# 23.05.2016 - COE 098 Releaseversion 3.7.5
# 27.06.2016 - MAN 099 Update internal documentation
# 15.08.2016 - UR 100 Releaseversion 4.0
# 24.08.2016 - UR 101 Releaseversion 4.0.1
# 04.09.2016 - COE 102 Releaseversion 4.0.2
# 05.09.2016 - COE 103 LIB_Shell_environment_handling: 'libraries', 'controller' and 'bin'
# all lowercase (we check it against the result of 'string tolower')
# (back to status of version 100)
# 05.09.2016 - COE 104 Releaseversion 4.0.3
# 08.09.2016 - UR 105 Releaseversion 4.0.4
# 22.09.2016 - UR 106 HISTORY-> Modifications to support now also Linux <-
# 24.09.2016 - UR 107 Releaseversion 4.0.5
# 25.09.2016 - UR 108 Releaseversion 4.1
# 27.09.2016 - UR 109 Releaseversion 4.1.1
# 04.10.2016 - UR 110 Releaseversion 4.1.2
# 24.10.2016 - UR 111 Releaseversion 4.1.3
# 17.11.2016 - MAN 112 Source also from UGII_POST_POOL_DIR_NG_CUSTOM
# 19.11.2016 - UR 113 Releaseversion 4.1.4
# 21.11.2016 - MAN 114 Remove again sourcing from UGII_POST_POOL_DIR_NG_CUSTOM
# 07.12.2016 - UR 115 Releaseversion 4.1.5
# 11.01.2017 - COE 116 Releaseversion 4.1.6
# 21.02.2017 - UR 117 Releaseversion 4.1.7
# 24.02.2017 - UR 118 Releaseversion 4.1.8
# 13.03.2017 - COE 119 Releaseversion 4.2
# 05.04.2017 - COE 120 Releaseversion 4.2.1
# 06.04.2017 - COE 121 Releaseversion 4.2.2
# 07.04.2017 - COE 122 Releaseversion 4.2.3
# 24.04.2017 - UR 123 Remove PUI settings and procedures
# 28.04.2017 - COE 124 Releaseversion 4.2.4
# 19.05.2017 - UR 125 Releaseversion 4.2.5
# 18.06.2017 - COE 126 Releaseversion 4.2.6
# 27.06.2017 - COE 127 Releaseversion 4.2.7
# 06.07.2017 - UR 128 Extension for the layer editor
# 31.07.2017 - UR 129 Releaseversion 4.2.8
# 01.08.2017 - UR 130 Bugfix if variable TEMP not exists within LINUX systems
# 02.08.2017 - UR 131 Releaseversion 4.2.9
# 31.08.2017 - UR 132 Add support for *.pcf
# 01.09.2017 - UR 133 Releaseversion 4.2.10
# 11.09.2017 - COE 134 Releaseversion 4.2.11
# 25.09.2017 - COE 135 Releaseversion 4.3
# 12.11.2017 - COE 136 Releaseversion 4.3.1
# 28.11.2017 - UR 137 Releaseversion 4.3.2
# 04.12.2017 - UR 138 Adding the process ID to all files that are traded through the preparation process
# 21.02.2018 - COE 139 Releaseversion 4.3.3
# 12.03.2018 - UR 140 File contents revised for TCL8.6 and converted to UTF-8
# 14.03.2018 - UR 141 Releaseversion 4.4
# 20.03.2018 - UR 142 Releaseversion 4.4.1
# 12.04.2018 - UR 143 Releaseversion 4.4.2
# 04.05.2018 - UR 144 Releaseversion 4.4.3
# 14.05.2018 - UR 145 Releaseversion 4.4.4
# 02.07.2018 - UR 146 Releaseversion 4.4.5
# 20.07.2018 - COE 147 Releaseversion 4.4.6
# 10.09.2018 - UR 148 Releaseversion 4.4.7
# 24.09.2018 - UR 149 Releaseversion 4.4.8
# 08.10.2018 - UR 150 Releaseversion 4.4.9
# 18.10.2018 - COE 151 Releaseversion 4.5
# 11.01.2019 - UR 152 Releaseversion 4.6.1
# 08.02.2019 - UR 153 Releaseversion 4.6.2
# 16.03.2019 - UR 154 Releaseversion 4.6.3
# 21.03.2019 - UR 155 Function revision so that the MOM Execute can also be loaded in versions >= 1847
# 28.03.2019 - COE 156 Releaseversion 4.7
# 11.04.2019 - UR 157 Releaseversion 4.7.1
# 18.04.2019 - UR 158 Releaseversion 4.7.2
# 07.05.2019 - UR 159 Releaseversion 5.0
# 08.07.2019 - UR 160 Releaseversion 5.0.1
# 31.07.2019 - UR 161 Releaseversion 5.0.2
# 16.08.2019 - COE 162 Releaseversion 5.0.3
# 21.08.2019 - COE 163 Releaseversion 5.1.0
# 20.09.2019 - COE 164 Releaseversion 5.2.0
# 06.11.2019 - UR 165 Releaseversion 5.2.3
# 27.12.2019 - UR 166 Releaseversion 5.2.4
# 31.01.2020 - COE 167 Releaseversion 5.2.5
# 02.03.2020 - UR 168 Releaseversion 5.2.6
# 19.03.2020 - COE 169 Releaseversion 5.2.7
# 25.03.2020 - COE 170 Releaseversion 5.3.0
# 23.04.2020 - UR 171 Bugfix set lib_ge_dll_version instead of dotnet_version
# 01.07.2020 - COE 172 Releaseversion 5.3.1
# 09.07.2020 - COE 173 Releaseversion 5.3.2
# 06.09.2020 - COE 174 Releaseversion 5.3.3
# 15.09.2020 - COE 175 Releaseversion 5.3.4
# 26.09.2020 - COE 176 Releaseversion 5.3.5
# 26.11.2020 - COE 177 Releaseversion 5.3.6
# 24.01.2021 - COE 178 Releaseversion 5.3.7
# 06.02.2021 - COE 179 Releaseversion 5.3.8
# 15.03.2021 - COE 180 Releaseversion 5.3.9
# 13.04.2021 - COE 181 Releaseversion 5.4.0
# 16.05.2021 - COE 182 Bug#2260: check UGII_TMP_DIR first, use system-env only as fallback
# 02.06.2021 - COE 183 Releaseversion 5.4.1
# 11.06.2021 - COE 184 Linux compatibility
# 21.07.2021 - COE 185 Releaseversion 5.4.2
# 03.09.2021 - COE 186 Releaseversion 5.4.3
# 07.09.2021 - COE 187 Releaseversion 5.4.4
# 29.09.2021 - COE 188 Releaseversion 5.5.0
# 25.10.2021 - COE 189 Releaseversion 5.5.1
# 24.11.2021 - COE 190 Releaseversion 5.5.2
# 19.02.2022 - COE 191 Releaseversion 5.5.3
# 06.03.2022 - COE 192 Releaseversion 5.5.4
# 08.04.2022 - COE 193 Releaseversion 5.5.5
# 13.07.2022 - COE 194 Releaseversion 5.5.6
# 07.09.2022 - COE 195 Releaseversion 5.5.7
# 24.09.2022 - COE 196 Releaseversion 5.5.8
# 15.01.2023 - COE 197 Releaseversion 23.01.0
# 14.03.2023 - COE 198 Releaseversion 23.03.0
# 07.04.2023 - COE 199 Releaseversion 23.04.0
# 14.07.2023 - COE 200 Releaseversion 23.07.0
# 14.09.2023 - COE 201 Releaseversion 23.09.0
# 09.10.2023 - ET 202 Releaseversion 23.10.0
# 10.12.2023 - COE 203 Releaseversion 23.12.0
# 19.01.2024 - COE 204 Releaseversion 24.01.0
# 21.03.2024 - COE 205 Releaseversion 24.03.0
# 13.08.2024 - COE 206 Releaseversion 24.08.0
# 22.08.2024 - COE 207 Releaseversion 24.08.1
# 16.09.2024 - COE 208 Releaseversion 24.09.0
# 24.09.2024 - ET 209 Releaseversion 24.09.1
# 27.12.2024 - COE 210 Releaseversion 24.12.0
# 02.04.2025 - COE 211 Releaseversion 25.04.0
#
#
#
#
#
#
#
#
#
#############################################################################################
# Copyright 2014-2024 Siemens Product Lifecycle Management Software Inc.
# All Rights Reserved.
#
####S#T#A#N#D#A#R#D##S#O#U#R#C#I#N#G#########################################################
#____________________________________________________________________________________________
#
# Procedure debugger
#____________________________________________________________________________________________
#
set lib_ge_debug(on) 0
set lib_ge_debug(proc_watch_list) "MOM* PPLIB* PROC*"
set lib_ge_debug(var_write_trace_list) "mom_group_name"
set lib_ge_debug(proc_watch_exclude_list) "MOM_SMART* MOM_evaluate_arg MOM_before_each_add_var MOM_before_load_address"
#____________________________________________________________________________________________
set lib_debug_source_of_proc_list ""
set lib_fh_do_after_output 0 ;#if set to 0 the posttreatment loop is suppressed
if {![info exists lib_ge_platform]} {
set lib_ge_temppath ""
if {[info commands MOM_ask_env_var] != ""} {
set lib_ge_temppath [MOM_ask_env_var UGII_TMP_DIR]
}
if {[string match "*windows*" $tcl_platform(platform)]} {
set lib_ge_platform 1
set lib_ge_slash "\\"
if {$lib_ge_temppath == ""} {
if {[info exists env(TEMP)]} {
set lib_ge_temppath $env(TEMP)
} elseif {[info exists env(TMP)]} {
set lib_ge_temppath $env(TMP)
}
}
} else {
set lib_ge_platform 0
set lib_ge_slash "/"
if {$lib_ge_temppath == ""} {
if {[info exists env(TMPDIR)]} {
set lib_ge_temppath $env(TMPDIR)
}
if {![string length $lib_ge_temppath]} {
set lib_ge_temppath "${lib_ge_slash}var${lib_ge_slash}tmp"
}
}
}
}
#____________________________________________________________________________________________
# <Internal Documentation>
#
# Handling for the default environment variables
#
# <Internal Example>
#
#____________________________________________________________________________________________
proc LIB_Shell_environment_handling {} {
global lib_ge_env lib_ge_slash lib_ge_installed_machines
set lib_ge_env(post_pool_dir) [LIB_Shell_format_path_names [MOM_ask_env_var "UGII_POST_POOL_DIR_NG"]]
set lib_ge_env(cam_post_dir) [LIB_Shell_format_path_names [MOM_ask_env_var "UGII_CAM_POST_DIR"]]
set lib_ge_env(tmp_dir) [LIB_Shell_format_path_names [MOM_ask_env_var "UGII_TMP_DIR"]]
if {$lib_ge_env(tmp_dir) == ""} {set lib_ge_env(tmp_dir) $::lib_ge_temppath}
if {[string match [string tolower [file tail [file dirname [info script]]]] "libraries"]} {
set lib_ge_installed_machines [file dirname [info script]]
} else {
set lib_ge_installed_machines [info script]
}
set lib_ge_env(installed_machines_dir) [LIB_Shell_format_path_names [file dirname $lib_ge_installed_machines]]
# Needed is searchpath activ, therefore info script is wrong
if {[file exists [LIB_Shell_format_path_names "$lib_ge_env(tmp_dir)${lib_ge_slash}pretreatment_script.tcl"]]} {source [LIB_Shell_format_path_names "$lib_ge_env(tmp_dir)${lib_ge_slash}pretreatment_script.tcl"]}
set lib_ge_env(installed_machines_dir,recursively) ""
lappend lib_ge_env(installed_machines_dir,recursively) $lib_ge_env(installed_machines_dir)
set current_dir [pwd]
if {![catch {cd [lindex $lib_ge_env(installed_machines_dir,recursively) 0]}]} {
if {![catch {set dir [string tolower [glob *]]}]} {
foreach e {libraries controller bin} {
set index [lsearch -exact $dir $e]
if {$index > -1} {
set directory [lindex $dir $index]
set directory [string toupper [string index $directory 0]][string range $directory 1 end]
lappend lib_ge_env(installed_machines_dir,recursively) [LIB_Shell_format_path_names "[lindex $lib_ge_env(installed_machines_dir,recursively) 0]$lib_ge_slash$directory"]
}
}
}
}
cd $current_dir
if {![regexp -nocase -- {\w+} $lib_ge_env(post_pool_dir)]} {set lib_ge_env(post_pool_dir) $lib_ge_env(installed_machines_dir)}
set lib_ge_env(version_bit) [MOM_ask_env_var "UGII_VERSION_BIT"]
set lib_ge_env(base_dir) [MOM_ask_env_var "UGII_BASE_DIR"]
set lib_ge_env(compatible_base_release_version) [MOM_ask_env_var "NX_COMPATIBLE_BASE_RELEASE_VERSION"]
set lib_ge_env(major_version) [MOM_ask_env_var "UGII_MAJOR_VERSION"]
set lib_ge_env(minor_version) [MOM_ask_env_var "UGII_MINOR_VERSION"]
set lib_ge_env(subminor_version) [MOM_ask_env_var "UGII_SUBMINOR_VERSION"]
if {![info exists lib_ge_dll_version]} {global lib_ge_dll_version}
if {$lib_ge_env(minor_version) > 0} {
set lib_ge_dll_version "nx$lib_ge_env(major_version)$lib_ge_env(minor_version)"
} else {
set lib_ge_dll_version "nx$lib_ge_env(major_version)"
}
if {[llength $lib_ge_env(compatible_base_release_version)] > 0} {set lib_ge_dll_version "nx$lib_ge_env(compatible_base_release_version)"}
if {[string match "*windows*" $::tcl_platform(platform)]} {
regsub -all "/" $lib_ge_env(base_dir) "\\" lib_ge_env(base_dir)
}
}
#____________________________________________________________________________________________
# <Internal Documentation>
#
# This procedure may be used to format pathnames from unix format in windows
# format and delete double backslash
#
# Output:
# D:\Temp\mom\debug.out or \\Server\Temp\mom\debug.out
#
# e.g.
# set error [LIB_Shell_format_path_names "D:/Temp/mom/debug.out"]
#
# <Example>
# set error [LIB_Shell_format_path_names "D:/Temp/mom/debug.out"]
#____________________________________________________________________________________________
proc LIB_Shell_format_path_names {pathname} {
global lib_ge_slash lib_ge lib_ge_platform
regsub -all "/" $pathname "\\" pathname
binary scan $pathname H* pathbin
if {[info exists lib_ge(format_path,$pathbin,0,0,0)]} {
return $lib_ge(format_path,$pathbin,0,0,0)
}
if {[regexp -nocase -- {^[\\\\]|^[\/\/]} $pathname]} {
regsub -all "/" $pathname "\\" pathname
}
if {$lib_ge_platform} {
regsub -all "/" $pathname "\\" pathname
if {![regexp -nocase -- {^\\\\} $pathname]} {set unc 0} else {set unc 1}
while {[regsub -- "(?q)\\\\" $pathname "\\" pathname]} {}
if {$unc} {set pathname "\\$pathname"}
} elseif {!$lib_ge_platform} {
regsub -all "\\\\" $pathname "/" pathname
if {![regexp -nocase -- {^//} $pathname]} {set unc 0} else {set unc 1}
while {[regsub -- "(?q)//" $pathname "/" pathname]} {}
if {$unc} {set pathname "/$pathname"}
}
set lib_ge(format_path,$pathbin,0,0,0) [string trim $pathname]
return $lib_ge(format_path,$pathbin,0,0,0)
}
#____________________________________________________________________________________________
# <Internal Documentation>
#
# Abort postrun
#
# <Internal Example>
#
#____________________________________________________________________________________________
proc LIB_Shell_abort {message} {
MOM_output_to_listing_device $message
MOM_log_message $message
MOM_abort $message
}
#____________________________________________________________________________________________
# <Internal Documentation>
#
# Handling for the main shell
#
# <Internal Example>
#
#____________________________________________________________________________________________
proc LIB_Shell_main {} {
global lib_ge_env lib_ge_slash
global lib_cycle_path sourcefile
LIB_Shell_environment_handling
lappend ::lib_ge_monitored_files [LIB_Shell_format_path_names [info script]]
if {[info commands LIB_GE_source] == ""} {
set lib_cycle_path 0
set searchpath $lib_ge_env(installed_machines_dir,recursively)
lappend searchpath $lib_ge_env(post_pool_dir)
foreach path $searchpath {
if {$lib_cycle_path} {break}
foreach ext {.tcl .tbc .pcf} {
set sourcefile [LIB_Shell_format_path_names "$path${lib_ge_slash}lib_sourcing$ext"]
if {[file exists $sourcefile]} {
if {[string match ".tbc" $ext]} {
LIB_Shell_abort "ByteCode Loader is not available, cannot process lib_sourcing$ext"
}
uplevel #0 {
set err ""
if {$tcl_version >= 8.6 && [catch {source -encoding utf-8 $sourcefile} err]} {
if {[info exists ::errorInfo]} {MOM_output_to_listing_device "errorInfo $::errorInfo"}
LIB_Shell_abort "File lib_sourcing $err not loadable"
}
if {$tcl_version < 8.6 && [catch {source $sourcefile} err]} {
if {[info exists ::errorInfo]} {MOM_output_to_listing_device "errorInfo $::errorInfo"}
LIB_Shell_abort "File lib_sourcing $err not loadable"
}
if {[string length $err] > 0} {
set lib_ge_debug(lib_sourcing) "$sourcefile"
lappend lib_ge_monitored_files "$sourcefile"
lappend lib_ge_log_message "\n--> $sourcefile loaded"
set lib_cycle_path 1 ; break
}
}
}
}
}
if {!$lib_cycle_path} {
LIB_Shell_abort "File lib_sourcing not found"
}
}
LIB_Shell_init
}
#____________________________________________________________________________________________
# <Internal Documentation>
#
# Handling for the default environment variables
#
# <Internal Example>
#
#____________________________________________________________________________________________
proc LIB_Shell_defined_post_environment {} {
global lib_ge_env lib_ge_slash lib_pp_source_file
#____________________________________________________________________________________________
#
# NX Post, load files
#____________________________________________________________________________________________
#
# There are different ways to source each files
#
# e.g. Befor LIB_GE_source call
# lappend lib_pp_source_file "machine,UGII_CAM_POST_DIR"
#
# e.g. After LIB_GE_source call
# LIB_GE_source "Test" "C:/Temp/;d:/tmp/"
#
# e.g. To define a searchpath
# LIB_GE_source "" "C:/Temp/;UGII_CAM_POST_DIR"
# Allowed is the direct path and/or variable
# This is the call the PB post LIB_GE files
# ** internal funktion / Don't remove this line **
if {[file exists "$lib_ge_env(tmp_dir)${lib_ge_slash}pt_source_list_[pid].tcl"]} {
LIB_GE_source pt_source_list_[pid] "$lib_ge_env(tmp_dir)${lib_ge_slash}" ".tcl" 0 0 "RUNTIME"
LIB_GE_source lib_pretreatment_post
} else {
lappend lib_pp_source_file "ugpost_base" "lib_msg" "lib_file_handling" "lib_standard_post_func" "lib_document" "lib_pretreatment_post"
LIB_GE_source
}
}
LIB_Shell_main
####S#T#A#R#T##C#U#S#T#O#M##M#O#D#I#F#I#C#A#T#I#O#N#S########################################
####E#N#D##C#U#S#T#O#M##M#O#D#I#F#I#C#A#T#I#O#N#S############################################
#############################################################################################
# This is to debug
#############################################################################################
if {[info commands LIB_GE_debug] != ""} {LIB_GE_debug}

View File

@@ -0,0 +1,22 @@
if {[catch {package require tbcload 1.6} err] == 1} {
return -code error "[info script]: The TclPro ByteCode Loader is not available or does not support the correct version -- $err"
}
tbcload::bceval {
TclPro ByteCode 2 0 1.7 8.4
1 0 6 2 0 0 4 0 2 1 1 -1 -1
6
w0E<!4!!
1
z
1
&!
2
x
16
c_dX?fIbOBh++Y?r^oRA
x
4
P#AM9
0
0
}

View File

@@ -0,0 +1,22 @@
MACHINE FANUC
FORMATTING
{
SEQUENCE sequence_number 1 1 1 999999
BLOCK_TEMPLATE return_rotary_axis_to_zero
{
G_mode[$mom_sys_output_code(ABSOLUTE)]
G_return[$mom_sys_return_code]
G_motion[$mom_sys_rapid_code]
fourth_axis[0]\opt
fifth_axis[0]\opt
}
}

View File

@@ -0,0 +1,340 @@
if {[catch {package require tbcload 1.6} err] == 1} {
return -code error "[info script]: The TclPro ByteCode Loader is not available or does not support the correct version -- $err"
}
tbcload::bceval {
TclPro ByteCode 2 0 1.7 8.4
41 0 496 79 0 0 256 0 7 41 41 -1 -1
496
w0E<!:B`W!9ytt!*TA9v=|yTv0#>6#4,o9v/c8=!3iA=!9fAs!.lvpv<k60%/HW<!7Qr<!Ge
Uqv7YQK%:(NH&75o9v8D5>!<J>>!9fAs!72#pvL!f`'/HW<!.Qr<!IG(qv;(ic&@^FB(Dyo9
v?nt>!X%2?!a^!svCg'w)ExJE'y,@<*0KW<!Z7M?!^+;?!LlJs!Z,xW*dyWT+O.6Uv?nt>!j
x.@!o'OsvCg'w)l=53-a;@<*0KW<!J,f=!oa7@!QlJs!JFRK%ltWT+Jt5Uv?nt>!g%2?!k'O
svCg'w)hD_Z)fhro+0KW<!g0n@!_Ih?!LlJs!hU--/_MWT+Jt5Uv?nt>!k%2?!f^!svCg'w)
lP_Z)a;@<*0KW<!kH=A!_Ih?!LlJs!lwEE0u:XT+Jt5Uv?nt>!3aaA!f^!svCg'w)7N#w2a;
@<*0KW<!pfjA!%Jh?!QlJs!Njic&&MXT+Jt5Uv?nt>!m):B!k'OsvCg'w)G6^Z)fhro+0KW<
!AKi<!(Jh?!LlJs!AJ|Tv)VXT+O.6Uv?nt>!w&2?!f^!svfN594Iemo4M(OQ5Q@0362QW<!U
rQC!Y)dC!bbSv#wGt&:W-_c8vLq9vtXWD!dA3D!#LE!!
41
38PpvM=xOwM=xOwSaN1%UaN1%UaN1%UaN1%UaN1%UaN1%x6Th%,!
41
>e-OwM=xOwM=xOwUaN1%UaN1%UaN1%UaN1%UaN1%UaN1%Yg*Pw+!
79
x
25
u^sY?nR'Z?<OFY?-lo(Fpr<JDf!?r@>v
x
5
5+GJ0R!
x
25
u^sY?nR'Z?=OFY?-lo(Fpr<JDf!?r@>v
x
19
u^sY?nR'Z?@5--E56K^FmpD-
x
4
YvQ)<
x
17
H`ZS7jv-H;P3MTA73=JD3v
x
3
ndD-
x
22
#@IIDuV1`FEPMEF/56-E=;2EF@Pw
x
3
P'-)
x
16
H`ZS7jv-H;Y;5cEt`<JD
x
9
w;+Y?l4O:@8v
i
1
x
11
_%97AqE7IDUvg+
x
35
u^sY?3DccErvtJ:IZMg9|y,%=rvtJ:IZMg9qqXi9P6c)
x
13
H`ZS7j#mS7gKxhC1v
x
13
@5--E3wj'FvtCkBDv
x
3
!%!-
x
18
@5--E3wj'FvtCkB!%@hC?Yw
x
15
H`ZS7jv-H;Ti&fDp^;-
x
36
.XIIDh*)9Aq,BCFxv|RA-(wSA&3TfD8>d#H'#lDF1oG)F
x
19
hIa:@he`p@mFYjBi7|mAytf+
i
0
x
14
s9-x?!1q-Db!VkBJSw
x
22
82_`F+p/CF!YjY?g3IIDh0m*EY(%
x
81
82_`FtX>OBm(+Y?snATAAl9KDp)X/DBwf|=8JfCF,n'Z?.F?<@#;+:@+qTZ?4T(=H3:)E+V`
w<6!BK(FvpNaE.'aaE3?ffD(Q0bE;v
x
31
X=@U?P8NX6dddU?#k|Z?9cT,E<(vwHSq/q@m3<-
x
21
H`ZS7V?h-:'T_p@;2ccEw1cSA>v
x
3
xIQ,
x
14
Ao.Q8_qVp6Jp|V6UD#
x
4
<^977
x
14
H`ZS7V?h-:`Vep7:uv
x
11
@5--E&Y|mAPY|+
x
26
.F?<@gyEU@wQ5cE3tQfD&@VTAgrnCFN%%
x
5
Ao.Q8d!
x
8
>7Xp6dRMy=
x
11
H`ZS7lIxU?i@w,
x
83
0ot)FYk*Y?u9p;@EPiSA&k54BhWA(F|1J>+0ot)FYk*Y?u9p;@FPiSA&k54BhWA(F^7S>+0o
t)FYk*Y?u9p;@GPiSA&k54BhWA(F?qJ&
x
8
>Bpu5<I'q6
x
151
w3F/Ds0^Z?+sEiCU_*Y?kW`aEjEVTA1QiSA&k54BhWA(FD;I>+0ot)FYk*Y?9qm>HEPiSA&k
54BhWA(FEAR>+0ot)FYk*Y?9qm>HFPiSA&k54BhWA(FFGx>+0ot)FYk*Y?9qm>HGPiSA&k54
B&,7BGu-cOB4&O+Eb.fRAt|2TAfwhgCX.';@vaSCFl0<-
x
15
r!-x?u3uSAkWmIDeI-,
x
55
r!-x?u3uSAkWmID0k>D+hIa:@he`p@mFYjBi7|mA'A#D+b7a:@*.:Z?>A;EF/MMEF&@E-
x
16
H`ZS7lIxU?o-V5BoF5SA
x
13
H`ZS7lIxU?`=Bq@7v
x
12
H`ZS7j#mS7so.6B
x
18
H`ZS7j#mS7imK;@jX:LCNnw
x
20
H`ZS7j#mS7&Jm#H6S@2A,2lDF
x
16
H`ZS7j#mS7u&v/Dnl<JD
x
16
H`ZS7j#mS7|4sp@q3uSA
x
15
H`ZS7jv-H;NN&bEcIQ,
x
9
#a%hCfj><@<v
x
14
H`ZS7jv-H;x>ffDRhw
x
189
)W(`Fy%ap@k-V5Bj9VTAvnK;@3D3'DrHH<@%B>cE!x7hChd|Z?.0B,Es?VTA)BIIDn.jY?2B
K(FfIBq@m:K;@2-0CF&6FiC'Y#D+1,gfDX.';@fk*Y?.0B,Es?VTA7vMEF(B>cE!x7hChd|Z
?.0B,Es?VTA7vMEF(B>cE!x7hChd|Z?,l:EFrfR.D)!BCF5+dfDvFm*E'FMTAulSCF9(MEFk
^sY?%,_`FkWNaEpAP_F?v
x
17
H`ZS7jv-H;xA#-EtE.hC1v
x
55
u-V5B5.!-EtE.hCuV1`FEPMEFhireD3%,!F#+Z8Ajjp-Dv'OaE#@RdDFG;`FmxggCd%g+
x
22
'ji'F#+Z8AoBNaEjk*:@6;hAG@Pw
x
304
h?!eD7#Q)F`^CkB0@^Z?/!iTAsP5cEUqrp@v?ffDvFm*E*k>D+h?!eD7#Q)F`^CkB0@^Z?/!
iTAn0Bq@3QBfDj+|mA:J;EF)5M&Gp&BfD)plRA'NB,Es:+Y?,uk)F'j&fD%Li'F54fZEk!-8
ArfR.D)!BCF'ovlBsN`aErfR.D)!BCFs8&kB.6siCs&0CF&6FiC'Y#D+wLIlBq2TfD8>d#H+
N%QBm(+Y?.0B,Es?VTA5Q?<@rK`aEaRo;@jeEU@-6rTAq|NaE.'aaE,j&fD26sJD?h?fDkRK
Z?49BCF2!j'F3f1EF`44Y?0g_5B88=iCnNRdD|%BRAmwRdDcRo;@9h/wE&d`aEyI#SA#3BCF
1h?fDkRKZ?-RIID5T5DF
x
250
l@,SA6*OaEwI-<@e4FU@wQ5cEf?<eD;9SQBn&=mB4Q3<@0V!wHvKfCFvaSCFYF>nAr7+Y?!6
oCFmrXxG<O,!Fm&fCF'.DTAvDsp@gv|RAw^DTA!l1`F%PFY?-lo(Fpr<JD0|90DoKhgC:%,!
Fm&fCF'.DTAvDsp@gv|RAw^DTAajbnAiy*:@+qTZ?%X7lB&qsY?0Kk_F)oATAAl9KDYF>nAr
7+Y?,uk)F.?ffDj%ap@k-V5Bp&BfD7oATAAl9KD)`9fDcCbOBhm5SA)#Q)F8JfCF,n'Z?l@,
SA4mm*EAFfZE8JlcE!j&fD@Sw
x
160
kki:@0&6cE*mK;@n'RdDFG;`FwCUU@;uk_FvCNaEg3m*E2fbDFHIlcEj3q-D%)#D+'jur@v@
RdDYV*:@&FuSA+p9Z?1T>cE#mmID*dmlB'gi'F6g)s@8pDTA)Pl^F+pW/Dhd'Z?4sRQBj#Tb
E`%+Y?u5seD-&oC+'jur@v@RdD%p3mB'^/CF!YjY?-lo(FeN!iC't|7A
x
75
#@IIDuV1`FEPMEF/56-E=;2EF*+G<FlasY?@5--E3wj'F<ZBfD'k|7A4u<+Eui&fDl,B3@(B
=iC%>+Y?@5--E-Cq-DZyf+
x
15
H`ZS7jv-H;GgwhC`du,
x
33
X=@U?pY_p@vkT;@`YEU@sO,SAg+|7ArsYjB0<0bE@v
x
24
j<OV?2'aaEuwDoA(fTfDtH..DXjj:6
x
18
X=@U?WhvN9ytmX?_%97AN%%
x
19
V`w<6(fTfDtH..DZ+a:@|X2-
x
10
V`w<6hk,)<v/w
x
6
iQ<eDNSw
x
14
1^|R7X:p(<hk,)<v/w
x
33
X=@U?pY_p@vkT;@`YEU@sO,SAg+|7A&pNaE/5M&G1v
x
30
X=@U?jjdU?0g_5Bl4sY?_%97Af7ap@&:lSAY+%
x
14
47Xp6x_NX6PK687nt#
x
11
<Kc87@'(q6qWM*
x
5
;o`'<f!
x
9
E,+F;RNMg9f!
x
4
,CHr@
x
0
p
7 0 48 12 0 0 28 0 4 7 7 -1 -1
48
w0E<!-BW<!(?W<!-`vpv0#Gpv.fvpv6<W<!75bpv.o=6#6G:3w.EW<!39*!!
7
7b?0%6lr!
7
DVGUv5TE!
12
x
6
q'-W@Dhw
x
21
0g_5Bl4sY?_%97ArNRdDFG;`F@v
x
2
FVw
x
4
wm<eD
x
6
1lo(F^(%
x
8
8JfCFB4uD+
i
0
x
21
X=@U?pY_p@vkT;@`YEU@sO,SA>v
x
23
V`w<6biqg9(fTfDtH..DZ+a:@|X2-
x
51
6dV<+wQtc9;Xh'F#wj'FqKRdDm^;:+LdV<++Jvi9/MMEF0F^Z?&XVTA,JbD+5^Ww
x
14
xeb@Gg%vY?@5--E`+%
x
28
X=@U?pY_p@vkT;@`YEU@sO,SA-W1`FEPMEF
0
0
0 1
21
0g_5Bl4sY?_%97ArNRdDFG;`F@v
0 0 9
x
25
V`w<6!BK(FvpNaE.'aaE3?ffD(Q0bE;v
p
1 0 7 2 0 0 4 0 2 1 1 -1 -1
7
w0E<!)'!!
1
z
1
'!
2
x
29
X=@U?jjdU?'FMTA'j&fD26sJD-?ffD(Q0bE;v
x
3
v.E-
0
0
0 0
x
15
rpwhC;Z2b3<?<+EfqT+
0
0
}

View File

@@ -0,0 +1,53 @@
MACHINE Default
INCLUDE {
$POST_LIB_CURRENT_MACH_DIR/Controller/ctrl_fanuc_base.def
$POST_LIB_CURRENT_MACH_DIR/Controller/ctrl_fanuc_base.cdl
$POST_LIB_CURRENT_MACH_DIR/oem_ootb_5ax_fanuc.def
$POST_LIB_CURRENT_MACH_DIR/sim04_mill_4ax_fanuc.cdl
$POST_LIB_CURRENT_MACH_DIR/sim04_mill_4ax_fanuc_service.def
}

View File

@@ -0,0 +1,204 @@
<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
<Copyright>Siemens Product Lifecycle Management Software Inc.</Copyright>
<Version>2.0</Version>
<MachineName>sim04_mill_4ax_fanuc</MachineName>
<Sourcing>
<Sequence>
<Layer Name="Libraries" ReadOnly="true" SubFolder="Libraries">
<Copyright>Siemens Product Lifecycle Management Software Inc.</Copyright>
<Template>${UGII_CAM_RESOURCE_DIR}post_configurator/post_template/libraries/libraries.psl</Template>
<Version>1.00</Version>
<Order>1001</Order>
<Scripts>
<Filename Name="lib_sourcing" Processing="auto"/>
<Filename Name="lib_general" Processing="auto"/>
<Filename Name="lib_xml_handling" Processing="auto"/>
<Filename Name="lib_msg" Processing="true"/>
<Filename Name="lib_file_handling" Processing="true"/>
<Filename Name="lib_standard_post_func" Processing="true"/>
<Filename Name="lib_document" Processing="true"/>
<Filename Include="pretreatment" Name="lib_pretreatment" Processing="auto"/>
<Filename Include="pretreatment" Name="lib_pretreatment_post" Processing="auto"/>
</Scripts>
<DefinedEvents>
<Filename Include="pretreatment" Name="lib_pretreatment" Processing="auto"/>
</DefinedEvents>
<CustomerDialogs>
</CustomerDialogs>
<Functions>
</Functions>
<Comments>
<Comment>
<User>Siemens Product Lifecycle Management Software Inc.</User>
<Date>01.01.2019 12:00:00</Date>
<Text>Initial generated by Post Configurator</Text>
</Comment>
</Comments>
</Layer>
<Layer Name="Fanuc" ReadOnly="true" SubFolder="Controller">
<Copyright>Siemens Product Lifecycle Management Software Inc.</Copyright>
<Template>${UGII_CAM_RESOURCE_DIR}post_configurator/post_template/controller/fanuc/base/ctrl_fanuc_base.psl</Template>
<Version>1.00</Version>
<Order>2001</Order>
<Scripts>
<Filename Name="ctrl_fanuc_base" Processing="true"/>
<Filename Name="ctrl_fanuc_base_msg" Processing="true"/>
</Scripts>
<DefinedEvents>
<Filename Include="true" Name="ctrl_fanuc_base" Processing="auto"/>
</DefinedEvents>
<CustomerDialogs>
<Filename Include="true" Name="ctrl_fanuc_base" Processing="auto"/>
</CustomerDialogs>
<Functions>
</Functions>
<Comments>
<Comment>
<User>Siemens Product Lifecycle Management Software Inc.</User>
<Date>01.01.2019 12:00:00</Date>
<Text>Initial generated by Post Configurator</Text>
</Comment>
</Comments>
</Layer>
<Layer Name="Machine Tool Builder" ReadOnly="false">
<Copyright>Siemens Product Lifecycle Management Software Inc.</Copyright>
<Version>1.00</Version>
<Order>3001</Order>
<Scripts>
<Filename Name="sim04_mill_4ax_fanuc_mtb" Processing="true"/>
</Scripts>
<DefinedEvents>
</DefinedEvents>
<CustomerDialogs>
</CustomerDialogs>
<Functions>
</Functions>
<Comments>
<Comment>
<User>Siemens Product Lifecycle Management Software Inc.</User>
<Date>01.01.2019 12:00:00</Date>
<Text>Initial generated by Post Configurator</Text>
</Comment>
</Comments>
</Layer>
<Layer Name="Fanuc OOTB" ReadOnly="false">
<Copyright>Siemens Product Lifecycle Management Software Inc.</Copyright>
<Template>${UGII_CAM_RESOURCE_DIR}post_configurator/post_template/controller/fanuc/manufacturer/oem_ootb_5ax_fanuc.psl</Template>
<Version>1.00</Version>
<Order>4001</Order>
<Scripts>
<Filename Name="oem_ootb_5ax_fanuc" Processing="true"/>
</Scripts>
<DefinedEvents>
<Filename Name="oem_ootb_5ax_fanuc" Processing="true"/>
</DefinedEvents>
<CustomerDialogs>
</CustomerDialogs>
<Functions>
</Functions>
<Comments>
<Comment>
<User>Siemens Product Lifecycle Management Software Inc.</User>
<Date>01.01.2019 12:00:00</Date>
<Text>Initial generated by Post Configurator</Text>
</Comment>
</Comments>
</Layer>
<Layer Name="Fanuc Sample Machine Level" ReadOnly="false">
<Copyright>Siemens Product Lifecycle Management Software Inc.</Copyright>
<Template>${UGII_CAM_RESOURCE_DIR}post_configurator/post_template/controller/fanuc/machine/machine_ootb_5ax_fanuc.psl</Template>
<Version>1.00</Version>
<Order>5001</Order>
<Scripts>
<Filename Name="machine_ootb_5ax_fanuc" Processing="true"/>
</Scripts>
<DefinedEvents>
</DefinedEvents>
<CustomerDialogs>
</CustomerDialogs>
<Functions>
</Functions>
<Comments>
<Comment>
<User>Siemens Product Lifecycle Management Software Inc.</User>
<Date>01.01.2019 12:00:00</Date>
<Text>Initial generated by Post Configurator</Text>
</Comment>
</Comments>
</Layer>
<Layer Name="Service" ReadOnly="false">
<Copyright>Siemens Product Lifecycle Management Software Inc.</Copyright>
<Version>1.00</Version>
<Order>8001</Order>
<Scripts>
<Filename Name="sim04_mill_4ax_fanuc_service_fanuc" Processing="true"/>
</Scripts>
<DefinedEvents>
<Filename Name="sim04_mill_4ax_fanuc_service" Processing="true"/>
</DefinedEvents>
<CustomerDialogs>
</CustomerDialogs>
<Functions>
</Functions>
<Comments>
<Comment>
<User>Siemens Product Lifecycle Management Software Inc.</User>
<Date>01.01.2019 12:00:00</Date>
<Text>Initial generated by Post Configurator</Text>
</Comment>
</Comments>
</Layer>
<Layer Name="Customer" ReadOnly="true">
<Copyright>Siemens Product Lifecycle Management Software Inc.</Copyright>
<Version>1.00</Version>
<Order>9001</Order>
<Scripts>
<Filename Name="sim04_mill_4ax_fanuc_custom" Processing="true"/>
</Scripts>
<DefinedEvents>
</DefinedEvents>
<CustomerDialogs>
</CustomerDialogs>
<Functions>
</Functions>
<Comments>
<Comment>
<User>Siemens Product Lifecycle Management Software Inc.</User>
<Date>01.01.2019 12:00:00</Date>
<Text>Initial generated by Post Configurator</Text>
</Comment>
</Comments>
</Layer>
</Sequence>
</Sourcing>
<History>
<Comments>
<Comment>
<User>lili</User>
<Date>25.09.2019 21:49:21</Date>
<Text>Initial generated by Post Configurator</Text>
</Comment>
<Comment>
<User>lili</User>
<Date>25.09.2019 21:49:21</Date>
<Text>'Postprocessor successfully upgraded from version 4.7.1 to version 5.2.0</Text>
</Comment>
<Comment>
<User>lili</User>
<Date>30.03.2020 11:58:09</Date>
<Text>'Postprocessor successfully upgraded from version 5.2.0 - Release to version 5.3.0</Text>
</Comment>
</Comments>
<Customer>
<Company/>
<Address/>
<Contact/>
<Phone/>
<Fax/>
<Mail/>
</Customer>
</History>
<Units>Millimeters and Inches</Units>
</Configuration>

View File

@@ -0,0 +1 @@
# this file is intentionally left empty

View File

@@ -0,0 +1,322 @@
set pc_initial_library_release_of_post 50505
#############################################################################################
#
# Customer Data
#
# Company :
# Address :
# Contact person :
# Phone :
# Fax :
# Mail :
#
#############################################################################################
#
# Copyright 2014-2022 Siemens Product Lifecycle Management Software Inc.
# All Rights Reserved.
# Copyright (c) 2012-2020 Siemens Industry Software GmbH & Co. KG
#
# Die Quellcodes der Programme sind urheberrechtlich geschuetzt und
# duerfen ohne Zustimmung von Siemens Industry Software GmbH & Co. KG weder kopiert noch
# fuer andere Zwecke weiterverwendet werden.
#
# The source of the programs is protected by Copyright.
# You are not allowed to make any copies or modifications
# without consent of Siemens Industry Software GmbH & Co. KG.
#
# Le contenu de ces programmes sont protégés par copyright et ne
# peuvent pas être copiés ou réutilisés sans l'agrément de Siemens Industry Software GmbH & Co. KG
#
#############################################################################################
#____________________________________________________________________________________________
#
# Procedure debugger
#____________________________________________________________________________________________
#
set lib_ge_debug(on) 0
set lib_ge_debug(proc_watch_list) "MOM* PPLIB* PROC*"
set lib_ge_debug(var_write_trace_list) "mom_group_name"
set lib_ge_debug(proc_watch_exclude_list) "MOM_SMART* MOM_evaluate_arg MOM_before_each_add_var MOM_before_load_address"
#____________________________________________________________________________________________
set lib_debug_source_of_proc_list ""
if {![info exists lib_ge_platform]} {
set lib_ge_temppath ""
if {[info commands MOM_ask_env_var] != ""} {
set lib_ge_temppath [MOM_ask_env_var UGII_TMP_DIR]
}
if {[string match "*windows*" $tcl_platform(platform)]} {
set lib_ge_platform 1
set lib_ge_slash "\\"
if {$lib_ge_temppath == ""} {
if {[info exists env(TEMP)]} {
set lib_ge_temppath $env(TEMP)
} elseif {[info exists env(TMP)]} {
set lib_ge_temppath $env(TMP)
}
}
} else {
set lib_ge_platform 0
set lib_ge_slash "/"
if {$lib_ge_temppath == ""} {
if {[info exists env(TMPDIR)]} {
set lib_ge_temppath $env(TMPDIR)
}
if {![string length $lib_ge_temppath]} {
set lib_ge_temppath "${lib_ge_slash}var${lib_ge_slash}tmp"
}
}
}
}
if {![info exists lib_ge_env(tmp_dir)]} {
set lib_ge_env(tmp_dir) [MOM_ask_env_var "UGII_TMP_DIR"]
}
if {![string length $lib_ge_env(tmp_dir)]} {
set lib_ge_env(tmp_dir) $lib_ge_temppath
}
#____________________________________________________________________________________________
# <Documentation>
#
# Handling for the default environment variables
#
# <Example>
#
#____________________________________________________________________________________________
proc LIB_Shell_environment_handling {} {
eval global [uplevel #0 info vars]
# Language file and OS specific values
if {![info exists lib_ge_slash]} {global lib_ge_slash}
if {![info exists lib_ge_env]} {global lib_ge_env}
set lib_ge_env(post_pool_dir) [LIB_Shell_format_path_names [MOM_ask_env_var "UGII_POST_POOL_DIR_NG"]]
set lib_ge_env(cam_post_dir) [LIB_Shell_format_path_names [MOM_ask_env_var "UGII_CAM_POST_DIR"]]
set lib_ge_env(tmp_dir) [LIB_Shell_format_path_names [MOM_ask_env_var "UGII_TMP_DIR"]]
if {$lib_ge_env(tmp_dir) == ""} {set lib_ge_env(tmp_dir) $lib_ge_temppath}
global lib_ge_installed_machines
set lib_ge_installed_machines [info script]
set lib_ge_env(installed_machines_dir) [LIB_Shell_format_path_names [file dirname $lib_ge_installed_machines]]
set lib_ge_env(installed_machines_dir,recursively) ""
lappend lib_ge_env(installed_machines_dir,recursively) $lib_ge_env(installed_machines_dir)
set current_dir [pwd]
if {![catch {cd [lindex $lib_ge_env(installed_machines_dir,recursively) 0]}]} {
if {![catch {set dir [string tolower [glob *]]}]} {
foreach e {libraries controller bin} {
set index [lsearch -exact $dir $e]
if {$index > -1} {
set directory [lindex $dir $index]
set directory [string toupper [string index $directory 0]][string range $directory 1 end]
lappend lib_ge_env(installed_machines_dir,recursively) [LIB_Shell_format_path_names "[lindex $lib_ge_env(installed_machines_dir,recursively) 0]$lib_ge_slash$directory"]
}
}
}
}
cd $current_dir
if {![regexp -nocase -- {\w+} $lib_ge_env(post_pool_dir)]} {set lib_ge_env(post_pool_dir) $lib_ge_env(installed_machines_dir)}
set lib_ge_env(version_bit) [MOM_ask_env_var "UGII_VERSION_BIT"]
set lib_ge_env(base_dir) [MOM_ask_env_var "UGII_BASE_DIR"]
set lib_ge_env(major_version) [MOM_ask_env_var "UGII_MAJOR_VERSION"]
set lib_ge_env(minor_version) [MOM_ask_env_var "UGII_MINOR_VERSION"]
set lib_ge_env(subminor_version) [MOM_ask_env_var "UGII_SUBMINOR_VERSION"]
if {![info exists lib_ge_dll_version]} {global lib_ge_dll_version}
if {$lib_ge_env(minor_version) > 0} {
set lib_ge_dll_version "nx$lib_ge_env(major_version)$lib_ge_env(minor_version)"
} else {
set lib_ge_dll_version "nx$lib_ge_env(major_version)"
}
if {[string match "*windows*" $::tcl_platform(platform)]} {
regsub -all "/" $lib_ge_env(base_dir) "\\" lib_ge_env(base_dir)
}
}
#____________________________________________________________________________________________
# <Internal Documentation>
#
# This procedure may be used to format pathnames from unix format in windows
# format and delete double backslash
#
# Output:
# D:\Temp\mom\debug.out or \\Server\Temp\mom\debug.out
#
# e.g.
# set error [LIB_Shell_format_path_names "D:/Temp/mom/debug.out"]
#
# <Example>
# set error [LIB_Shell_format_path_names "D:/Temp/mom/debug.out"]
#____________________________________________________________________________________________
proc LIB_Shell_format_path_names {pathname} {
global lib_ge lib_ge_platform
binary scan $pathname H* pathbin
if {[info exists lib_ge(format_path,$pathbin,0,0,0)]} {
return $lib_ge(format_path,$pathbin,0,0,0)
}
if {[regexp -nocase -- {^[\\\\]|^[\/\/]} $pathname]} {
regsub -all "/" $pathname "\\" pathname
}
if {$lib_ge_platform} {
regsub -all "/" $pathname "\\" pathname
if {![regexp -nocase -- {^\\\\} $pathname]} {set unc 0} else {set unc 1}
while {[regsub -- "(?q)\\\\" $pathname "\\" pathname]} {}
if {$unc} {set pathname "\\$pathname"}
} elseif {!$lib_ge_platform} {
regsub -all "\\\\" $pathname "/" pathname
if {![regexp -nocase -- {^//} $pathname]} {set unc 0} else {set unc 1}
while {[regsub -- "(?q)//" $pathname "/" pathname]} {}
if {$unc} {set pathname "/$pathname"}
}
set lib_ge(format_path,$pathbin,0,0,0) [string trim $pathname]
return $lib_ge(format_path,$pathbin,0,0,0)
}
#____________________________________________________________________________________________
# <Documentation>
#
# Handling for the main shell
#
# <Example>
#
#____________________________________________________________________________________________
proc LIB_Shell_main {} {
global lib_ge_env lib_ge_slash
global lib_cycle_path sourcefile
LIB_Shell_environment_handling
lappend ::lib_ge_monitored_files [LIB_Shell_format_path_names [info script]]
if {[info commands LIB_GE_source] != "LIB_GE_source"} {
set lib_cycle_path 0
set searchpath $lib_ge_env(installed_machines_dir,recursively)
lappend searchpath $lib_ge_env(post_pool_dir)
foreach path $searchpath {
if {$lib_cycle_path} {break}
foreach ext {.tcl .tbc} {
set sourcefile [LIB_Shell_format_path_names "$path${lib_ge_slash}lib_sourcing$ext"]
if {[file exists $sourcefile]} {
if {[string match ".tbc" $ext]} {
MOM_output_to_listing_device "ByteCode Loader is not available, cannot process lib_sourcing$ext (Provid this file not encrypted)"
MOM_log_message "ByteCode Loader is not available, cannot process lib_sourcing$ext (Provid this file not encrypted)"
MOM_abort "ByteCode Loader is not available, cannot process lib_sourcing$ext (Provid this file not encrypted)"
}
uplevel #0 {
if {$::tcl_version >= 8.6} {
if {[catch {source -encoding utf-8 $sourcefile} err]} {
set lib_source_error 1
}
} else {
if {[catch {source $sourcefile} err]} {
set lib_source_error 1
}
}
if {[info exists lib_source_error] && $lib_source_error == 1} {
if {[info exists ::errorInfo]} {MOM_output_to_listing_device "errorInfo $errorInfo"}
MOM_output_to_listing_device "File lib_sourcing $err not loadable"
MOM_log_message "File lib_sourcing $err not loadable"
MOM_abort "File lib_sourcing not loadable"
} else {
set lib_ge_debug(lib_sourcing) "$sourcefile"
lappend lib_ge_monitored_files "$sourcefile"
lappend lib_ge_log_message "\n--> $sourcefile loaded"
set lib_cycle_path 1 ; break
}
}
}
}
}
if {!$lib_cycle_path} {
MOM_output_to_listing_device "File lib_sourcing not found"
MOM_log_message "File lib_sourcing not found"
MOM_abort "File lib_sourcing not found"
}
}
LIB_Shell_init
}
#____________________________________________________________________________________________
# <Documentation>
#
# Handling for the default environment variables
#
# <Example>
#
#____________________________________________________________________________________________
proc LIB_Shell_defined_post_environment {} {
global lib_pp_source_file lib_shell
#____________________________________________________________________________________________
#
# NX Post, load files
#____________________________________________________________________________________________
#
# There are different ways to source each files
#
# e.g. Befor LIB_GE_source call
# lappend lib_pp_source_file "machine,UGII_CAM_POST_DIR"
#
# e.g. After LIB_GE_source call
# LIB_GE_source "Test" "C:/Temp/;d:/tmp/"
#
# e.g. To define a searchpath
# LIB_GE_source "" "C:/Temp/;UGII_CAM_POST_DIR"
# Allowed is the direct path and/or variable
# This is the call for PB post files
# ** internal funktion / Don't remove this line **
set lib_pp_source_file ""
# This is the call the PB post LIB_GE files
# ** internal funktion / Don't remove this line **
lappend lib_pp_source_file "lib_msg" "lib_file_handling" "lib_standard_post_func" "lib_document"
# If a XML-file with the same file name found, the referenced files will also loaded
LIB_Shell_external_source
if {![info exists lib_shell(load_loader)] || $lib_shell(load_loader)} {
lappend lib_pp_source_file "[file tail [file rootname $::lib_ge_installed_machines]]_custom"
} else {
MOM_log_message "Custom level isn't loaded"
}
#############################################################################################
}
LIB_Shell_main
#############################################################################################
#############################################################################################
#############################################################################################
# This is to debug
#############################################################################################
if {[llength [info commands LIB_GE_debug]]} {LIB_GE_debug}

View File

@@ -0,0 +1,102 @@
set nondecrypted 1
proc postcon_initialize_sys_service {} {
uplevel #0 {
# ########## SYSTEM VARIABLE DECLARATIONS ##############
# set mom_sys_cir_vector "Vector - Arc Start to Center"
# set mom_sys_helix_pitch_type "rise_revolution"
# set mom_sys_zero "0"
# set mom_sys_opskip_block_leader "/"
# set mom_sys_seqnum_start "10"
# set mom_sys_seqnum_incr "10"
# set mom_sys_seqnum_freq "1"
# set mom_sys_seqnum_max "9999"
# set mom_sys_lathe_x_factor "1"
# set mom_sys_lathe_y_factor "1"
# set mom_sys_lathe_z_factor "1"
# set mom_sys_lathe_i_factor "1"
# set mom_sys_lathe_j_factor "1"
# set mom_sys_lathe_k_factor "1"
# set mom_sys_leader(N) "N"
# set mom_sys_cycle_feed_mode "MMPM"
# set mom_sys_feed_param(IPM,format) "Feed_IPM"
# set mom_sys_feed_param(IPR,format) "Feed_IPR"
# set mom_sys_feed_param(FRN,format) "Feed_INV"
# set mom_sys_contour_feed_mode(ROTARY) "MMPM"
# set mom_sys_contour_feed_mode(LINEAR_ROTARY) "MMPM"
# set mom_sys_feed_param(DPM,format) "Feed_DPM"
# set mom_sys_rapid_feed_mode(ROTARY) "MMPM"
# set mom_sys_rapid_feed_mode(LINEAR_ROTARY) "MMPM"
# set mom_sys_feed_param(MMPM,format) "Feed_MMPM"
# set mom_sys_feed_param(MMPR,format) "Feed_MMPR"
# set mom_sys_linearization_method "angle"
#
# ####### KINEMATIC VARIABLE DECLARATIONS ##############
# set mom_kin_4th_axis_direction "MAGNITUDE_DETERMINES_DIRECTION"
# set mom_kin_4th_axis_incr_switch "OFF"
# set mom_kin_4th_axis_rotation "standard"
# set mom_kin_5th_axis_direction "MAGNITUDE_DETERMINES_DIRECTION"
# set mom_kin_5th_axis_incr_switch "OFF"
# set mom_kin_5th_axis_rotation "standard"
# set mom_kin_clamp_time "2.0"
# set mom_kin_cycle_plane_change_per_axis "0"
# set mom_kin_cycle_plane_change_to_lower "0"
# set mom_kin_flush_time "2.0"
# set mom_kin_linearization_flag "1"
# set mom_kin_linearization_tol "0.01"
# set mom_kin_max_dpm "10000"
# set mom_kin_max_fpm "15000"
# set mom_kin_max_fpr "1000"
# set mom_kin_max_frn "1000"
# set mom_kin_min_dpm "0.0"
# set mom_kin_min_fpm "0.1"
# set mom_kin_min_fpr "0.1"
# set mom_kin_min_frn "0.01"
# set mom_kin_pivot_gauge_offset "0.0"
# set mom_kin_rapid_feed_rate "10000"
# set mom_kin_retract_distance "500"
# set mom_kin_rotary_axis_method "PREVIOUS"
# set mom_kin_tool_change_time "12.0"
# set mom_kin_x_axis_limit "1000"
# set mom_kin_y_axis_limit "1000"
# set mom_kin_z_axis_limit "1000"
}
}
postcon_initialize_sys_service
CONF_CTRL_moves set decompose_first_move_for_each_tool_path 0
CONF_CTRL_moves set always_center_for_circle 1
CONF_CTRL_setting set plane_output_supported NONE
CONF_CTRL_setting set absolute_output_mode ALL
CONF_GE_msg set message_dspa3 {\\\\}
CONF_SPF_warning set no_warningoutput {{SMALL ARC; ABORTED TO LINEAR MOVE}}
set ::mom_sys_home_pos(0) 330.000000
set ::mom_sys_home_pos(1) 38.000000
set ::mom_sys_home_pos(2) 580.000000
proc ootb_convert_home_pos {} {
# This proc is used to convert mom_sys_home_pos to inch ane metric units.
if {[info exists ::mom_sys_home_pos(0)]} {
set ::mom_sys_home_pos_metric(0) $::mom_sys_home_pos(0)
set ::mom_sys_home_pos_metric(1) $::mom_sys_home_pos(1)
set ::mom_sys_home_pos_metric(2) $::mom_sys_home_pos(2)
set ::mom_sys_home_pos_inch(0) [expr $::mom_sys_home_pos_metric(0)/25.4]
set ::mom_sys_home_pos_inch(1) [expr $::mom_sys_home_pos_metric(1)/25.4]
set ::mom_sys_home_pos_inch(2) [expr $::mom_sys_home_pos_metric(2)/25.4]
unset ::mom_sys_home_pos(0)
unset ::mom_sys_home_pos(1)
unset ::mom_sys_home_pos(2)
}
}
#This command must be called at very end of ootb service layer.
ootb_convert_home_pos

View File

@@ -0,0 +1,378 @@
MACHINE HEIDENHAIN
EVENT auxfun
{
UI_LABEL "Auxfun"
PARAM command_status
{
TYPE o
DEFVAL "Active"
OPTIONS "Active","Inactive","User Defined"
UI_LABEL "Status"
}
PARAM auxfun
{
TYPE i
DEFVAL "0"
UI_LABEL "Auxfun Value"
}
PARAM auxfun_text
{
TYPE s
TOGGLE Off
UI_LABEL "Text"
}
}
EVENT dwell
{
POST_EVENT "delay"
UI_LABEL "Dwell"
PARAM command_status
{
TYPE o
DEFVAL "Active"
OPTIONS "Active","Inactive","User Defined"
UI_LABEL "Status"
}
PARAM delay_mode
{
TYPE o
DEFVAL "Seconds"
OPTIONS "Seconds","Revolutions"
UI_LABEL "Dwell Type"
}
PARAM delay_value
{
TYPE d
DEFVAL "10.0000"
UI_LABEL "Dwell Value"
}
PARAM delay_text
{
TYPE s
TOGGLE Off
UI_LABEL "Text"
}
}
EVENT insert
{
UI_LABEL "Insert"
PARAM Instruction
{
TYPE s
}
}
EVENT opskip_on
{
UI_LABEL "Optional Skip On"
PARAM command_status
{
TYPE o
DEFVAL "Active"
OPTIONS "Active","Inactive","User Defined"
UI_LABEL "Status"
}
PARAM opskip_text
{
TYPE s
TOGGLE Off
UI_LABEL "Text"
}
}
EVENT opskip_off
{
UI_LABEL "Optional Skip Off"
PARAM command_status
{
TYPE o
DEFVAL "Active"
OPTIONS "Active","Inactive","User Defined"
UI_LABEL "Status"
}
PARAM opskip_text
{
TYPE s
TOGGLE Off
UI_LABEL "Text"
}
}
EVENT opstop
{
UI_LABEL "Optional Stop"
PARAM command_status
{
TYPE o
DEFVAL "Active"
OPTIONS "Active","Inactive","User Defined"
UI_LABEL "Status"
}
PARAM opstop_text
{
TYPE s
TOGGLE Off
UI_LABEL "Text"
}
}
EVENT prefun
{
UI_LABEL "Prefun"
PARAM command_status
{
TYPE o
DEFVAL "Active"
OPTIONS "Active","Inactive","User Defined"
UI_LABEL "Status"
}
PARAM prefun
{
TYPE i
DEFVAL "0"
UI_LABEL "Prefun Value"
}
PARAM prefun_text
{
TYPE s
TOGGLE Off
UI_LABEL "Text"
}
}
EVENT rotate
{
UI_LABEL "Rotate"
CATEGORY MILL DRILL LATHE
PARAM command_status
{
TYPE o
DEFVAL "Active"
OPTIONS "Active","Inactive","User Defined"
UI_LABEL "Status"
}
PARAM rotate_axis_type
{
TYPE o
DEFVAL "Table"
OPTIONS "Table","Head","Aaxis","Baxis","Caxis","Fourth_Axis","Fifth_Axis"
UI_LABEL "Rotation Axis"
}
PARAM rotation_mode
{
TYPE o
DEFVAL "None"
OPTIONS "None","Angle","Absolute","Incremental"
UI_LABEL "Type"
}
PARAM rotation_direction
{
TYPE o
DEFVAL "CLW"
OPTIONS "CLW","CCLW","NONE"
UI_LABEL "Direction"
}
PARAM rotation_angle
{
TYPE d
DEFVAL "0.0000"
TOGGLE On
UI_LABEL "Angle"
}
PARAM rotation_reference_mode
{
TYPE b
DEFVAL "FALSE"
UI_LABEL "Reference Only - No Output"
}
PARAM rotation_text
{
TYPE s
TOGGLE Off
UI_LABEL "Text"
}
}
EVENT sequence_number
{
UI_LABEL "Sequence Number"
PARAM command_status
{
TYPE o
DEFVAL "Active"
OPTIONS "Active","Inactive","User Defined"
UI_LABEL "Status"
}
PARAM sequence_mode
{
TYPE o
DEFVAL "N"
OPTIONS "N","Off","On","Auto"
UI_LABEL "Number Type"
}
PARAM sequence_number
{
TYPE i
DEFVAL "0"
UI_LABEL "Number"
}
PARAM sequence_increment
{
TYPE i
DEFVAL "0"
UI_LABEL "Increment"
}
PARAM sequence_frequency
{
TYPE i
DEFVAL "0"
UI_LABEL "Frequency"
}
PARAM sequence_text
{
TYPE s
TOGGLE Off
UI_LABEL "Text"
}
}
EVENT stop
{
UI_LABEL "Stop"
PARAM command_status
{
TYPE o
DEFVAL "Active"
OPTIONS "Active","Inactive","User Defined"
UI_LABEL "Status"
}
PARAM stop_text
{
TYPE s
TOGGLE Off
UI_LABEL "Text"
}
}
EVENT text
{
UI_LABEL "User Defined"
PARAM user_defined_text
{
TYPE s
TOGGLE On
UI_LABEL "User Defined Command"
}
}
EVENT coolant_off
{
UI_LABEL "Coolant Off"
CATEGORY MILL DRILL LATHE
PARAM command_status
{
TYPE o
DEFVAL "Active"
OPTIONS "Active","Inactive","User Defined"
UI_LABEL "Status"
}
PARAM coolant_text
{
TYPE s
TOGGLE Off
UI_LABEL "Text"
}
}
EVENT length_compensation
{
UI_LABEL "Tool Length Compensation"
CATEGORY MILL DRILL LATHE
PARAM command_status
{
TYPE o
DEFVAL "Active"
OPTIONS "Active","Inactive","User Defined"
UI_LABEL "Status"
}
PARAM Overide_operation_param
{
TYPE b
DEFVAL "TRUE"
UI_LABEL "Override Operation Parameter"
}
PARAM length_comp_register
{
TYPE i
DEFVAL "2"
UI_LABEL "Adjust Register"
}
PARAM length_comp_register_text
{
TYPE s
TOGGLE Off
UI_LABEL "Text"
}
}
EVENT prefer_solution
{
UI_LABEL "Preferred Solution"
PARAM command_status
{
TYPE o
DEFVAL "Active"
OPTIONS "Active","Inactive","User Defined"
UI_LABEL "Status"
}
PARAM prefer_axis
{
TYPE o
DEFVAL "OFF"
OPTIONS "OFF", "A", "B", "C"
UI_LABEL "Preferred Axis"
}
PARAM prefer_output_min
{
TYPE d
DEFVAL "0.000000"
TOGGLE Off
UI_LABEL "Preferred Range Minimum"
}
PARAM prefer_output_max
{
TYPE d
DEFVAL "0.000000"
TOGGLE Off
UI_LABEL "Preferred Range Maximum"
}
}
EVENT program_control
{
UI_LABEL "Program Control"
CATEGORY MILL DRILL
PARAM ctrl_program_control
{
TYPE b
DEFVAL "FALSE"
UI_LABEL "Call External Subroutine for Each Operation"
}
}

View File

@@ -0,0 +1,5 @@
MACHINE HEIDENHAIN_ITNC530
INCLUDE { $UGII_CAM_USER_DEF_EVENT_DIR/ude.cdl }

View File

@@ -0,0 +1,601 @@
if {[catch {package require tbcload 1.6} err] == 1} {
return -code error "[info script]: The TclPro ByteCode Loader is not available or does not support the correct version -- $err"
}
tbcload::bceval {
TclPro ByteCode 2 0 1.7 8.4
97 0 1001 145 1 0 488 1 14 97 117 -1 -1
1001
w0E<!(H&s!/lSs!.EW<!@Iy*'-W&=!@uW<!Ha++'1oJ=!J(ut!<k60%=tQK%B:3-&2fSs!.K
&s!8(d>!FD5>!O(%rv:tMH&N-,'(Ppm<v=,X<!Jhk>!g5eQ,dIUr+E@.<vjw(w)#s'H0ues<
!bSa<!quPRwJ-b|(G_Ts!ues<!bSa<!ocop#KqT=!eML7-|7M?!NApiwcS<9+FsB?)3FB`:L
O_w!.nMO!Jhk>!3mbT4fwC?)c'^Z)U.L=!!*Mj%GbZn-J3WW!m3o=!YFRrvOes<!bSa<!oco
p#HhT=!dGkU,dIUr+E@.<v%tmf%Wlw!*T9asvb`n<vg7P3-x9flwnC53-rxki--`t4.pAv!!
rlnf%qFol,pOPN-V=p9vBUFB(uAv!!hY:-&<k60%B:3-&2fSs!'u?(!v*<<!%7vA!Z`8s!aW
S!vl-:U-lnyc8xq00.Y@Us!PQos++x**0/s``036BB17N#w2iZ4-&jGHZvVP+7,9LFB(?);<
3dAK(:3#1%!)Qr<!juS=!GHgB!Y9265Aett!o8MQ5oQ3qvS>TX+_wriwJVqr3IFA*'VNFA!q
e?C!WTIN6Hn5UvxSa<!+Bdi6te*07ki594jwV=!`yJv#pX8yv4,>pv;uW<!#!T=!tuS=!PJ+
pwx'cf7sqyc83rn9v@btt!ec@E9s?V=!5GA*'tXWD!nIUqw#IVs!2P:B:%UV=!rIUqw&OMs!
.EW<!sUgqwb*gi6/:5|v0`8s!k,v':,q&E!<:RZ;2iSs!u^`D!&Dmu;s?V=!/w5pv):NW<*-
4qv(:NW<-64qvW7DE0(J29=,bho=ki594('4qv1*Vw#`Kn<v=,X<!Qmqo+A_5F!6kGF!bfAs
!6Oai?9^'0@/HW<!8(cF!Gu(?!IlJs!@0w-ADHZcA?MT=!<LW<!O*+&#@Dn&CIQ?HARGn#DV
_OZDZv1<E^:grEbRHTF=/-L%GJnH!M6=&#Jd%6Gj-`lG?-S08xq00.P&Xs!OHTX+nEANHC8F
<!OC_?!LT`<!QYE?)I>gavSL6(#d?E?!riFI!NApiwcS<9+FsB?)2@9`:Q&Os!Omm<v_Wn<v
=,X<!Jhk>!<nbT4fwC?)c'^Z)U.L=!3bOt%Q/gn-suFE0V5aTvH@8*'UICJ!#8C?)4,T=!_s
+pvoia,0fwC?)c'^Z)|X->!3cgJ!kve#M1`8X!j%fg&3C,?M4,T=!_s+pvyKn<v_Wn<v=,X<
!@&7K!vXr)#dF#9OsNKB(fns9vz
97
6P(qv4|`!!C@*Pwpx1@*;OX|()rr*(KCeE'1i&v!;`!!!^C6Y!>&oX!CVYY!>M,Y!>M,Y!JX
SI&yX@S#FXn*'JO<1%id.4w18P:v@=.<vA7Dw!K|r!!gsn`',!
117
D>PpvoIah&Fh^R#w?rr!R'Pa'S+_R##6WW!oow4w#6WW!.t/.&363<!T:^Z')w*!!r|NR#cm
r1%n17n#t.'')nh&')Nv7n#Y<5J&SvDR#xe5:vZWC((B;0L7`,MK&f);K&|.L|#/Ow4&RFxO
w+!
145
x
7
%6|,EYt|+
x
15
c_dX?sN;oA`t&7AXtB+
x
4
4/;EF
x
17
-WXiCvTKKDrRbJ0bN&(F1v
x
29
bVXiClej/:RRbJ0BC%(FoBCQA59XeDk.^G1Z!
x
19
c_dX?,#cDF1wviCp<q-DZLc,
x
20
-WXiCbs:kBlBqPBdR'Z?h9MTA
x
19
c_dX?,#cDF1wviCv'0CFp+g+
x
18
<gKq6>aFt5vc^K8<,(+2/|v
x
22
c_dX?,#cDF1wviCp<q-DwL6<@CSw
x
10
gU,8AiO';@Nnw
x
27
c_dX?,#cDF1wviCg@'7A0HFiCtZ7IDUvg+
x
4
m'cSA
x
4
v=xhC
x
8
<)lDFnjkSA
x
4
wm<eD
x
6
)^xlBx+%
x
9
njkSAt=sp@1v
x
4
uKhgC
x
11
qEV5B1&?cEm*E-
x
1131
^HSpFja0;@u@#D+3n'd0NbJdAtIa:@G*rZ3D|<JD&No,E5fbDFkg#lBh|2jB0k(E+mC97AhM
/C+crgm#6y)!Fh!cr@1APQB#?m;@=7G<F8APQB-PpeDx:|7A)W!iCFngm#7pZQHko<JD.I%F
+us_iApm5SA50ylB#A_|3w&|C+b#nW4k!8s+MC97AC|N3I%#um#_Y+7,6!yhCQPVp/%&#D+8
tLE+)h|7A4GTfD.Q3<@#H>0ApxBq@Fhd#HFngm#vMfCFqs_iApm5SA50ylB#A_|36!yhCC'/
F+cKxhC+D^eDtfI9>m'cSA,&TbEnjkSAruwlB'E(yG/Ny|3qEV5B1&?cER7oc3>XKV@,-T!?
?JnlB:b!wH3xfRAErgm#|=faE|'X>wd2g0Ie2g0IQ(GaBD>Ya+e<;oA9v&yG;J)*Fqs_iApm
5SA50ylB#A_|36!yhC+OUw?Dn<@wy>/:+91VE+eCBkBwm/bE1-=JD*RMZF*L%lBQ/;s+cKxh
C+D^eD=upT,kg#lBZ@5SAukC&G?yG)F%O!iCbgp-Db!VkBrdTZ?5-9<.xE;JD?JnlB:b!wH3
xfRA^kqm#e(um#-sQ,E5RbWF*L%lBXEZ%ER6tm#vMfCFqs_iApm5SA50ylB#A_|3r>+dD0bt
D+us_iApm5SA50ylB#A_|36!yhCC'/F+Z':4wR#Hq@w7DkB+pDTA/Ny|3qEV5B1&?cER7oc3
dXeK/-RIID,!BCF3+uD+gd|;@urtm#&(KTA8oATAvy/wE7f5DF3+uD+|-<w3Mm%vH9+ME+iQ
<eD*ZtfA'A#D+cwn=wa.JTA6lpT,eCBkBwm/bE1-=JDpt_iA,X:K0wsY8A`Y+7,i%97Aq_P>
+kW`aE&?0bExrgm#91VE+eCBkBwm/bE1-=JD'7Q|EtuCTA+WpT,eCBkBwm/bE1-=JDpt_iAY
2vr>Gqgm#)lP)FZh>x3D|<JD&No,E5fbDFx=)>wd9;j@0shTA<MqcBD+dfD'bG@=J>3L@vj`
aE<cir@5upT,eCBkBwm/bE1-=JD'7Q|E)o|=+eCBkBwm/bE1-=JD'7Q|E1#qm#U`PaD(p`aE
/k2DFE?)E+.5#D+l*)9Ah^oRA(cN<@r?v>wJNvL8%osdD%Vi|D<^JEF*Q5DFG&Or@.bl(Fn-
';@kC|7AJ@PQBr/`OBuIYD+0Kk_Fpcw;@C+dfD)v#D+!.2kB%FHSALrgm#7pZQH3>EP8O|U7
70AccEj7=Y?wRH<@ah>x3D|<JD&No,E5fbDFPa-98<w3j@##QMA*H7q@'RiA3waO11(,?2A_
@,nAsgC,1TPRRAGw%c1%RA.2-(4iA%M%2ArmpG1t^bJ0mG'5@do(u+B`xQHFngm#0lTfDB!(
aCrGYKA=u5cE6w_G1Gu'aCrGYKA=u5cE6w_G1_qgm#y!s!
x
6
gpbSAPSw
x
13
eCBkBwm/bE1-=JD@v
x
0
x
6
1lo(F^(%
x
4
jgTq@
i
0
i
1
x
4
(iY%G
x
13
H`ZS7Mo297_JvJ:o!
x
6
82_`FWnw
x
6
%RIIDCSw
x
3
Yt|+
x
23
ijkIDUItn7+&Mn6NuVL9ST687BlC%
x
5
ijkIDBv
x
16
Oo.29.Df^<Rbse:Vk,)<
x
11
U`;L9Cl`'<|<?)
x
6
gd|;@b:%
x
6
,Qs/DL+%
x
2
>Kv
x
16
';H2Ask,l@K*hG1M97c1
x
8
w3F/Ds/B(F
x
42
Tw+iAU*4iAL9d)2X-4iAM0.H1K'h,1)/#E2)DuMAK3Ic1-Y;iAgRw
x
7
ld^LCOef+
x
7
5uC`Fb1g+
x
2
6ew
x
13
#(q-DwL6<@J#JaDDv
x
5
5K!eD:v
x
5
0lTfD>v
x
5
WOZ-E1v
x
2
Qew
x
6
Kh5DFHSw
x
5
ekTfD>v
x
8
?2K(FmF5SA
x
6
M'cSAhAv
x
21
-EL:@8y-fD(dZRA/c%UA)'WTA0v
x
9
E;=JD5PD*FK!
x
12
o4jY?)!BCF,Qs/D
x
8
)!BCF,Qs/D
x
16
>A;EFsN;oA/#lcE.&6cE
x
4
(w=JD
x
3
k6W-
x
4
.0B,E
x
16
s@;EFSN;oA/#lcE.&6cE
x
5
1lo(F@v
x
5
r!2kB>v
x
9
3DccE,&MEF1v
x
7
/^,8AY@c,
x
9
g-ur@q<..D1v
x
10
wdmlBvY|;@ISw
x
7
0ot)FOef+
x
3
_e|+
x
4
2WACF
x
8
g-ur@+<0(F
x
4
F;0(F
x
11
0ot)FhHmIDUvg+
x
4
*dmID
x
2
nNv
x
10
0ot)Fp;G%GL(%
x
4
DP)*F
x
8
vVbD+Yk:s+
x
1
C!
x
14
6@(>6K,;s+M'cSAhAv
x
36
-EL:@8y-fD(dZRA/c%UA)'WTAI^n=+*Eo=+mSOcEEik<+
x
47
LwraEH&)p/HIa:@WQ^S@slSCF8bA!=^|xlB20E_;rZ!iCen%h/v=uD+2UWw
x
7
^8Z0/Y#6&
x
5
)lP)F1v
x
4
rmBq@
x
3
Vq|+
x
2
^Lw
x
5
2'aaE@v
x
1
G!
x
4
2u5DF
x
2
xkw
x
5
5BjiC1v
x
1
O!
x
8
uuW/D<ve#H
x
15
1!DVG3Yik.4Yik.^)-&
x
9
+jdlB!hpgC1v
x
5
a(|RA8v
x
6
*(XU@Hhw
x
5
Kt(yG@v
x
6
M'cSARAv
x
21
lWK:@8y-fD(dZRA/c%UA)'WTA0v
x
7
0s:kBemD-
i
4
x
6
7YDEFTnw
x
7
F%MEFs^c,
x
6
B^>r@Hhw
x
6
BQ?<@PSw
x
6
nimlBRSw
x
7
=W7hCVeo+
x
6
''o(F@Pw
x
3
qm#,
x
16
+_;EFVqBxF=WsJDr@hEF
x
3
ma#,
x
16
+_;EFVqBxF=WsJD<.fRA
x
8
9oW/DmgY8A
x
4
ld^LC
x
6
/LZ<@T+%
x
8
*XxlBagbSA
x
6
49BCF_(%
x
20
X=@U?nG):@/;2EFq2K(FmF5SA
x
10
M'cSA,nfb;72#
x
20
iuncB=y-fD8oATA//;EFmd|7A
x
41
hLqcB=YpJD;yqcB7APQB1h?fD7l#j@.gVTA>)ZKA-!o^FpgpgC1v
x
28
j<OV?@5--E4-0CFp-%lB63=JDy.oRAtFfRA
x
18
c_dX?w:7hC<JfTA59XeDcHv
x
9
c_dX?w:7hC8v
x
7
8ik)Fh^c,
i
2
x
17
X=@U?nG):@gHi'F1^cr@1v
x
20
X=@U?wVTgC#O`aE`OYjB'E(yG
x
18
c_dX?*mi'F1^cr@`^CkBHSw
x
4
so.6B
x
5
,pMTA@v
x
13
c_dX?<Udt-71GJ0M!
x
6
=G5cEZHv
x
13
X=@U?+@h'F1^cr@1v
x
4
,CHr@
x
29
X=@U?2'aaEuwDoA(fTfDtH..DeHxMCsP5cE9v
p
4 0 34 10 0 0 16 0 5 4 4 -1 -1
34
w0E<!(H&s!1)5Uv+Ki<!2Z/s!/u=6#3#Ts!4;kpvv!!
4
>nUm#
4
B;5:v
10
x
6
q'-W@Dhw
x
15
u^sY?eIaY?.w=JD&i7&
x
15
u^sY?eIaY?.w=JD'o@&
x
15
c_dX?eIaY?.w=JD&i7&
x
15
c_dX?eIaY?.w=JD'o@&
x
21
X=@U?pY_p@vkT;@`YEU@sO,SA>v
x
8
Z'=V?,Qs/D
x
74
5+Ma9,&&7At9VTAvnK;@(6|N@sQmMCsP5cE)oPS?n7=8w%-DJ:L3*eDrfR.D)!BCFuMngCfO
aY?,Qs/DG+&.2A:im#4<!
x
16
;Z%29sP5cE(W1`FEPMEF
x
28
X=@U?pY_p@vkT;@`YEU@sO,SA-W1`FEPMEF
0
0
0 0
x
23
j<OV?0:h'F3f1EF`44Y?0g_5Bb.Z,
p
16 0 157 19 0 0 84 0 8 16 20 -1 -1
157
w0E<!-fSs!&-<<!/r=pv-|yTv,T&s!T9asvO'n<vTSO3-3Ki<!2r=pv5SLaC5#'v!+Qq9-Yi
A=!:uS=!</#pv3&|=!:uS=!=/#pv4,f=!:uS=!D/#pv@C&I&&22B!4Vk&:^U*1/?hUNw65>6
#9fSs!;yUNw7>YQ#9fSs!<_UNw>(mf%9fSs!=Dfv!Z+ic&Z+ic&z
16
3rr!!H>kl#KsA.&D1*kw
20
3?3<!^T8`#j>Fj-Eytpvg+74w
19
x
6
q'-W@Dhw
x
12
u^sY?r|e^Fpi/bE
x
14
u^sY?&!nIDoF|;@ISw
x
18
u^sY?)TK(FmQIIDejp-DNnw
x
18
u^sY?)TK(FmQIIDejp-DP7%
x
4
wm<eD
x
6
1lo(F^(%
i
0
i
1
x
13
pB5A+Vb=i9&.Pe0K!
x
16
pB5A+Vb=i9&.Pe0icL<=
x
6
,Qs/DL+%
x
4
btkhA
x
2
E.w
x
2
F1w
i
2
x
13
pB5A+Vb=i9'7k+1K!
x
14
pB5A+Vb=i9'7k+1D+w
x
0
0
0
0 3
12
u^sY?r|e^Fpi/bE
0 0 8
18
u^sY?)TK(FmQIIDejp-DNnw
1 0 8
18
u^sY?)TK(FmQIIDejp-DP7%
2 0 8
x
15
rpwhC;Z2b3<?<+EfqT+
1
C 1 335 8 -1 -1 348
0
}

View File

@@ -0,0 +1,193 @@
MACHINE PRETREATMENT
FORMATTING
{
WORD_SEPARATOR " "
END_OF_LINE "\135"
SEQUENCE sequence_number 10 10 1 99999
FORMAT AbsCoord "&__5.3_"
FORMAT Coordinate "&__5.3_"
FORMAT Digit_2 "&_02_00"
FORMAT Digit_4 "&_04_00"
FORMAT Digit_5 "&__5_00"
FORMAT Dwell_SECONDS "&__5.3_"
FORMAT EventNum "&+03_00"
FORMAT Feed "&__7.2_"
FORMAT Feed_DPM "&__5.2_"
FORMAT Feed_FRN "&__5.3_"
FORMAT Feed_INV "&__5.3_"
FORMAT Feed_IPM "&__4.1_"
FORMAT Feed_IPR "&__1.4_"
FORMAT Feed_MMPM "&__5.0_"
FORMAT Feed_MMPR "&__2.3_"
FORMAT Hcode "&_02_00"
FORMAT Rev "&__4_00"
FORMAT Rotary "&__5.5_"
FORMAT String "%s"
FORMAT Tcode "&_02_00"
FORMAT Zero_int "&_01_0_"
FORMAT Zero_real "&_01.10"
ADDRESS N
{
FORMAT String
FORCE always
LEADER [$mom_sys_leader(N)]
}
ADDRESS G_motion
{
FORMAT String
FORCE off
LEADER [$mom_sys_leader(G)]
}
ADDRESS X
{
FORMAT Coordinate
FORCE always
LEADER [$mom_sys_leader(X)]
ZERO_FORMAT Zero_real
}
ADDRESS Y
{
FORMAT Coordinate
FORCE off
LEADER [$mom_sys_leader(Y)]
ZERO_FORMAT Zero_real
}
ADDRESS Z
{
FORMAT Coordinate
FORCE off
LEADER [$mom_sys_leader(Z)]
ZERO_FORMAT Zero_real
}
ADDRESS fourth_axis
{
FORMAT Rotary
FORCE off
LEADER [$mom_sys_leader(fourth_axis)]
ZERO_FORMAT Zero_real
}
ADDRESS fifth_axis
{
FORMAT Rotary
FORCE off
LEADER [$mom_sys_leader(fifth_axis)]
ZERO_FORMAT Zero_real
}
ADDRESS I
{
FORMAT Coordinate
FORCE always
LEADER [$mom_sys_leader(I)]
ZERO_FORMAT Zero_real
}
ADDRESS J
{
FORMAT Coordinate
FORCE always
LEADER [$mom_sys_leader(J)]
ZERO_FORMAT Zero_real
}
ADDRESS K
{
FORMAT Coordinate
FORCE always
LEADER [$mom_sys_leader(K)]
ZERO_FORMAT Zero_real
}
ADDRESS S
{
FORMAT Zero_int
FORCE always
LEADER "S"
}
BLOCK_TEMPLATE sequence_number
{
N[ ]
}
BLOCK_TEMPLATE sequence_number_turbo
{
N[ ]
}
BLOCK_TEMPLATE circular_move_turbo
{
G_motion[$mom_sys_circle_code(string)]
X[^POSX]
Y[^POSY]
Z[^POSZ]
fourth_axis[^POS4]
fifth_axis[^POS5]
S[$mom_spindle_speed]
}
BLOCK_TEMPLATE linear_move_turbo
{
G_motion[$mom_sys_linear_code]
X[^POSX]
Y[^POSY]
Z[^POSZ]
fourth_axis[^POS4]
fifth_axis[^POS5]
S[$mom_spindle_speed]
}
BLOCK_TEMPLATE rapid_move_turbo
{
G_motion[$mom_sys_rapid_code]
X[^POSX]
Y[^POSY]
Z[^POSZ]
fourth_axis[^POS4]
fifth_axis[^POS5]
S[$mom_spindle_speed]
}
BLOCK_TEMPLATE circular_move
{
G_motion[$mom_sys_circle_code(string)]
X[$mom_mcs_goto(0)]
Y[$mom_mcs_goto(1)]
Z[$mom_mcs_goto(2)]
fourth_axis[$mom_out_angle_pos(0)]
fifth_axis[$mom_out_angle_pos(1)]
S[$mom_spindle_speed]
}
BLOCK_TEMPLATE linear_move
{
G_motion[$mom_sys_linear_code]
X[$mom_mcs_goto(0)]
Y[$mom_mcs_goto(1)]
Z[$mom_mcs_goto(2)]
fourth_axis[$mom_out_angle_pos(0)]
fifth_axis[$mom_out_angle_pos(1)]
S[$mom_spindle_speed]
}
BLOCK_TEMPLATE rapid_move
{
G_motion[$mom_sys_rapid_code]
X[$mom_mcs_goto(0)]
Y[$mom_mcs_goto(1)]
Z[$mom_mcs_goto(2)]
fourth_axis[$mom_out_angle_pos(0)]
fifth_axis[$mom_out_angle_pos(1)]
S[$mom_spindle_speed]
}
BLOCK_TEMPLATE rapid_move_drill
{
G_motion[$mom_sys_rapid_code]
X[$mom_cycle_feed_to_pos(0)]
Y[$mom_cycle_feed_to_pos(1)]
Z[$mom_cycle_feed_to_pos(2)]
S[$mom_spindle_speed]
}
}

View File

@@ -0,0 +1,535 @@
####C#U#S#T#O#M##M#E#T#A##I#N#F#O#R#M#A#T#I#O#N##############################################
#
# Customer Data
#
# Company :
# Address :
# Contact person :
# Phone :
# Fax :
# Mail :
#
####S#T#A#R#T##C#H#A#N#G#E##H#I#S#T#O#R#Y####################################################
#
# Last changes: 01.02.2011 - UR 001 Initial Release and Installation
# 23.08.2013 - UR 002 Add keywords for comment lines (important, because automation respond)
# 03.09.2013 - UR 003 Releaseversion 1.0
# 09.10.2013 - COE 004 Changed setting of lib_ge_env(tmp_dir)
# 10.12.2013 - UR 005 Decomposing the basic functions
# 10.02.2014 - COE 006 Releaseversion 2.0
# 17.02.2014 - COE 007 Releaseversion 2.1
# 13.03.2014 - UR 008 Releaseversion 2.2
# 31.03.2014 - UR 009 Add lib_flag(PB_decontamination) to switch of PB support
# 31.03.2014 - UR 010 Releaseversion 2.3
# 11.04.2014 - UR 011 Releaseversion 2.3.1
# 12.05.2014 - UR 012 Releaseversion 2.3.2
# 18.05.2014 - UR 013 Add sourcing with the possibility of nesting folders
# 19.05.2014 - UR 014 Releaseversion 2.3.3
# 26.05.2014 - UR 015 Revision of the LIB_Shell_search_path_recursively routines when a blank is included in the path
# 16.06.2014 - COE 016 Releaseversion 2.3.4
# 16.06.2014 - UR 017 Add recursively sourcing for the pretreatment files
# 24.06.2014 - UR 018 Releaseversion 2.3.5
# 24.06.2014 - UR 019 Releaseversion 2.4
# 07.07.2014 - UR 020 Releaseversion 2.4.1
# 16.07.2014 - UR 021 Releaseversion 3.0
# 29.07.2014 - COE 022 LIB_Shell_environment_handling: lib_ge_env(installed_machines_dir,recursively)
# LIB_Shell_main: no longer call LIB_Shell_search_path_recursively
# 30.07.2014 - COE 023 Releaseversion 3.1
# 12.08.2014 - UR 024 Releaseversion 3.1.1
# 13.08.2014 - UR 025 Adopted revised texts from SPLM
# 13.08.2014 - UR 026 Releaseversion 3.2
# 13.08.2014 - UR 027 Releaseversion 3.2.1
# 15.08.2014 - COE 028 Adopt modifications SPLM
# 15.08.2014 - COE 029 Releaseversion 3.2.2
# 25.08.2014 - UR 030 Releaseversion 3.2.3
# 10.09.2014 - UR 031 Releaseversion 3.2.4
# 11.09.2014 - UR 032 Releaseversion 3.2.5
# 22.09.2014 - UR 033 Add property for "show where output comes from" and delete flag(show_where_output_comes_from)
# 29.09.2014 - COE 034 Releaseversion 3.2.6
# 13.10.2014 - COE 035 Releaseversion 3.2.7
# 21.10.2014 - COE 036 Releaseversion 3.2.8
# 04.11.2014 - COE 037 Releaseversion 3.2.9
# 11.11.2014 - UR 038 Modification of the complete post speed
# 13.11.2014 - UR 039 Modification of the complete post speed
# 21.11.2014 - COE 040 LIB_Shell_environment_handling: changde setting of lib_ge_env(installed_machines_dir,recursively)
# 28.11.2014 - COE 041 Releaseversion 3.2.10
# 22.12.2014 - UR 042 Releaseversion 3.3
# 22.12.2014 - UR 043 Releaseversion 3.3.1
# 05.01.2015 - UR 044 Releaseversion 3.3.2 and changed the Copyright
# 06.01.2015 - UR 045 Releaseversion 3.3.3
# 06.01.2015 - UR 046 Releaseversion 3.3.4
# 07.01.2015 - UR 047 Releaseversion 3.3.5
# 11.01.2015 - UR 048 Releaseversion 3.3.6
# 11.01.2015 - COE 049 Bugfix if the current directory has spaces
# 13.01.2015 - COE 050 Releaseversion 3.3.7
# 20.01.2015 - UR 051 Change file nativename and join to LIB_Shell_format_path_names to save runtime
# 25.01.2015 - UR 052 Releaseversion 3.3.8
# 28.01.2015 - UR 053 Bugfix at LIB_Shell_environment_handling to defined the base folder
# 03.02.2015 - UR 054 Correction if the PostConfigurator structure is used
# 09.02.2015 - UR 055 Releaseversion 3.3.9
# 02.03.2015 - COE 056 Releaseversion 3.4
# 12.03.2015 - UR 057 Releaseversion 3.4.1
# 16.03.2015 - UR 058 Releaseversion 3.4.2
# 30.03.2015 - UR 059 Releaseversion 3.4.3
# 20.04.2015 - COE 060 Releaseversion 3.4.4
# 28.04.2015 - COE 061 Releaseversion 3.4.5
# 15.06.2015 - UR 062 Releaseversion 3.4.6
# 15.06.2015 - UR 063 Change abort handling
# 16.06.2015 - UR 064 Releaseversion 3.4.7
# 22.06.2015 - UR 065 Releaseversion 3.4.8
# 21.07.2015 - UR 066 Releaseversion 3.4.9
# 28.07.2015 - COE 067 Releaseversion 3.4.10
# 11.08.2015 - COE 068 Releaseversion 3.4.11
# 16.08.2015 - UR 069 Save Time with Extended foreach Syntax e.g. foreach {a b c d e} [cmdReturningList] {break}
# Side note: accelerated runtime after the first index, for one index no improvement
# Comparing if Command exists now with LIB_GE_check_commands to wrote the values to an list once
# Modifications of the memory handling with Procedures K SK D unset! clear and set!, see http://wiki.tcl.tk/1923
# Removing unneeded characters and partially reformat
# 20.08.2015 - UR 070 Changed misspelling from adress to address (Bug #784)
# 20.08.2015 - UR 071 Releaseversion 3.4.12
# 21.08.2015 - UR 072 Releaseversion 3.4.13
# 24.08.2015 - COE 073 Releaseversion 3.5
# 04.09.2015 - COE 074 Releaseversion 3.5.1
# 07.09.2015 - COE 075 Releaseversion 3.5.2
# 08.09.2015 - COE 076 Releaseversion 3.5.3
# 13.09.2015 - UR 077 Performance improvement when examining whether a procedure exists and also to loading files
# 15.09.2015 - UR 078 Releaseversion 3.5.4
# 17.09.2015 - UR 079 Change the filename for the lib_ge_dll_version to lower case
# 21.09.2015 - UR 080 Releaseversion 3.6
# 29.09.2015 - UR 081 Releaseversion 3.6.1
# 30.09.2015 - UR 082 Releaseversion 3.6.2
# 05.10.2015 - UR 083 Releaseversion 3.6.3
# 26.10.2015 - UR 084 Releaseversion 3.6.4
# 27.10.2015 - UR 085 Releaseversion 3.6.5
# 18.12.2015 - COE 086 Releaseversion 3.6.6
# 13.01.2016 - UR 087 Releaseversion 3.6.7
# 25.02.2016 - UR 088 Releaseversion 3.6.8
# 07.03.2016 - UR 089 Releaseversion 3.6.9
# 24.03.2016 - COE 090 Releaseversion 3.6.10
# 13.04.2016 - UR 091 Releaseversion 3.6.11
# 20.04.2016 - UR 092 Releaseversion 3.6.12
# 28.04.2016 - UR 093 Releaseversion 3.7
# 29.04.2016 - UR 094 Releaseversion 3.7.1
# 15.05.2016 - COE 095 Releaseversion 3.7.2
# 15.05.2016 - COE 096 Releaseversion 3.7.3
# 17.05.2016 - COE 097 Releaseversion 3.7.4
# 23.05.2016 - COE 098 Releaseversion 3.7.5
# 27.06.2016 - MAN 099 Update internal documentation
# 15.08.2016 - UR 100 Releaseversion 4.0
# 24.08.2016 - UR 101 Releaseversion 4.0.1
# 04.09.2016 - COE 102 Releaseversion 4.0.2
# 05.09.2016 - COE 103 LIB_Shell_environment_handling: 'libraries', 'controller' and 'bin'
# all lowercase (we check it against the result of 'string tolower')
# (back to status of version 100)
# 05.09.2016 - COE 104 Releaseversion 4.0.3
# 08.09.2016 - UR 105 Releaseversion 4.0.4
# 22.09.2016 - UR 106 HISTORY-> Modifications to support now also Linux <-
# 24.09.2016 - UR 107 Releaseversion 4.0.5
# 25.09.2016 - UR 108 Releaseversion 4.1
# 27.09.2016 - UR 109 Releaseversion 4.1.1
# 04.10.2016 - UR 110 Releaseversion 4.1.2
# 24.10.2016 - UR 111 Releaseversion 4.1.3
# 17.11.2016 - MAN 112 Source also from UGII_POST_POOL_DIR_NG_CUSTOM
# 19.11.2016 - UR 113 Releaseversion 4.1.4
# 21.11.2016 - MAN 114 Remove again sourcing from UGII_POST_POOL_DIR_NG_CUSTOM
# 07.12.2016 - UR 115 Releaseversion 4.1.5
# 11.01.2017 - COE 116 Releaseversion 4.1.6
# 21.02.2017 - UR 117 Releaseversion 4.1.7
# 24.02.2017 - UR 118 Releaseversion 4.1.8
# 13.03.2017 - COE 119 Releaseversion 4.2
# 05.04.2017 - COE 120 Releaseversion 4.2.1
# 06.04.2017 - COE 121 Releaseversion 4.2.2
# 07.04.2017 - COE 122 Releaseversion 4.2.3
# 24.04.2017 - UR 123 Remove PUI settings and procedures
# 28.04.2017 - COE 124 Releaseversion 4.2.4
# 19.05.2017 - UR 125 Releaseversion 4.2.5
# 18.06.2017 - COE 126 Releaseversion 4.2.6
# 27.06.2017 - COE 127 Releaseversion 4.2.7
# 06.07.2017 - UR 128 Extension for the layer editor
# 31.07.2017 - UR 129 Releaseversion 4.2.8
# 01.08.2017 - UR 130 Bugfix if variable TEMP not exists within LINUX systems
# 02.08.2017 - UR 131 Releaseversion 4.2.9
# 31.08.2017 - UR 132 Add support for *.pcf
# 01.09.2017 - UR 133 Releaseversion 4.2.10
# 11.09.2017 - COE 134 Releaseversion 4.2.11
# 25.09.2017 - COE 135 Releaseversion 4.3
# 12.11.2017 - COE 136 Releaseversion 4.3.1
# 28.11.2017 - UR 137 Releaseversion 4.3.2
# 04.12.2017 - UR 138 Adding the process ID to all files that are traded through the preparation process
# 21.02.2018 - COE 139 Releaseversion 4.3.3
# 12.03.2018 - UR 140 File contents revised for TCL8.6 and converted to UTF-8
# 14.03.2018 - UR 141 Releaseversion 4.4
# 20.03.2018 - UR 142 Releaseversion 4.4.1
# 12.04.2018 - UR 143 Releaseversion 4.4.2
# 04.05.2018 - UR 144 Releaseversion 4.4.3
# 14.05.2018 - UR 145 Releaseversion 4.4.4
# 02.07.2018 - UR 146 Releaseversion 4.4.5
# 20.07.2018 - COE 147 Releaseversion 4.4.6
# 10.09.2018 - UR 148 Releaseversion 4.4.7
# 24.09.2018 - UR 149 Releaseversion 4.4.8
# 08.10.2018 - UR 150 Releaseversion 4.4.9
# 18.10.2018 - COE 151 Releaseversion 4.5
# 11.01.2019 - UR 152 Releaseversion 4.6.1
# 08.02.2019 - UR 153 Releaseversion 4.6.2
# 16.03.2019 - UR 154 Releaseversion 4.6.3
# 21.03.2019 - UR 155 Function revision so that the MOM Execute can also be loaded in versions >= 1847
# 28.03.2019 - COE 156 Releaseversion 4.7
# 11.04.2019 - UR 157 Releaseversion 4.7.1
# 18.04.2019 - UR 158 Releaseversion 4.7.2
# 07.05.2019 - UR 159 Releaseversion 5.0
# 08.07.2019 - UR 160 Releaseversion 5.0.1
# 31.07.2019 - UR 161 Releaseversion 5.0.2
# 16.08.2019 - COE 162 Releaseversion 5.0.3
# 21.08.2019 - COE 163 Releaseversion 5.1.0
# 20.09.2019 - COE 164 Releaseversion 5.2.0
# 06.11.2019 - UR 165 Releaseversion 5.2.3
# 27.12.2019 - UR 166 Releaseversion 5.2.4
# 31.01.2020 - COE 167 Releaseversion 5.2.5
# 02.03.2020 - UR 168 Releaseversion 5.2.6
# 19.03.2020 - COE 169 Releaseversion 5.2.7
# 25.03.2020 - COE 170 Releaseversion 5.3.0
# 23.04.2020 - UR 171 Bugfix set lib_ge_dll_version instead of dotnet_version
# 01.07.2020 - COE 172 Releaseversion 5.3.1
# 09.07.2020 - COE 173 Releaseversion 5.3.2
# 06.09.2020 - COE 174 Releaseversion 5.3.3
# 15.09.2020 - COE 175 Releaseversion 5.3.4
# 26.09.2020 - COE 176 Releaseversion 5.3.5
# 26.11.2020 - COE 177 Releaseversion 5.3.6
# 24.01.2021 - COE 178 Releaseversion 5.3.7
# 06.02.2021 - COE 179 Releaseversion 5.3.8
# 15.03.2021 - COE 180 Releaseversion 5.3.9
# 13.04.2021 - COE 181 Releaseversion 5.4.0
# 16.05.2021 - COE 182 Bug#2260: check UGII_TMP_DIR first, use system-env only as fallback
# 02.06.2021 - COE 183 Releaseversion 5.4.1
# 11.06.2021 - COE 184 Linux compatibility
# 21.07.2021 - COE 185 Releaseversion 5.4.2
# 03.09.2021 - COE 186 Releaseversion 5.4.3
# 07.09.2021 - COE 187 Releaseversion 5.4.4
# 29.09.2021 - COE 188 Releaseversion 5.5.0
# 25.10.2021 - COE 189 Releaseversion 5.5.1
# 24.11.2021 - COE 190 Releaseversion 5.5.2
# 19.02.2022 - COE 191 Releaseversion 5.5.3
# 06.03.2022 - COE 192 Releaseversion 5.5.4
# 08.04.2022 - COE 193 Releaseversion 5.5.5
# 13.07.2022 - COE 194 Releaseversion 5.5.6
# 07.09.2022 - COE 195 Releaseversion 5.5.7
# 24.09.2022 - COE 196 Releaseversion 5.5.8
# 15.01.2023 - COE 197 Releaseversion 23.01.0
# 14.03.2023 - COE 198 Releaseversion 23.03.0
# 07.04.2023 - COE 199 Releaseversion 23.04.0
# 14.07.2023 - COE 200 Releaseversion 23.07.0
# 14.09.2023 - COE 201 Releaseversion 23.09.0
# 09.10.2023 - ET 202 Releaseversion 23.10.0
# 10.12.2023 - COE 203 Releaseversion 23.12.0
# 19.01.2024 - COE 204 Releaseversion 24.01.0
# 21.03.2024 - COE 205 Releaseversion 24.03.0
# 13.08.2024 - COE 206 Releaseversion 24.08.0
# 22.08.2024 - COE 207 Releaseversion 24.08.1
# 16.09.2024 - COE 208 Releaseversion 24.09.0
# 24.09.2024 - ET 209 Releaseversion 24.09.1
# 27.12.2024 - COE 210 Releaseversion 24.12.0
# 02.04.2025 - COE 211 Releaseversion 25.04.0
#
#
#
#
#
#
#
#
#
#############################################################################################
# Copyright 2014-2024 Siemens Product Lifecycle Management Software Inc.
# All Rights Reserved.
#
####S#T#A#N#D#A#R#D##S#O#U#R#C#I#N#G#########################################################
#____________________________________________________________________________________________
#
# Procedure debugger
#____________________________________________________________________________________________
#
set lib_ge_debug(on) 0
set lib_ge_debug(proc_watch_list) "MOM* PPLIB* PROC*"
set lib_ge_debug(var_write_trace_list) "mom_group_name"
set lib_ge_debug(proc_watch_exclude_list) "MOM_SMART* MOM_evaluate_arg MOM_before_each_add_var MOM_before_load_address"
#____________________________________________________________________________________________
set lib_debug_source_of_proc_list ""
set lib_fh_do_after_output 0 ;#if set to 0 the posttreatment loop is suppressed
if {![info exists lib_ge_platform]} {
set lib_ge_temppath ""
if {[info commands MOM_ask_env_var] != ""} {
set lib_ge_temppath [MOM_ask_env_var UGII_TMP_DIR]
}
if {[string match "*windows*" $tcl_platform(platform)]} {
set lib_ge_platform 1
set lib_ge_slash "\\"
if {$lib_ge_temppath == ""} {
if {[info exists env(TEMP)]} {
set lib_ge_temppath $env(TEMP)
} elseif {[info exists env(TMP)]} {
set lib_ge_temppath $env(TMP)
}
}
} else {
set lib_ge_platform 0
set lib_ge_slash "/"
if {$lib_ge_temppath == ""} {
if {[info exists env(TMPDIR)]} {
set lib_ge_temppath $env(TMPDIR)
}
if {![string length $lib_ge_temppath]} {
set lib_ge_temppath "${lib_ge_slash}var${lib_ge_slash}tmp"
}
}
}
}
#____________________________________________________________________________________________
# <Internal Documentation>
#
# Handling for the default environment variables
#
# <Internal Example>
#
#____________________________________________________________________________________________
proc LIB_Shell_environment_handling {} {
global lib_ge_env lib_ge_slash lib_ge_installed_machines
set lib_ge_env(post_pool_dir) [LIB_Shell_format_path_names [MOM_ask_env_var "UGII_POST_POOL_DIR_NG"]]
set lib_ge_env(cam_post_dir) [LIB_Shell_format_path_names [MOM_ask_env_var "UGII_CAM_POST_DIR"]]
set lib_ge_env(tmp_dir) [LIB_Shell_format_path_names [MOM_ask_env_var "UGII_TMP_DIR"]]
if {$lib_ge_env(tmp_dir) == ""} {set lib_ge_env(tmp_dir) $::lib_ge_temppath}
if {[string match [string tolower [file tail [file dirname [info script]]]] "libraries"]} {
set lib_ge_installed_machines [file dirname [info script]]
} else {
set lib_ge_installed_machines [info script]
}
set lib_ge_env(installed_machines_dir) [LIB_Shell_format_path_names [file dirname $lib_ge_installed_machines]]
# Needed is searchpath activ, therefore info script is wrong
if {[file exists [LIB_Shell_format_path_names "$lib_ge_env(tmp_dir)${lib_ge_slash}pretreatment_script.tcl"]]} {source [LIB_Shell_format_path_names "$lib_ge_env(tmp_dir)${lib_ge_slash}pretreatment_script.tcl"]}
set lib_ge_env(installed_machines_dir,recursively) ""
lappend lib_ge_env(installed_machines_dir,recursively) $lib_ge_env(installed_machines_dir)
set current_dir [pwd]
if {![catch {cd [lindex $lib_ge_env(installed_machines_dir,recursively) 0]}]} {
if {![catch {set dir [string tolower [glob *]]}]} {
foreach e {libraries controller bin} {
set index [lsearch -exact $dir $e]
if {$index > -1} {
set directory [lindex $dir $index]
set directory [string toupper [string index $directory 0]][string range $directory 1 end]
lappend lib_ge_env(installed_machines_dir,recursively) [LIB_Shell_format_path_names "[lindex $lib_ge_env(installed_machines_dir,recursively) 0]$lib_ge_slash$directory"]
}
}
}
}
cd $current_dir
if {![regexp -nocase -- {\w+} $lib_ge_env(post_pool_dir)]} {set lib_ge_env(post_pool_dir) $lib_ge_env(installed_machines_dir)}
set lib_ge_env(version_bit) [MOM_ask_env_var "UGII_VERSION_BIT"]
set lib_ge_env(base_dir) [MOM_ask_env_var "UGII_BASE_DIR"]
set lib_ge_env(compatible_base_release_version) [MOM_ask_env_var "NX_COMPATIBLE_BASE_RELEASE_VERSION"]
set lib_ge_env(major_version) [MOM_ask_env_var "UGII_MAJOR_VERSION"]
set lib_ge_env(minor_version) [MOM_ask_env_var "UGII_MINOR_VERSION"]
set lib_ge_env(subminor_version) [MOM_ask_env_var "UGII_SUBMINOR_VERSION"]
if {![info exists lib_ge_dll_version]} {global lib_ge_dll_version}
if {$lib_ge_env(minor_version) > 0} {
set lib_ge_dll_version "nx$lib_ge_env(major_version)$lib_ge_env(minor_version)"
} else {
set lib_ge_dll_version "nx$lib_ge_env(major_version)"
}
if {[llength $lib_ge_env(compatible_base_release_version)] > 0} {set lib_ge_dll_version "nx$lib_ge_env(compatible_base_release_version)"}
if {[string match "*windows*" $::tcl_platform(platform)]} {
regsub -all "/" $lib_ge_env(base_dir) "\\" lib_ge_env(base_dir)
}
}
#____________________________________________________________________________________________
# <Internal Documentation>
#
# This procedure may be used to format pathnames from unix format in windows
# format and delete double backslash
#
# Output:
# D:\Temp\mom\debug.out or \\Server\Temp\mom\debug.out
#
# e.g.
# set error [LIB_Shell_format_path_names "D:/Temp/mom/debug.out"]
#
# <Example>
# set error [LIB_Shell_format_path_names "D:/Temp/mom/debug.out"]
#____________________________________________________________________________________________
proc LIB_Shell_format_path_names {pathname} {
global lib_ge_slash lib_ge lib_ge_platform
regsub -all "/" $pathname "\\" pathname
binary scan $pathname H* pathbin
if {[info exists lib_ge(format_path,$pathbin,0,0,0)]} {
return $lib_ge(format_path,$pathbin,0,0,0)
}
if {[regexp -nocase -- {^[\\\\]|^[\/\/]} $pathname]} {
regsub -all "/" $pathname "\\" pathname
}
if {$lib_ge_platform} {
regsub -all "/" $pathname "\\" pathname
if {![regexp -nocase -- {^\\\\} $pathname]} {set unc 0} else {set unc 1}
while {[regsub -- "(?q)\\\\" $pathname "\\" pathname]} {}
if {$unc} {set pathname "\\$pathname"}
} elseif {!$lib_ge_platform} {
regsub -all "\\\\" $pathname "/" pathname
if {![regexp -nocase -- {^//} $pathname]} {set unc 0} else {set unc 1}
while {[regsub -- "(?q)//" $pathname "/" pathname]} {}
if {$unc} {set pathname "/$pathname"}
}
set lib_ge(format_path,$pathbin,0,0,0) [string trim $pathname]
return $lib_ge(format_path,$pathbin,0,0,0)
}
#____________________________________________________________________________________________
# <Internal Documentation>
#
# Abort postrun
#
# <Internal Example>
#
#____________________________________________________________________________________________
proc LIB_Shell_abort {message} {
MOM_output_to_listing_device $message
MOM_log_message $message
MOM_abort $message
}
#____________________________________________________________________________________________
# <Internal Documentation>
#
# Handling for the main shell
#
# <Internal Example>
#
#____________________________________________________________________________________________
proc LIB_Shell_main {} {
global lib_ge_env lib_ge_slash
global lib_cycle_path sourcefile
LIB_Shell_environment_handling
lappend ::lib_ge_monitored_files [LIB_Shell_format_path_names [info script]]
if {[info commands LIB_GE_source] == ""} {
set lib_cycle_path 0
set searchpath $lib_ge_env(installed_machines_dir,recursively)
lappend searchpath $lib_ge_env(post_pool_dir)
foreach path $searchpath {
if {$lib_cycle_path} {break}
foreach ext {.tcl .tbc .pcf} {
set sourcefile [LIB_Shell_format_path_names "$path${lib_ge_slash}lib_sourcing$ext"]
if {[file exists $sourcefile]} {
if {[string match ".tbc" $ext]} {
LIB_Shell_abort "ByteCode Loader is not available, cannot process lib_sourcing$ext"
}
uplevel #0 {
set err ""
if {$tcl_version >= 8.6 && [catch {source -encoding utf-8 $sourcefile} err]} {
if {[info exists ::errorInfo]} {MOM_output_to_listing_device "errorInfo $::errorInfo"}
LIB_Shell_abort "File lib_sourcing $err not loadable"
}
if {$tcl_version < 8.6 && [catch {source $sourcefile} err]} {
if {[info exists ::errorInfo]} {MOM_output_to_listing_device "errorInfo $::errorInfo"}
LIB_Shell_abort "File lib_sourcing $err not loadable"
}
if {[string length $err] > 0} {
set lib_ge_debug(lib_sourcing) "$sourcefile"
lappend lib_ge_monitored_files "$sourcefile"
lappend lib_ge_log_message "\n--> $sourcefile loaded"
set lib_cycle_path 1 ; break
}
}
}
}
}
if {!$lib_cycle_path} {
LIB_Shell_abort "File lib_sourcing not found"
}
}
LIB_Shell_init
}
#____________________________________________________________________________________________
# <Internal Documentation>
#
# Handling for the default environment variables
#
# <Internal Example>
#
#____________________________________________________________________________________________
proc LIB_Shell_defined_post_environment {} {
global lib_ge_env lib_ge_slash lib_pp_source_file
#____________________________________________________________________________________________
#
# NX Post, load files
#____________________________________________________________________________________________
#
# There are different ways to source each files
#
# e.g. Befor LIB_GE_source call
# lappend lib_pp_source_file "machine,UGII_CAM_POST_DIR"
#
# e.g. After LIB_GE_source call
# LIB_GE_source "Test" "C:/Temp/;d:/tmp/"
#
# e.g. To define a searchpath
# LIB_GE_source "" "C:/Temp/;UGII_CAM_POST_DIR"
# Allowed is the direct path and/or variable
# This is the call the PB post LIB_GE files
# ** internal funktion / Don't remove this line **
if {[file exists "$lib_ge_env(tmp_dir)${lib_ge_slash}pt_source_list_[pid].tcl"]} {
LIB_GE_source pt_source_list_[pid] "$lib_ge_env(tmp_dir)${lib_ge_slash}" ".tcl" 0 0 "RUNTIME"
LIB_GE_source lib_pretreatment_post
} else {
lappend lib_pp_source_file "ugpost_base" "lib_msg" "lib_file_handling" "lib_standard_post_func" "lib_document" "lib_pretreatment_post"
LIB_GE_source
}
}
LIB_Shell_main
####S#T#A#R#T##C#U#S#T#O#M##M#O#D#I#F#I#C#A#T#I#O#N#S########################################
####E#N#D##C#U#S#T#O#M##M#O#D#I#F#I#C#A#T#I#O#N#S############################################
#############################################################################################
# This is to debug
#############################################################################################
if {[info commands LIB_GE_debug] != ""} {LIB_GE_debug}

Some files were not shown because too many files have changed in this diff Show More