Prima versione configurazione macchina.

Derivazione da PF1250MAX, PF12503T, PF1500rl
This commit is contained in:
andrea.villa
2024-10-16 11:40:30 +02:00
parent a0ea5491e0
commit 54f453c079
37 changed files with 11149 additions and 0 deletions
+248
View File
@@ -0,0 +1,248 @@
-- BeamData.lua by Egaltech s.r.l. 2023/05/12
-- Raccolta dati generali per Travi
EgtOutLog( ' PF1500rl-BeamData started')
-- Tabella per definizione modulo
local BeamData = {
RIGHT_LOAD = true, -- flag carico da destra
SIMUL_VIEW_DIR = 1, -- direzione di vista predefinita per la simulazione (1=NW, 2=SW, 3=NE, 4=SE)
MIN_WIDTH = 40, -- larghezza minima del grezzo
MIN_HEIGHT = 40, -- altezza minima del grezzo
MAX_WIDTH = 1500, -- larghezza massima del grezzo
MAX_HEIGHT = 300, -- altezza massima del grezzo
LEN_SHORT_PART = 1200, -- lunghezza massima pezzo piccolo
MAX_RAW = 20000, -- massima lunghezza grezzo (deve essere minore di LenTable - RAW_OFFSET)
STD_RAW = 14000, -- lunghezza standard della barra di grezzo
OVM_HEAD = 10, -- sovramateriale testa
OVM_MID = 5.4, -- sovramateriale intermedio (spessore lama)
MIN_JOIN_S = 100, -- minima presa pinza per pezzo piccolo
MIN_JOIN_L = 450, -- minima presa pinza per pezzo grande
MINRAW_S = 980, -- minimo grezzo in coda scaricabile per sezioni piccole
MINRAW_L = 1680, -- minimo grezzo in coda scaricabile per sezioni grandi
CHAR_EXTRA_DIST = 400, -- distanza aggiuntiva per minimizzare scambi di carrelli
CHAR_LOAD_DIST = 3000, -- distanza suggerita di presa della pinza dalla testa trave al carico
MAX_LEN_SCRAP = 150, -- massima lunghezza scarto di coda
MAX_LEN_SCRAP_START = 150, -- massima lunghezza scarto di testa
MAX_DIM_HTCUT = 185, -- larghezza massima taglio di testa o coda
MAX_DIM_HTCUT_HBEAM = 185, -- larghezza massima taglio di testa o coda con trave alta
MIN_DIM_HBEAM = 610, -- altezza minima di trave alta
OVM_CHAIN_HBEAM = 8, -- sovramateriale per split con sega a catena
MAX_DIM_DICE = 155, -- dimensione trasversale massima cubetto
MAX_LEN_DICE = 400, -- lunghezza massima cubetto
DECR_VERT_CUT = 25, -- riduzione profondità per affondamento verticale in taglio orizzontale
COLL_SIC = 5, -- distanza di sicurezza per collisioni
CUT_SIC = 28, -- distanza di sicurezza per tagli
CUT_EXTRA = 5, -- affondamento extra standard per tagli di lama e fresature
CUT_EXTRA_MIN = 2, -- affondamento extra ridotto per tagli di lama e fresature
CUT_VZ_MIN = -0.484, -- componente limite in Z del versore di un taglio (-61deg)
NZ_MINA = -0.6, -- componente limite in Z normale di una faccia (-30deg)
NZ_MINB = -0.4, -- componente limite in Z normale di un insieme di facce (-23deg)
DRILL_TOL = 0.2, -- tolleranza tra diametro foro e diametro punta
DRILL_VZ_MIN = - 0.51, -- componente limite in Z del versore di un foro
DRILL_VX_MAX = 0.867, -- componente limite in X del versore di un foro sulle facce laterali
DRILL_OVERLAP = 5, -- sovrapposizione tra due mezze forature
MILL_OVERLAP = 5, -- sovrapposizione tra due mezze fresature
MAX_DIST_HTFEA = 50.0, -- massima distanza di feature da testa o coda per essere considerata tale
MAX_LEN_HTFEA = 2550.0, -- massima lunghezza di feature di testa o coda
LONGCUT_ENDLEN = 1500, -- lunghezza lavoro estremi iniziale e finale
LONGCUT_MAXLEN = 3000, -- lunghezza massima sezione di taglio longitudinale
MAX_LEN_RIDGELAP_FROM_BOTTOM = 0, -- massima lunghezza ridgelap lavorabile da sotto
MAX_LEN_RIDGELAP_FROM_BOTTOM_HBEAM = 0, -- massima lunghezza ridgelap lavorabile da sotto con trave alta
DIM_TO_CENTER_STRIP = 0, -- larghezza minima trave per inserimento codolo nel centro della trave; 0 = automatico
DIM_STRIP = -1, -- dimensione codolo sostegno parti lasciate su contorno libero o archi
DIM_STRIP_SMALL = 2, -- dimensione codolo piccolo (quando le parti sostenute sono sicuramente sulla parte sopra del pezzo)
RAWCOL = { 255, 160, 32, 30}, -- colore del grezzo
RAW_OFFSET = 2000, -- spostamento grezzo rimanente dopo split
VICE_MINH = 110, -- altezza minima della morsa
OFFSET_DRILL_TENON = 0, -- offset fori su tenoni verso base degli stessi (0=non fare)
USER_HOLE_DIAM = 0, -- diametro foro per L20
MAX_TOOL_LEN_FOR_HOR_MACH = 600, -- massima lunghezza ingombro per poter fare forature (fresature) oltre i 10 gradi dalla verticale
DRILL_VZ_MIN_LONG_TOOL = 0.984, -- componente limite per lavorazioni con punta lunga
MAX_TOOL_LEN_BACK_HOR_MACH = 600, -- massima lunghezza utensile per poter eseguire lavorazioni (forature/svuotature) da dietro (faccia 4)
MIN_LEN_LAMELLO = 1000, -- lunghezza minima di fessura longitudinale per lavorazione tipo lamello (SideMillAsBlade)
PRESS_ROLLER = true, -- dichiarazione presenza rulli pressori
C_SIMM = true, -- dichiarazione simmetria mensola asse C
C_SIMM_ENC = 180, -- ingombro semi-forcella in X da naso mandrino (compresa sicurezza)
DOWN_HEAD = true, -- dichiarazione presenza seconda testa dal basso
DH_MAX_TOP = 370, -- quota massima raggiungibile dalla testa da sotto dal sotto del pezzo
KIOTP = 2, -- coefficiente moltiplicativo per attacco/uscita lama tangente anzichè perpendicolare
MAXDIAM_POCK_CORNER = 30, -- diametro massimo utensile ammesso per tasche con angoli interni
USE_LONGCUT = true, -- per i tagli longitudinali usare solo la lavorazione di lama LongCut
ADVANCE_TAIL_CUT = true, -- per spostare prima del taglio di separazione il taglio di coda su pezzi corti con robabile caduta
ADVANCE_TAIL_OFFS = 5, -- accorciamento taglio di coda avanzato (minimo 1)
DOUBLE_HEAD_DOVETAIL = true, -- flag abilitazione lavorazione mortase a coda di rondine in doppio
DOUBLE_HEAD_MORTISE = true, -- flag abilitazione lavorazione mortase in doppio
DOUBLE_HEAD_DRILLING = true -- flag abilitazione forature in doppio
}
---------------------------------------------------------------------
-- Aggiornamento con dati da TechnoEssetre7
local sTs3Data = EgtGetStringFromIni( 'Beam', 'DATA_DIR', "C:\\TechnoEssetre7\\EgtData", EgtGetIniFile()).."\\Essetre-PF1500rl.data"
local sDataBeam = EgtGetCurrMachineDir().."\\Beam\\Ts3Data.lua"
if EgtExistsFile( sTs3Data) then
EgtCopyFile( sTs3Data, sDataBeam)
local sTs3DataOld = sTs3Data..'.old'
EgtEraseFile( sTs3DataOld)
EgtRenameFile( sTs3Data, sTs3DataOld)
end
if EgtExistsFile( sDataBeam) then
local Machine = dofile( sDataBeam)
if Machine then
if Machine.Offsets then
if Machine.Offsets.DOUBLE_HEAD_DOVETAIL then BeamData.DOUBLE_HEAD_DOVETAIL = ( Machine.Offsets.DOUBLE_HEAD_DOVETAIL == 1) end
if Machine.Offsets.DOUBLE_HEAD_MORTISE then BeamData.DOUBLE_HEAD_MORTISE = ( Machine.Offsets.DOUBLE_HEAD_MORTISE == 1) end
if Machine.Offsets.DOUBLE_HEAD_DRILLING then BeamData.DOUBLE_HEAD_DRILLING = ( Machine.Offsets.DOUBLE_HEAD_DRILLING == 1) end
BeamData.MINRAW_S = max( BeamData.MINRAW_S, Machine.Offsets.MINRAW_S or BeamData.MINRAW_S)
BeamData.MINRAW_L = max( BeamData.MINRAW_L, Machine.Offsets.MINRAW_L or BeamData.MINRAW_L)
BeamData.CUT_EXTRA = Machine.Offsets.CUT_EXTRA or BeamData.CUT_EXTRA
BeamData.CUT_EXTRA_MIN = Machine.Offsets.CUT_EXTRA_MIN or BeamData.CUT_EXTRA_MIN
BeamData.DIM_STRIP_SMALL = Machine.Offsets.DIM_STRIP_SMALL or BeamData.DIM_STRIP_SMALL
BeamData.DIM_TO_CENTER_STRIP = Machine.Offsets.DIM_TO_CENTER_STRIP or BeamData.DIM_TO_CENTER_STRIP
BeamData.MAXDIAM_POCK_CORNER = Machine.Offsets.MAXDIAM_POCK_CORNER or BeamData.MAXDIAM_POCK_CORNER
end
if Machine.Trave then
BeamData.MIN_WIDTH = Machine.Trave.XMIN or BeamData.MIN_WIDTH
BeamData.MIN_HEIGHT = Machine.Trave.ZMIN or BeamData.MIN_HEIGHT
BeamData.MAX_WIDTH = Machine.Trave.XMAX or BeamData.MAX_WIDTH
BeamData.MAX_HEIGHT = Machine.Trave.ZMAX or BeamData.MAX_HEIGHT
end
if Machine.User then
BeamData.OFFSET_DRILL_TENON = Machine.User.L040_OFFSET_P1 or BeamData.OFFSET_DRILL_TENON
if Machine.User.OPTIMIZATIONS_ENABLE_SLICES_F5 == 1 then
BeamData.MAX_LEN_SCRAP = Machine.User.OPTIMIZATIONS_LENGTH_SLICES or BeamData.MAX_LEN_SCRAP
else
BeamData.MAX_LEN_SCRAP = 100000
end
if Machine.User.OPTIMIZATIONS_ENABLE_SLICES_F6 == 1 then
BeamData.MAX_LEN_SCRAP_START = Machine.User.OPTIMIZATIONS_LENGTH_SLICES or BeamData.MAX_LEN_SCRAP_START
else
BeamData.MAX_LEN_SCRAP_START = 100000
end
BeamData.USER_HOLE_DIAM = Machine.User.L020_DIAM_HOLE or BeamData.USER_HOLE_DIAM
end
end
end
---------------------------------------------------------------------
local function GetMaxLenRidgeLapFromBottom( dHRaw)
if dHRaw < BeamData.MIN_DIM_HBEAM then
return BeamData.MAX_LEN_RIDGELAP_FROM_BOTTOM + 0.01
else
return BeamData.MAX_LEN_RIDGELAP_FROM_BOTTOM_HBEAM + 0.01
end
end
BeamData.GetMaxLenRidgeLapFromBottom = GetMaxLenRidgeLapFromBottom
---------------------------------------------------------------------
local function GetBottomToolMaxTotLen( vtDir)
return 310
end
BeamData.GetBottomToolMaxTotLen = GetBottomToolMaxTotLen
---------------------------------------------------------------------
local function GetSectionCoeff( dW, dH, dL)
local SEZ_L = 80000
local SEZ_S = 20000
local LEN_SMALL = 2000
local dSez = dW * dH
if dSez <= SEZ_S then
return 0.0
elseif dSez < SEZ_L then
if dL and dL < LEN_SMALL then dSez = max( 0.6 * dSez, SEZ_S) end
local dCoeff = ( dSez - SEZ_S) / ( SEZ_L - SEZ_S)
return dCoeff
else
return 1.0
end
end
---------------------------------------------------------------------
local function GetMinJoin( dW, dH, dL)
local dCoeff = GetSectionCoeff( dW, dH, dL)
return ( 1 - dCoeff) * BeamData.MIN_JOIN_S + dCoeff * BeamData.MIN_JOIN_L
end
BeamData.GetMinJoin = GetMinJoin
---------------------------------------------------------------------
local function GetMinUnloadableRaw( dW, dH)
local dCoeff = GetSectionCoeff( dW, dH)
return ( 1 - dCoeff) * BeamData.MINRAW_S + dCoeff * BeamData.MINRAW_L
end
BeamData.GetMinUnloadableRaw = GetMinUnloadableRaw
---------------------------------------------------------------------
local function GetBlockedAxis( sHead, nToolType, sBlockedAxis)
-- lama
if nToolType == MCH_TY.SAW_STD or nToolType == MCH_TY.SAW_FLAT then
return ''
-- sega a catena
elseif nToolType == MCH_TY.MORTISE_STD then
if sHead == 'H13' then
if sBlockedAxis == 'parallel' then
return 'A1=0'
elseif sBlockedAxis == 'perpendicular' then
return 'A1=90'
end
else
return ''
end
-- fresa
elseif nToolType == MCH_TY.MILL_STD or nToolType == MCH_TY.MILL_NOTIP then
return ''
-- punta
elseif nToolType == MCH_TY.DRILL_STD or nToolType == MCH_TY.DRILL_LONG then
return ''
else
return ''
end
end
BeamData.GetBlockedAxis = GetBlockedAxis
---------------------------------------------------------------------
local function GetSetupInfo( sHead)
local SetupInfo = {}
-- dati comuni
SetupInfo.bIsCSymmetric = true
SetupInfo.dCAxisEncumbrance = 180
SetupInfo.bToolOnAggregate = false
-- testa 5 assi da sopra
if sHead == 'H11' then
SetupInfo.bIsTopHead = true
SetupInfo.bIsBottomHead = not SetupInfo.bIsTopHead
SetupInfo.dMaxNegativeAngle = sin( -35)
-- lama su aggregato testa 5 assi da sopra
elseif sHead == 'H12' then
SetupInfo.bIsTopHead = true
SetupInfo.bIsBottomHead = not SetupInfo.bIsTopHead
SetupInfo.dMaxNegativeAngle = sin( -35)
-- seconda lama su aggregato testa 5 assi da sopra
elseif sHead == 'H16' then
SetupInfo.bIsTopHead = true
SetupInfo.bIsBottomHead = not SetupInfo.bIsTopHead
SetupInfo.dMaxNegativeAngle = sin( -35)
-- motosega
elseif sHead == 'H13' then
SetupInfo.bIsTopHead = true
SetupInfo.bIsBottomHead = not SetupInfo.bIsTopHead
SetupInfo.dMaxNegativeAngle = 0
-- testa 5 assi da sotto
elseif sHead == 'H21' then
SetupInfo.bIsBottomHead = true
SetupInfo.bIsTopHead = not SetupInfo.bIsBottomHead
SetupInfo.dMaxPositiveAngle = sin( 25)
-- lama su aggregato testa 5 assi da sotto
elseif sHead == 'H22' then
SetupInfo.bIsBottomHead = true
SetupInfo.bIsTopHead = not SetupInfo.bIsBottomHead
SetupInfo.dMaxPositiveAngle = sin( 25)
end
return SetupInfo
end
BeamData.GetSetupInfo = GetSetupInfo
---------------------------------------------------------------------
return BeamData
+9
View File
@@ -0,0 +1,9 @@
-- %TABLE_NAME%.lua by Egaltech s.r.l. %DATE_TIME%
-- Gestione dati lavorazioni per Travi
-- Tabella per definizione modulo
local %TABLE_NAME% = {
}
---------------------------------------------------------------------
return %TABLE_NAME%
+30
View File
@@ -0,0 +1,30 @@
-- GetTs3Data.lua by Egaltech s.r.l. 2022/04/07
-- Recupero dati da file Ts3Data.lua di macchina
-- Intestazioni
require( 'EgtBase')
_ENV = EgtProtectGlobal()
EgtEnableDebug( false)
-- Per test
--GTSD = {}
--GTSD.TS3PATH = 'Essetre-FAST\\Ts3Data.lua'
local sLog = 'GetTs3Data : ' .. GTSD.TS3PATH
EgtOutLog( sLog)
if EgtExistsFile( GTSD.TS3PATH) then
local Machine = dofile( GTSD.TS3PATH)
-- Assegno valori di interesse
Offsets = Machine.Offsets
_G.Offsets = Offsets
Trave = Machine.Trave
_G.Trave = Trave
User = Machine.User
_G.User = User
end
-- Tutto ok
GTSD.ERR = 0
EgtOutLog( ' +++ GetTs3Data completed')
+80
View File
@@ -0,0 +1,80 @@
; PIndex = Type, PName, Default, Description
; Type : d=double, l=length, s=string
[1]
Name=Offsets
1=l,X1_NEG,-3450,MIN_X1
2=l,X1_POS,0,MAX_X1
3=l,PARK_X1,-250,---
4=l,Z1_NEG,-1565,MIN_Z1
5=l,Z1_POS,0,MAX_Z1
6=l,PARK_Z1,-545,PARK_Z1
7=l,PARK_SAWZ1,-150,---
8=d,B1_NEG,-127.0,MIN_B1
9=d,B1_NEG1,-119.0,MIN_B1_SAW
10=d,B1_POS,127.0,MAX_B1
11=d,B1_POS1,119.0,MAX_B1_SAW
12=d,PARK_B1,-90.0,---
13=d,PARK_SAWB1,0.0,---
14=d,C1_NEG,-275.0,MIN_C1
15=d,C1_POS,275.0,MAX_C1
16=d,PARK_C1,-90.0,---
17=d,PARK_SAWC1,-90.0,---
18=l,PIVOT_T1,170.02,PIVOT_HEAD1
19=l,X2_NEG,-2950,MIN_X2
20=l,X2_POS,0,MAX_X2
21=l,PARK_X2,-70,---
22=l,Z2_NEG,-880,MIN_Z2
23=l,Z2_POS,0,MAX_Z2
24=l,PARK_Z2,0,PARK_Z2
25=d,B2_NEG,-127.0,MIN_B2
26=d,B2_NEG1,-119.0,---
27=d,B2_POS,127.0,MAX_B2
28=d,B2_POS1,119.0,---
29=d,PARK_B2,-90.0,---
30=d,C2_NEG,-275.0,MIN_C2
31=d,C2_POS,275.0,MAX_C2
32=d,PARK_C2,-90.0,---
33=l,PIVOT_T2,169.93,PIVOT_HEAD2
34=l,MIN_Y1,378,MIN_Y1
35=l,MAX_Y1,5771,MAX_Y1
36=l,PARK_Y1,1036,PARK_Y1
37=l,MIN_V1,10,MIN_V1
38=l,MAX_V1,670,MAX_V1
39=l,MIN_Y2,-5773,MIN_Y2
40=l,MAX_Y2,-378,MAX_Y2
41=l,PARK_Y2,-1036,PARK_Y2
42=l,MIN_V2,-670,MIN_V2
43=l,MAX_V2,-10,MAX_V2
44=l,MIN_DELTAVY,391,MIN_DELTAVY
45=l,DIST_FTZERO,2206.1,CARICO_Y
46=l,DELTA_CARICZERO,45,OFFSET_RIB
47=l,DIST_UNLOAD,-2250,UNLOAD_Y
48=d,OFFSETBLAMAT1,0,OFFSET B SAW1
49=d,OFFSETCLAMAT1,0,OFFSET C SAW1
50=d,OFFSETBLAMAT2,0,OFFSET B SAW2
51=d,OFFSETCLAMAT2,0,OFFSET C SAW2
52=l,OFFSETXT1,-1178.6,OFFSET_X_HEAD1
53=l,OFFSETZT1,-1243.7,OFFSET_Z_HEAD1
54=l,OFFSETXT2,-2460.3,OFFSET_X_HEAD2
55=l,OFFSETZT2,-444.0,OFFSET_Z_HEAD2
56=l,OFFSETZSOTTOTRAVE,1005,OFFSET_Z_SOTTOTRAVE
57=d,SECONDSAW,1,SECOND_SAW
58=d,DOUBLE_HEAD_DOVETAIL,1,DT_MORTISE_IN_DOUBLE
59=d,DOUBLE_HEAD_POCKET,1,POCKET_IN_DOUBLE
60=d,DOUBLE_HEAD_DRILLING,1,DRILLING_IN_DOUBLE
[2]
Name=Trave
1=l,XMIN,30,XMIN
2=l,XMAX,1250,XMAX
3=l,ZMIN,30,ZMIN
4=l,ZMAX,400,ZMAX
[3]
Name=User
1=d,OPTIMIZATIONS_ENABLE_SLICES_F5,1,ENABLE_SLICES_ON_END
2=d,OPTIMIZATIONS_ENABLE_SLICES_F6,1,ENABLE_SLICES_ON_START
3=d,OPTIMIZATIONS_LENGTH_SLICES,100,SLICES_LENGTH
4=l,L020_DIAM_HOLE,20,L020_HOLE_DIAM
5=l,L040_OFFSET_P1,0,L040_ON_TENON_OFFSET
+62
View File
@@ -0,0 +1,62 @@
[Cut]
1=HeadSide
2=HeadSide_H2
3=TailSide
4=TailSide_H2
5=LongCut
[Drill]
1=Drill
2=Drill_H2
3=Pocket
4=Pocket_H2
5=Predrill
6=Predrill_H2
[Milling]
1=Prof
2=Prof_H2
3=FreeContour
4=FreeContour_H2
5=Tenon
6=Tenon_H2
7=DtTenon
8=DtTenon_H2
9=DtMortise
10=DtMortise_H2
11=BirdsMouth
12=BirdsMouth_H2
13=Chamfer
14=Mark
15=Mark_H2
16=Text
17=Text_H2
18=Decor01
19=Long2Cut
20=Long2Cut_H2
21=Long2CutDown
22=Long2CutDown_H2
23=LongSmallCut
24=LongSmallCut_H2
25=BHSideMill
26=CleanCorner
27=ProfTCone
28=Long2CutSide
29=Long2CutSide_H2
30=SmallToolContour
31=SmallToolContour_H2
32=AntiSplintMillCut
33=AntiSplintMillCut_H2
34=SideMillAsBlade
35=SideMillAsBlade_H2
[Pocketing]
1=Pocket
2=Pocket_H2
3=OpenPocket
4=OpenPocket_H2
5=Mortise
6=Mortise_H2
[Sawing]
1=Sawing
+3
View File
@@ -0,0 +1,3 @@
[BEAM]
StartOffset=0
Offset=0
+80
View File
@@ -0,0 +1,80 @@
local Offsets = {
X1_NEG=-3675,
X1_POS=0,
PARK_X1=-250,
Z1_NEG=-1565,
Z1_POS=0,
PARK_Z1=-535,
PARK_SAWZ1=-150,
B1_NEG=-127,
B1_NEG1=-119,
B1_POS=127,
B1_POS1=119,
PARK_B1=-90,
PARK_SAWB1=0,
C1_NEG=-275,
C1_POS=275,
PARK_C1=-90,
PARK_SAWC1=-90,
PIVOT_T1=170.02,
X2_NEG=-3195,
X2_POS=0,
PARK_X2=-70,
Z2_NEG=-975,
Z2_POS=0,
PARK_Z2=-10,
B2_NEG=-127,
B2_NEG1=-119,
B2_POS=127,
B2_POS1=119,
PARK_B2=-90,
C2_NEG=-275,
C2_POS=275,
PARK_C2=-90,
PIVOT_T2=169.93,
MIN_Y1=378,
MAX_Y1=5771,
PARK_Y1=1036,
MIN_V1=10,
MAX_V1=670,
MIN_Y2=-5773,
MAX_Y2=-378,
PARK_Y2=-1036,
MIN_V2=-670,
MAX_V2=-10,
MIN_DELTAVY=375,
DIST_FTZERO=2224.25,
DELTA_CARICZERO=45,
DIST_UNLOAD=-2250,
OFFSETBLAMAT1=0,
OFFSETCLAMAT1=0,
OFFSETBLAMAT2=0,
OFFSETCLAMAT2=0,
OFFSETXT1=-1174.22,
OFFSETZT1=-1248.99,
OFFSETXT2=-2713.59,
OFFSETZT2=-528.29,
OFFSETZSOTTOTRAVE=1005,
SECONDSAW=1,
DOUBLE_HEAD_DOVETAIL=1,
DOUBLE_HEAD_MORTISE=1,
DOUBLE_HEAD_DRILLING=1,
}
local Trave = {
XMIN=30,
XMAX=1500,
ZMIN=30,
ZMAX=400,
}
local User = {
OPTIMIZATIONS_ENABLE_SLICES_F5=1,
OPTIMIZATIONS_ENABLE_SLICES_F6=1,
OPTIMIZATIONS_LENGTH_SLICES=100,
L020_DIAM_HOLE=12,
L040_OFFSET_P1=0,
}
local Machine = { Offsets=Offsets, Trave=Trave, User=User}
return Machine