2.5l1 Prima versione. Derivata da PF1250 ver 2.5l4
- gestione doppia motosega - gestione magazzino utensili speciali
This commit is contained in:
+17
@@ -0,0 +1,17 @@
|
||||
/Tools
|
||||
/Machinings
|
||||
/SetUp
|
||||
/Beam/Ts3Data.bak
|
||||
/Beam/CutData.lua
|
||||
/Beam/DrillData.lua
|
||||
/Beam/MillingData.lua
|
||||
/Beam/PocketingData.lua
|
||||
/Beam/SawingData.lua
|
||||
/Beam/Ts3Data.lua
|
||||
/Wall/Ts3Data.bak
|
||||
/Wall/CutData.lua
|
||||
/Wall/DrillData.lua
|
||||
/Wall/MillingData.lua
|
||||
/Wall/PocketingData.lua
|
||||
/Wall/SawingData.lua
|
||||
/Wall/Ts3Data.lua
|
||||
@@ -0,0 +1,192 @@
|
||||
-- BeamData.lua by Egaltech s.r.l. 2023/06/28
|
||||
-- Raccolta dati generali per Travi
|
||||
|
||||
EgtOutLog( ' PF1250-BeamData started')
|
||||
|
||||
-- Tabella per definizione modulo
|
||||
local BeamData = {
|
||||
RIGHT_LOAD = false, -- flag carico da destra
|
||||
SIMUL_VIEW_DIR = 2, -- 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 = 1250, -- larghezza massima del grezzo
|
||||
MAX_HEIGHT = 400, -- 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
|
||||
MAX_LEN_SCRAP = 150, -- massima lunghezza scarto di coda
|
||||
MAX_LEN_SCRAP_START = 150, -- massima lunghezza scarto di testa
|
||||
MAX_DIM_HTCUT = 201.1, -- larghezza massima taglio di testa o coda
|
||||
MAX_DIM_HTCUT_HBEAM = 201.1, -- larghezza massima taglio di testa o coda con trave alta
|
||||
MIN_DIM_HBEAM = 410, -- altezza minima di trave alta
|
||||
OVM_CHAIN_HBEAM = 8, -- sovramateriale per split con sega a catena
|
||||
MAX_DIM_DICE = 135, -- dimensione trasversale massima cubetto
|
||||
MAX_LEN_DICE = 400, -- lunghezza massima cubetto 400
|
||||
DECR_VERT_CUT = 25, -- riduzione profondità per affondamento verticale in taglio orizzontale
|
||||
COLL_SIC = 5, -- distanza di sicurezza per collisioni
|
||||
CUT_SIC = 30, -- distanza di sicurezza per tagli
|
||||
CUT_EXTRA = 5, -- affondamento extra standard per tagli di lama e fresature
|
||||
CUT_EXTRA_MIN = 1, -- 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 = 3010.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 = 3, -- dimensione codolo sostegno parti lasciate su contorno libero o archi
|
||||
DIM_STRIP_SMALL = 1.5, -- 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 = 500, -- 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 = 500, -- 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 = false, -- 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-PF1250.data"
|
||||
local sDataBeam = EgtGetSourceDir().."\\Ts3Data.lua"
|
||||
local sDataWall = EgtGetCurrMachineDir()..'\\Wall\\Ts3Data.lua'
|
||||
if EgtExistsFile( sTs3Data) then
|
||||
EgtCopyFile( sTs3Data, sDataBeam)
|
||||
EgtCopyFile( sTs3Data, sDataWall)
|
||||
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_POCKET then BeamData.DOUBLE_HEAD_MORTISE = ( Machine.Offsets.DOUBLE_HEAD_POCKET == 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)
|
||||
if not vtDir or vtDir:getZ() < -0.867 then
|
||||
return 240
|
||||
elseif vtDir:getZ() < -0.707 then
|
||||
return 240
|
||||
else
|
||||
return 280
|
||||
end
|
||||
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 BeamData.MINRAW_S + dCoeff * ( BeamData.MINRAW_L - BeamData.MINRAW_S)
|
||||
end
|
||||
BeamData.GetMinUnloadableRaw = GetMinUnloadableRaw
|
||||
|
||||
---------------------------------------------------------------------
|
||||
local function GetChainSawBlockedAxis( nInd)
|
||||
if nInd == 1 then
|
||||
return 'A1=90'
|
||||
else
|
||||
return 'A1=0'
|
||||
end
|
||||
end
|
||||
BeamData.GetChainSawBlockedAxis = GetChainSawBlockedAxis
|
||||
|
||||
---------------------------------------------------------------------
|
||||
|
||||
return BeamData
|
||||
@@ -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%
|
||||
@@ -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')
|
||||
@@ -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_MORTISE,1,MORTISE_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
|
||||
@@ -0,0 +1,60 @@
|
||||
[Cut]
|
||||
1=HeadSide
|
||||
2=HeadSide_H2
|
||||
3=TailSide
|
||||
4=TailSide_H2
|
||||
5=LongCut
|
||||
|
||||
[Drill]
|
||||
1=Drill
|
||||
2=Drill_H2
|
||||
3=Pocket
|
||||
4=Pocket_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
|
||||
File diff suppressed because it is too large
Load Diff
+2272
File diff suppressed because it is too large
Load Diff
+2475
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -0,0 +1,75 @@
|
||||
; Commento per evitare BOM con UTF-8
|
||||
[General]
|
||||
Material=Beam
|
||||
|
||||
[Tools]
|
||||
Drillbit=1
|
||||
Sawblade=1
|
||||
Mill=1
|
||||
Mortise=1
|
||||
Chisel=0
|
||||
DrillMaker=MakeWoodDrill.lua
|
||||
SawbladeMaker=MakeSawblade.lua
|
||||
MillMaker=MakeWoodCylMill.lua
|
||||
MortiseMaker=MakeMortise.lua
|
||||
ChiselMaker=MakeChisel.lua
|
||||
Active=1
|
||||
|
||||
[ToolHolder]
|
||||
H11.1=Standard.nge
|
||||
H11.1:MILL_NOTIP=MillNoTip.nge
|
||||
H12.1=Saw.nge
|
||||
H13.1=ChainSaw.nge
|
||||
H14.1=Standard.nge
|
||||
H14.1:MILL_NOTIP=MillNoTip.nge
|
||||
H16.1=Saw.nge
|
||||
H21.1=Standard.nge
|
||||
H21.1:MILL_NOTIP=MillNoTip.nge
|
||||
H21.1:SAW_STD=SawH2Std.nge
|
||||
H21.1:SAW_FLAT=SawH2Flat.nge
|
||||
H22.1=Saw.nge
|
||||
|
||||
[Machinings]
|
||||
Drilling=1
|
||||
Sawing=1
|
||||
Milling=1
|
||||
Pocketing=1
|
||||
Mortising=1
|
||||
Chiseling=0
|
||||
SawRoughing=0
|
||||
SawFinishing=0
|
||||
|
||||
[Machining]
|
||||
InitScript=InitMach.lua
|
||||
ExitScript=ExitMach.lua
|
||||
|
||||
[Disposition]
|
||||
;InitScript=InitDisp.lua
|
||||
|
||||
[Heads]
|
||||
; 5 axis head
|
||||
H11=6608
|
||||
; 5 axis saw
|
||||
H12=6615
|
||||
; Chainsaw
|
||||
H13=6616
|
||||
; 5 axis head
|
||||
H14=6608
|
||||
; 5 axis second saw
|
||||
H16=6623
|
||||
; Second 5 axis bottom head
|
||||
H21=6620
|
||||
; Second 5 axis bottom saw
|
||||
H22=6628
|
||||
|
||||
[SetUp]
|
||||
Default=Standard
|
||||
|
||||
[Estimations]
|
||||
Enable=1
|
||||
WinPlace=0,514,138,628,810
|
||||
|
||||
[VMill]
|
||||
Enable=1
|
||||
Save=0
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,36 @@
|
||||
-- 2018/11/21 17:30:00
|
||||
-- Machining Exit for Essetre-FAST machine
|
||||
|
||||
-- Intestazioni
|
||||
require( 'EgtBase')
|
||||
_ENV = EgtProtectGlobal()
|
||||
EgtEnableDebug( false)
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
-- *** Uscita da Lavorazioni ***
|
||||
|
||||
-- Nascondo il pezzo così marcato e le geometrie aggiunte, visualizzo il Box
|
||||
local function ProcessPart( PartId)
|
||||
-- visualizzo il Box
|
||||
EgtSetStatus( EgtGetFirstNameInGroup( PartId, 'Box') or GDB_ID.NULL, GDB_ST.ON)
|
||||
end
|
||||
|
||||
-- Disabilito segnalazione modifica progetto
|
||||
local bEnMod = EgtGetEnableModified()
|
||||
EgtDisableModified()
|
||||
|
||||
-- Processo i pezzi nella radice (già chiusi tutti i gruppi di lavoro)
|
||||
local PartId = EgtGetFirstPart()
|
||||
while PartId do
|
||||
ProcessPart( PartId)
|
||||
PartId = EgtGetNextPart( PartId)
|
||||
end
|
||||
|
||||
EgtZoom( SCE_ZM.ALL, false)
|
||||
|
||||
-- Ripristino segnalazione modifica progetto
|
||||
if bEnMod then
|
||||
EgtEnableModified()
|
||||
end
|
||||
|
||||
MACH.ERR = 0
|
||||
@@ -0,0 +1,44 @@
|
||||
-- 2018/11/21 16:30:00
|
||||
-- Machining Init for Essetre-FAST machine
|
||||
|
||||
-- Intestazioni
|
||||
require( 'EgtBase')
|
||||
_ENV = EgtProtectGlobal()
|
||||
EgtEnableDebug( false)
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
-- *** Ingresso in Lavorazioni ***
|
||||
|
||||
-- Rendo visibile il pezzo e le geometrie aggiunte, nascondo il Box
|
||||
local function ProcessPart( PartId)
|
||||
-- nascondo il Box
|
||||
EgtSetStatus( EgtGetFirstNameInGroup( PartId, 'Box') or GDB_ID.NULL, GDB_ST.OFF)
|
||||
end
|
||||
|
||||
-- Disabilito segnalazione modifica progetto
|
||||
local bEnMod = EgtGetEnableModified()
|
||||
EgtDisableModified()
|
||||
|
||||
-- Processo i pezzi nella radice
|
||||
local PartId = EgtGetFirstPart()
|
||||
while PartId do
|
||||
ProcessPart( PartId)
|
||||
PartId = EgtGetNextPart( PartId)
|
||||
end
|
||||
|
||||
-- Processo i pezzi già nei gruppi di lavoro (quando appena lanciata Process)
|
||||
local GhostId = EgtGetFirstGhostPart()
|
||||
while GhostId do
|
||||
local PartId = EgtGetInfo( GhostId, GDB_SI.SOURCE, 'i')
|
||||
if PartId then
|
||||
ProcessPart( PartId)
|
||||
end
|
||||
GhostId = EgtGetNextGhostPart( GhostId)
|
||||
end
|
||||
|
||||
-- Ripristino segnalazione modifica progetto
|
||||
if bEnMod then
|
||||
EgtEnableModified()
|
||||
end
|
||||
|
||||
MACH.ERR = 0
|
||||
@@ -0,0 +1,285 @@
|
||||
-- 2023/02/20
|
||||
-- Gestione attrezzaggio per Essetre-PF1250
|
||||
|
||||
-- Intestazioni
|
||||
require( 'EgtBase')
|
||||
_ENV = EgtProtectGlobal()
|
||||
EgtEnableDebug( false)
|
||||
|
||||
-- Tavola di passaggio valori
|
||||
local STU = {}
|
||||
STU.TUUID = ""
|
||||
STU.TCPOS = ""
|
||||
STU.HEAD = ""
|
||||
STU.GROUP = ""
|
||||
STU.POS = ""
|
||||
STU.EXIT = 0
|
||||
STU.INDEX = 0
|
||||
STU.HEAD1 = ""
|
||||
STU.HEAD2 = ""
|
||||
STU.ISVALID = false
|
||||
STU.ERR = 0
|
||||
_G.STU = STU
|
||||
|
||||
local INVALIDPOS = ""
|
||||
local POS = "Pos"
|
||||
|
||||
-- Geom Set
|
||||
local GS = {}
|
||||
|
||||
-- Configurazione posizioni (con o senza TC2)
|
||||
local PositionTable = {}
|
||||
local bTc2Active = ( EgtGetFirstNameInGroup( EgtGetBaseId( 'Base'), 'TC2') ~= nil)
|
||||
local SecondSaw = ( EgtGetHeadId( 'H16') ~= nil)
|
||||
local SecondChain = ( EgtGetFirstNameInGroup( EgtGetBaseId( 'Base'), 'TC5') ~= nil)
|
||||
local TcSpecialTools = ( EgtGetHeadId( 'H14') ~= nil)
|
||||
local TcAggreBladeUnder = ( EgtGetFirstNameInGroup( EgtGetBaseId( 'Base'), 'TCS') ~= nil)
|
||||
|
||||
local bFullOpt = bTc2Active and SecondSaw and SecondChain and TcSpecialTools and TcAggreBladeUnder -- se ha tutti gli optional attivati
|
||||
if bFullOpt then
|
||||
PositionTable = {{Pos = "Pos1", TcPos = "T1", Head = "H12", Group = "G1"}, -- TC 1
|
||||
{Pos = "Pos2", TcPos = "T2", Head = "H11", Group = "G1"},
|
||||
{Pos = "Pos3", TcPos = "T3", Head = "H11", Group = "G1"},
|
||||
{Pos = "Pos4", TcPos = "T4", Head = "H11", Group = "G1"},
|
||||
{Pos = "Pos5", TcPos = "T5", Head = "H11", Group = "G1"},
|
||||
{Pos = "Pos6", TcPos = "T6", Head = "H11", Group = "G1"},
|
||||
{Pos = "Pos7", TcPos = "T7", Head = "H11", Group = "G1"},
|
||||
{Pos = "Pos8", TcPos = "T8", Head = "H11", Group = "G1"},
|
||||
{Pos = "Pos9", TcPos = "T9", Head = "H11", Group = "G1"},
|
||||
{Pos = "Pos10", TcPos = "T10", Head = "H11", Group = "G1"},
|
||||
{Pos = "Pos11", TcPos = "T11", Head = "H11", Group = "G1"},
|
||||
{Pos = "Pos12", TcPos = "T12", Head = "H11", Group = "G1"},
|
||||
{Pos = "Pos13", TcPos = "T13", Head = "H11", Group = "G1"},
|
||||
{Pos = "Pos14", TcPos = "T101", Head = "H13", Group = "G2"}, -- motosega
|
||||
{Pos = "Pos15", TcPos = "T111", Head = "H13", Group = "G2"}, -- motosega 2
|
||||
{Pos = "Pos16", TcPos = "T121", Head = "H14", Group = "G2"}, -- utensile speciale
|
||||
{Pos = "Pos17", TcPos = "T21", Head = "H16", Group = "G3"}, -- TC 2
|
||||
{Pos = "Pos18", TcPos = "T22", Head = "H11", Group = "G3"},
|
||||
{Pos = "Pos19", TcPos = "T23", Head = "H11", Group = "G3"},
|
||||
{Pos = "Pos20", TcPos = "T24", Head = "H11", Group = "G3"},
|
||||
{Pos = "Pos21", TcPos = "T25", Head = "H11", Group = "G3"},
|
||||
{Pos = "Pos22", TcPos = "T26", Head = "H11", Group = "G3"},
|
||||
{Pos = "Pos23", TcPos = "T27", Head = "H11", Group = "G3"},
|
||||
{Pos = "Pos24", TcPos = "T28", Head = "H11", Group = "G3"},
|
||||
{Pos = "Pos25", TcPos = "T29", Head = "H11", Group = "G3"},
|
||||
{Pos = "Pos26", TcPos = "T30", Head = "H11", Group = "G3"},
|
||||
{Pos = "Pos27", TcPos = "T201", Head = "H22", Group = "G4"}, -- lama con aggregatop da sotto
|
||||
{Pos = "Pos28", TcPos = "T220", Head = "H21", Group = "G4"}, -- TC margherita
|
||||
{Pos = "Pos29", TcPos = "T221", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos30", TcPos = "T222", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos31", TcPos = "T223", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos32", TcPos = "T224", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos33", TcPos = "T225", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos34", TcPos = "T226", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos35", TcPos = "T227", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos36", TcPos = "T228", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos37", TcPos = "T229", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos38", TcPos = "T230", Head = "H21", Group = "G4"}}
|
||||
elseif bTc2Active then
|
||||
PositionTable = {{Pos = "Pos1", TcPos = "T1", Head = "H12", Group = "G1"},
|
||||
{Pos = "Pos2", TcPos = "T3", Head = "H11", Group = "G1"},
|
||||
{Pos = "Pos3", TcPos = "T4", Head = "H11", Group = "G1"},
|
||||
{Pos = "Pos4", TcPos = "T5", Head = "H11", Group = "G1"},
|
||||
{Pos = "Pos5", TcPos = "T6", Head = "H11", Group = "G1"},
|
||||
{Pos = "Pos6", TcPos = "T7", Head = "H11", Group = "G1"},
|
||||
{Pos = "Pos7", TcPos = "T8", Head = "H11", Group = "G1"},
|
||||
{Pos = "Pos8", TcPos = "T9", Head = "H11", Group = "G1"},
|
||||
{Pos = "Pos9", TcPos = "T10", Head = "H11", Group = "G1"},
|
||||
{Pos = "Pos10", TcPos = "T101",Head = "H13", Group = "G2"},
|
||||
{Pos = "Pos11", TcPos = "T11", Head = "H11", Group = "G3"},
|
||||
{Pos = "Pos12", TcPos = "T12", Head = "H11", Group = "G3"},
|
||||
{Pos = "Pos13", TcPos = "T13", Head = "H11", Group = "G3"},
|
||||
{Pos = "Pos14", TcPos = "T14", Head = "H11", Group = "G3"},
|
||||
{Pos = "Pos15", TcPos = "T15", Head = "H11", Group = "G3"},
|
||||
{Pos = "Pos16", TcPos = "T20", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos17", TcPos = "T21", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos18", TcPos = "T22", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos19", TcPos = "T23", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos20", TcPos = "T24", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos21", TcPos = "T25", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos22", TcPos = "T26", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos23", TcPos = "T27", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos24", TcPos = "T28", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos25", TcPos = "T29", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos26", TcPos = "T30", Head = "H21", Group = "G4"}}
|
||||
else
|
||||
PositionTable = {{Pos = "Pos1", TcPos = "T1", Head = "H12", Group = "G1"},
|
||||
{Pos = "Pos2", TcPos = "T3", Head = "H11", Group = "G1"},
|
||||
{Pos = "Pos3", TcPos = "T4", Head = "H11", Group = "G1"},
|
||||
{Pos = "Pos4", TcPos = "T5", Head = "H11", Group = "G1"},
|
||||
{Pos = "Pos5", TcPos = "T6", Head = "H11", Group = "G1"},
|
||||
{Pos = "Pos6", TcPos = "T7", Head = "H11", Group = "G1"},
|
||||
{Pos = "Pos7", TcPos = "T8", Head = "H11", Group = "G1"},
|
||||
{Pos = "Pos8", TcPos = "T9", Head = "H11", Group = "G1"},
|
||||
{Pos = "Pos9", TcPos = "T10", Head = "H11", Group = "G1"},
|
||||
{Pos = "Pos10", TcPos = "T101",Head = "H13", Group = "G2"},
|
||||
{Pos = "Pos11", TcPos = "T20", Head = "H21", Group = "G3"},
|
||||
{Pos = "Pos12", TcPos = "T21", Head = "H21", Group = "G3"},
|
||||
{Pos = "Pos13", TcPos = "T22", Head = "H21", Group = "G3"},
|
||||
{Pos = "Pos14", TcPos = "T23", Head = "H21", Group = "G3"},
|
||||
{Pos = "Pos15", TcPos = "T24", Head = "H21", Group = "G3"},
|
||||
{Pos = "Pos16", TcPos = "T25", Head = "H21", Group = "G3"},
|
||||
{Pos = "Pos17", TcPos = "T26", Head = "H21", Group = "G3"},
|
||||
{Pos = "Pos18", TcPos = "T27", Head = "H21", Group = "G3"},
|
||||
{Pos = "Pos19", TcPos = "T28", Head = "H21", Group = "G3"},
|
||||
{Pos = "Pos20", TcPos = "T29", Head = "H21", Group = "G3"},
|
||||
{Pos = "Pos21", TcPos = "T30", Head = "H21", Group = "G3"}}
|
||||
end
|
||||
|
||||
local UsePositionHead = true
|
||||
|
||||
local function IsInGeomSet( ToolHead, PosHead)
|
||||
for GsIndex = 1, #GS do
|
||||
local bToolHead = false
|
||||
local bPosHead = false
|
||||
for HIndex = 1, #GS[GsIndex] do
|
||||
if GS[GsIndex][HIndex] == ToolHead then
|
||||
bToolHead = true
|
||||
elseif GS[GsIndex][HIndex] == PosHead then
|
||||
bPosHead = true
|
||||
end
|
||||
if bToolHead and bPosHead then
|
||||
return true
|
||||
end
|
||||
end
|
||||
if bToolHead and bPosHead then
|
||||
return true
|
||||
end
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
function STU.IsCompatibleHeads()
|
||||
STU.ISVALID = false
|
||||
if IsInGeomSet(STU.HEAD1, STU.HEAD2) then
|
||||
STU.ISVALID = true
|
||||
else
|
||||
STU.ISVALID = false
|
||||
end
|
||||
end
|
||||
|
||||
function STU.GetValidHeadExitForPos()
|
||||
-- se TUUID non valido restituisco errore
|
||||
local ToolName = EgtTdbGetToolFromUUID( STU.TUUID)
|
||||
if ToolName == nill then
|
||||
STU.ERR = 1
|
||||
return
|
||||
end
|
||||
EgtTdbSetCurrTool( ToolName)
|
||||
local CurrToolHead = EgtTdbGetCurrToolParam( MCH_TP.HEAD)
|
||||
STU.EXIT = EgtTdbGetCurrToolParam( MCH_TP.EXIT)
|
||||
-- recupero testa predefinita per la posizione corrente
|
||||
local CurrPosHead
|
||||
for i = 1, #PositionTable do
|
||||
if PositionTable[i].TcPos == STU.TCPOS then
|
||||
CurrPosHead = PositionTable[i].Head
|
||||
break
|
||||
end
|
||||
end
|
||||
-- verifico se la testa è quella della posizione predefinita
|
||||
if CurrPosHead == CurrToolHead then
|
||||
STU.HEAD = CurrToolHead
|
||||
STU.ERR = 0
|
||||
return
|
||||
-- verifico se la testa è compatibile con quella della posizione predefinita
|
||||
elseif IsInGeomSet( CurrToolHead, CurrPosHead) then
|
||||
if UsePositionHead then
|
||||
STU.HEAD = CurrPosHead
|
||||
STU.ERR = 0
|
||||
return
|
||||
else
|
||||
STU.HEAD = CurrToolHead
|
||||
STU.ERR = 0
|
||||
return
|
||||
end
|
||||
-- la testa non è compatibile con quella della posizione predefinita
|
||||
else
|
||||
STU.HEAD = INVALIDPOS
|
||||
STU.ERR = 0
|
||||
return
|
||||
end
|
||||
end
|
||||
|
||||
function STU.IsValidTcPosFromHead()
|
||||
STU.ISVALID = false
|
||||
for i = 1, #PositionTable do
|
||||
if PositionTable[i].TcPos == STU.TCPOS then
|
||||
if PositionTable[i].Head == STU.HEAD then
|
||||
STU.ISVALID = true
|
||||
STU.ERR = 0
|
||||
return
|
||||
elseif IsInGeomSet(PositionTable[i].Head, STU.HEAD) then
|
||||
STU.ISVALID = true
|
||||
STU.ERR = 0
|
||||
return
|
||||
end
|
||||
STU.ISVALID = false
|
||||
STU.ERR = 0
|
||||
return
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function STU.GetTcPosHeadGroupFromPos()
|
||||
for i = 1, #PositionTable do
|
||||
if PositionTable[i].Pos == (POS .. tostring(STU.INDEX)) then
|
||||
STU.TCPOS = PositionTable[i].TcPos
|
||||
STU.HEAD = PositionTable[i].Head
|
||||
STU.GROUP = PositionTable[i].Group
|
||||
STU.ERR = 0
|
||||
return
|
||||
end
|
||||
end
|
||||
STU.TCPOS = INVALIDPOS
|
||||
STU.HEAD = INVALIDPOS
|
||||
STU.GROUP = INVALIDPOS
|
||||
STU.ERR = 1
|
||||
end
|
||||
|
||||
function STU.GetPosFromTcPos()
|
||||
for i = 1, #PositionTable do
|
||||
if PositionTable[i].TcPos == STU.TCPOS then
|
||||
STU.POS = PositionTable[i].Pos
|
||||
STU.ERR = 0
|
||||
return
|
||||
end
|
||||
end
|
||||
STU.POS = INVALIDPOS
|
||||
STU.ERR = 1
|
||||
end
|
||||
|
||||
function STU.GetGroupFromTcPos()
|
||||
for i = 1, #PositionTable do
|
||||
if PositionTable[i].TcPos == STU.TCPOS then
|
||||
STU.GROUP = PositionTable[i].Group
|
||||
STU.ERR = 0
|
||||
return
|
||||
end
|
||||
end
|
||||
STU.GROUP = INVALIDPOS
|
||||
STU.ERR = 1
|
||||
end
|
||||
|
||||
function STU.GetHeadFromPos()
|
||||
for i = 1, #PositionTable do
|
||||
if PositionTable[i].Pos == (POS .. tostring(STU.INDEX)) then
|
||||
STU.HEAD = PositionTable[i].Head
|
||||
STU.ERR = 0
|
||||
return
|
||||
end
|
||||
end
|
||||
STU.HEAD = INVALIDPOS
|
||||
STU.ERR = 1
|
||||
end
|
||||
|
||||
function STU.GetTcPosFromPos()
|
||||
for i = 1, #PositionTable do
|
||||
if PositionTable[i].Pos == (POS .. tostring(STU.INDEX)) then
|
||||
STU.TCPOS = PositionTable[i].TcPos
|
||||
STU.ERR = 0
|
||||
return
|
||||
end
|
||||
end
|
||||
STU.TCPOS = INVALIDPOS
|
||||
STU.ERR = 1
|
||||
end
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -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_MORTISE,1,MORTISE_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
|
||||
@@ -0,0 +1,23 @@
|
||||
[Cut]
|
||||
1=Standard
|
||||
|
||||
[Drill]
|
||||
1=Drill
|
||||
2=Pocket
|
||||
|
||||
[Milling]
|
||||
1=FreeContour
|
||||
2=Side
|
||||
3=SideGroove
|
||||
4=DtMortise
|
||||
5=Mark
|
||||
6=Text
|
||||
7=CleanCorner60
|
||||
8=CleanCorner30
|
||||
|
||||
[Pocketing]
|
||||
1=Pocket
|
||||
2=OpenPocket
|
||||
|
||||
[Sawing]
|
||||
1=Sawing
|
||||
@@ -0,0 +1,62 @@
|
||||
-- WallData.lua by Egaltech s.r.l. 2021/03/08
|
||||
-- Raccolta dati generali per Pareti
|
||||
|
||||
EgtOutLog( ' WALL-WallData started', 1)
|
||||
|
||||
-- Tabella per definizione modulo
|
||||
local WallData = {
|
||||
MIN_LENGTH = 4000, -- lunghezza minima del grezzo
|
||||
MIN_WIDTH = 100, -- larghezza minima del grezzo
|
||||
MIN_HEIGHT = 10, -- altezza minima del grezzo
|
||||
MAX_LENGTH = 14000, -- lunghezza massima del grezzo
|
||||
MAX_WIDTH = 1250, -- larghezza massima del grezzo
|
||||
MAX_HEIGHT = 300, -- altezza massima del grezzo
|
||||
STD_RAW_LENGTH = 10000, -- lunghezza standard del grezzo
|
||||
STD_RAW_WIDTH = 1250, -- larghezza standard del grezzo
|
||||
OVM_HEAD = 60, -- sovramateriale testa
|
||||
OVM_MID = 50, -- sovramateriale intermedio
|
||||
COLL_SIC = 5, -- distanza di sicurezza per collisioni
|
||||
CUT_SIC = 20, -- distanza di sicurezza per tagli
|
||||
CUT_EXTRA = 0, -- affondamento extra standard per tagli di lama e fresature
|
||||
CUT_EXTRA_MIN = 0, -- affondamento extra ridotto per tagli di lama e fresature
|
||||
NZ_MINA = 0.5, -- 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.5, -- tolleranza tra diametro foro e diametro punta
|
||||
DRILL_VZ_MIN = 0.5, -- componente limite in Z del versore di un foro
|
||||
DRILL_VX_MAX = 0.866, -- 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
|
||||
RAWCOL = { 255, 160, 32, 30}, -- colore del grezzo
|
||||
ORIG_CORNER = 'TR', -- angolo tavola per origine di battuta (BR (defualt), TR, BL, TL)
|
||||
MAX_CLEAN_CRN30 = 120, -- massimo spessore per pulitura angolo con fresa 30deg
|
||||
MIN_DIM_ALLOW_CLEAN = 200, -- apertura minima per lavorazione pulitura spigolo
|
||||
MILL_MAX_DEPTH_AS_MAT = true, -- massimo affondamento frese uguale ad altezza tagliente (max materiale)
|
||||
CUT_MAX_LENGTH = 3000, -- massima lunghezza di un taglio
|
||||
BEAM_MACHINE = true -- lavorazione pareti su macchina travi (PF...)
|
||||
}
|
||||
|
||||
-- Aggiornamento con dati da TechnoEssetre7
|
||||
local sTs3Data = EgtGetStringFromIni( 'Wall', 'DATA_DIR', "C:\\TechnoEssetre7\\EgtData", EgtGetIniFile()).."\\Essetre-PF1250.data"
|
||||
local sData = EgtGetSourceDir().."\\Ts3Data.lua"
|
||||
if EgtExistsFile( sTs3Data) then
|
||||
EgtCopyFile( sTs3Data, sData)
|
||||
local sTs3DataOld = sTs3Data..'.old'
|
||||
EgtEraseFile( sTs3DataOld)
|
||||
EgtRenameFile( sTs3Data, sTs3DataOld)
|
||||
end
|
||||
if EgtExistsFile( sData) then
|
||||
local Machine = dofile( sData)
|
||||
if Machine then
|
||||
if Machine.Trave then
|
||||
WallData.MIN_LENGTH = Machine.Trave.YMIN or WallData.MIN_LENGTH
|
||||
WallData.MIN_WIDTH = Machine.Trave.XMIN or WallData.MIN_WIDTH
|
||||
WallData.MIN_HEIGHT = Machine.Trave.ZMIN or WallData.MIN_HEIGHT
|
||||
WallData.MAX_LENGTH = Machine.Trave.YMAX or WallData.MAX_LENGTH
|
||||
WallData.MAX_WIDTH = Machine.Trave.XMAX or WallData.MAX_WIDTH
|
||||
WallData.MAX_HEIGHT = Machine.Trave.ZMAX or WallData.MAX_HEIGHT
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
return WallData
|
||||
@@ -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%
|
||||
Reference in New Issue
Block a user