- Aggiornato 3D con macchina reale
- Sistemata direzione assi - Modificata posizione scarico per pezzi standard e pezzi corti - Collisioni scritte sotto forma di tabella - Aggiunta note utensili e lavorazioni - Sistemati ToolHolders
This commit is contained in:
Vendored
+2
-1
@@ -95,6 +95,7 @@
|
|||||||
"EgtGetPartInRawPartCount",
|
"EgtGetPartInRawPartCount",
|
||||||
"EgtGetOperationPhase",
|
"EgtGetOperationPhase",
|
||||||
"EgtSetOperationMode",
|
"EgtSetOperationMode",
|
||||||
"EgtSetCalcTool"
|
"EgtSetCalcTool",
|
||||||
|
"EmtModifyAxisStroke"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
+3
-3
@@ -8,8 +8,8 @@ local BeamData = {
|
|||||||
ROT90 = false, -- flag abilitazione rotazione 90 gradi
|
ROT90 = false, -- flag abilitazione rotazione 90 gradi
|
||||||
MIN_WIDTH = 40, -- larghezza minima del grezzo
|
MIN_WIDTH = 40, -- larghezza minima del grezzo
|
||||||
MIN_HEIGHT = 40, -- altezza minima del grezzo
|
MIN_HEIGHT = 40, -- altezza minima del grezzo
|
||||||
MAX_WIDTH = 450, -- larghezza massima del grezzo
|
MAX_WIDTH = 250, -- larghezza massima del grezzo
|
||||||
MAX_HEIGHT = 250, -- altezza massima del grezzo
|
MAX_HEIGHT = 620, -- altezza massima del grezzo
|
||||||
LEN_SHORT_PART = 1200, -- lunghezza massima pezzo corto
|
LEN_SHORT_PART = 1200, -- lunghezza massima pezzo corto
|
||||||
LEN_VERY_SHORT_PART = 400, -- lunghezza massima pezzo molto corto (molto probabile lo scarico a caduta)
|
LEN_VERY_SHORT_PART = 400, -- lunghezza massima pezzo molto corto (molto probabile lo scarico a caduta)
|
||||||
MAX_RAW = 30000, -- massima lunghezza grezzo (deve essere minore di LenTable - RAW_OFFSET)
|
MAX_RAW = 30000, -- massima lunghezza grezzo (deve essere minore di LenTable - RAW_OFFSET)
|
||||||
@@ -22,7 +22,7 @@ local BeamData = {
|
|||||||
MAX_LEN_SCRAP_START = 270, -- massima lunghezza scarto di testa
|
MAX_LEN_SCRAP_START = 270, -- massima lunghezza scarto di testa
|
||||||
MAX_DIM_HTCUT = 205, -- larghezza massima taglio di testa o coda
|
MAX_DIM_HTCUT = 205, -- larghezza massima taglio di testa o coda
|
||||||
MAX_DIM_HTCUT_HBEAM = -195, -- larghezza massima taglio di testa o coda con trave alta
|
MAX_DIM_HTCUT_HBEAM = -195, -- larghezza massima taglio di testa o coda con trave alta
|
||||||
MIN_DIM_HBEAM = 190, -- altezza minima di trave alta
|
MIN_DIM_HBEAM = 621, -- altezza minima di trave alta
|
||||||
MAX_DIM_DICE = 155, -- dimensione trasversale massima cubetto
|
MAX_DIM_DICE = 155, -- dimensione trasversale massima cubetto
|
||||||
MAX_LEN_DICE = 400, -- lunghezza massima cubetto
|
MAX_LEN_DICE = 400, -- lunghezza massima cubetto
|
||||||
DECR_VERT_CUT = 12.5, -- riduzione profondità per affondamento verticale in taglio orizzontale
|
DECR_VERT_CUT = 12.5, -- riduzione profondità per affondamento verticale in taglio orizzontale
|
||||||
|
|||||||
+11
-11
@@ -5,18 +5,18 @@ local Offsets = {
|
|||||||
MAX_Y=540,
|
MAX_Y=540,
|
||||||
MIN_Z=-512,
|
MIN_Z=-512,
|
||||||
MAX_Z=910,
|
MAX_Z=910,
|
||||||
MIN_A=-109.5,
|
MIN_A=-120,
|
||||||
MAX_A=109.5,
|
MAX_A=120,
|
||||||
MIN_C=-240,
|
MIN_C=-240,
|
||||||
MAX_C=240,
|
MAX_C=240,
|
||||||
MIN_X1=290,
|
MIN_X1=62,
|
||||||
MAX_X1=3735,
|
MAX_X1=3650,
|
||||||
PARK_X1=600,
|
PARK_X1=570,
|
||||||
MIN_X2=-3735,
|
MIN_X2=-3650,
|
||||||
MAX_X2=-290,
|
MAX_X2=-62,
|
||||||
PARK_X2=-600,
|
PARK_X2=-500,
|
||||||
BEAM_LOAD=1800.0,
|
BEAM_LOAD=1800.0,
|
||||||
BEAM_UNLOAD=-1800,
|
BEAM_UNLOAD=-2060,
|
||||||
TURN_OFFS=0,
|
TURN_OFFS=0,
|
||||||
MILL_PIVOT=-211.00,
|
MILL_PIVOT=-211.00,
|
||||||
TAB_OFFSET_Y=0,
|
TAB_OFFSET_Y=0,
|
||||||
@@ -28,9 +28,9 @@ local Offsets = {
|
|||||||
|
|
||||||
local Trave = {
|
local Trave = {
|
||||||
YMIN=30,
|
YMIN=30,
|
||||||
YMAX=451,
|
YMAX=251,
|
||||||
ZMIN=30,
|
ZMIN=30,
|
||||||
ZMAX=251
|
ZMAX=621
|
||||||
}
|
}
|
||||||
|
|
||||||
local User = {
|
local User = {
|
||||||
|
|||||||
@@ -0,0 +1,50 @@
|
|||||||
|
; Commento per evitare BOM con UTF-8
|
||||||
|
;Index = Type, Description, Default Value
|
||||||
|
; Type : b=boolean, d=double, l=lenght, s=string
|
||||||
|
|
||||||
|
[Drilling]
|
||||||
|
|
||||||
|
[Sawing]
|
||||||
|
|
||||||
|
[Milling]
|
||||||
|
0=d,MaxElev,0
|
||||||
|
1=d,OutRaw,0
|
||||||
|
2=d,SideElev,0
|
||||||
|
3=d,TrimExt,0
|
||||||
|
4=sr,VtFaceUse,0,0,0
|
||||||
|
|
||||||
|
[Pocketing]
|
||||||
|
0=d,MaxElev,0
|
||||||
|
1=b,Open,0
|
||||||
|
2=d,OpenMinSave,0
|
||||||
|
3=d,OpenOutRaw,0
|
||||||
|
4=d,MaxOptSize,0
|
||||||
|
|
||||||
|
[Mortising]
|
||||||
|
0=d,MaxElev,0
|
||||||
|
|
||||||
|
[Chiseling]
|
||||||
|
|
||||||
|
[SawRoughing]
|
||||||
|
|
||||||
|
[SawFinishing]
|
||||||
|
|
||||||
|
[GenMachining]
|
||||||
|
0=l,LinTol,0.1
|
||||||
|
1=l,MaxLen,2
|
||||||
|
2=s,Type,ZigZag
|
||||||
|
3=d,SideAng,90
|
||||||
|
4=l,Step,10
|
||||||
|
5=l,OffsProj,0
|
||||||
|
6=l,LiTang,0
|
||||||
|
7=l,LiOrth,0
|
||||||
|
8=l,LiElev,0
|
||||||
|
9=l,LoTang,0
|
||||||
|
10=l,LoOrth,0
|
||||||
|
11=l,LoElev,0
|
||||||
|
12=b,DirFromGuide,1
|
||||||
|
|
||||||
|
[SurfRoughing]
|
||||||
|
|
||||||
|
[SurfFinishing]
|
||||||
|
0=b,SkipMaxDown,1
|
||||||
+2
-2
@@ -68,7 +68,7 @@ Active=0
|
|||||||
[ToolHolder]
|
[ToolHolder]
|
||||||
H1.1=Standard.nge
|
H1.1=Standard.nge
|
||||||
H1.1:MILL_NOTIP=MillNoTip.nge
|
H1.1:MILL_NOTIP=MillNoTip.nge
|
||||||
H1.1:SAW_FLAT=TcSaw2.nge
|
H1.1:SAW_FLAT=TcSaw.nge
|
||||||
H3.1=ChainSaw.nge
|
H3.1=ChainSaw.nge
|
||||||
|
|
||||||
[Machinings]
|
[Machinings]
|
||||||
@@ -81,7 +81,7 @@ Chiseling=0
|
|||||||
SawRoughing=0
|
SawRoughing=0
|
||||||
SawFinishing=0
|
SawFinishing=0
|
||||||
GenMachining=0
|
GenMachining=0
|
||||||
SurfFinishing=1
|
SurfFinishing=0
|
||||||
|
|
||||||
[Machining]
|
[Machining]
|
||||||
InitScript=InitMach.lua
|
InitScript=InitMach.lua
|
||||||
|
|||||||
+23
-12
@@ -1,11 +1,12 @@
|
|||||||
-- Descrizione macchina Saomad-KAIROS by EgalWare s.r.l. 2024/06/27
|
-- Descrizione macchina Saomad-KAIROS by EgalWare s.r.l. 2024/06/27
|
||||||
-- 2024/06/27 ver 2.6f1 Prima versione (derivata da Kairos023)
|
-- 2024/06/27 ver 2.6f1 Prima versione (derivata da Kairos023)
|
||||||
-- 2024/07/01 ver 2.6g1 Aggiornato 3D con nuovo gruppo testa
|
-- 2024/07/01 ver 2.6g1 Aggiornato 3D con nuovo gruppo testa
|
||||||
|
-- 2024/07/03 ver 2.6g2 Aggiornato 3D con modello reale e altre piccole modifiche
|
||||||
|
|
||||||
require( 'EmtGenerator')
|
require( 'EmtGenerator')
|
||||||
EgtEnableDebug( false)
|
EgtEnableDebug( false)
|
||||||
|
|
||||||
PP_VER = '2.6g1'
|
PP_VER = '2.6g2'
|
||||||
MIN_MACH_VER = '2.5j1'
|
MIN_MACH_VER = '2.5j1'
|
||||||
|
|
||||||
EgtOutLog ( '** Saomad-KAIROS '..PP_VER..' (MinMach '.. MIN_MACH_VER ..') **', 1)
|
EgtOutLog ( '** Saomad-KAIROS '..PP_VER..' (MinMach '.. MIN_MACH_VER ..') **', 1)
|
||||||
@@ -21,13 +22,13 @@ MinZ = -298
|
|||||||
MaxZ = 915
|
MaxZ = 915
|
||||||
ParkZ = 900
|
ParkZ = 900
|
||||||
FmaxZ = 45000
|
FmaxZ = 45000
|
||||||
MinA = -109.5
|
MinA = -120
|
||||||
MaxA = 109.5
|
MaxA = 120
|
||||||
ParkA = 0
|
ParkA = 0
|
||||||
FmaxA = 10440
|
FmaxA = 10440
|
||||||
MinC = -240
|
MinC = -240
|
||||||
MaxC = 240
|
MaxC = 240
|
||||||
ParkC = 90
|
ParkC = -90
|
||||||
FmaxC = 18000
|
FmaxC = 18000
|
||||||
MillOffs = 211.0
|
MillOffs = 211.0
|
||||||
ChSawLen = 141.5
|
ChSawLen = 141.5
|
||||||
@@ -41,6 +42,7 @@ ParkX2 = -480.0
|
|||||||
FmaxX2 = 45000
|
FmaxX2 = 45000
|
||||||
LoadT = 1800.0
|
LoadT = 1800.0
|
||||||
UnloadT = -1800
|
UnloadT = -1800
|
||||||
|
UnloadSmT = UnloadT
|
||||||
TurnerOffs = 0
|
TurnerOffs = 0
|
||||||
MaxHOpen = 301
|
MaxHOpen = 301
|
||||||
MaxVOpen = 621
|
MaxVOpen = 621
|
||||||
@@ -92,6 +94,7 @@ if EgtExistsFile( sData) then
|
|||||||
ParkZ = EgtClamp( ParkZ, MinZ, MaxZ)
|
ParkZ = EgtClamp( ParkZ, MinZ, MaxZ)
|
||||||
ParkA = EgtClamp( ParkA, MinA, MaxA)
|
ParkA = EgtClamp( ParkA, MinA, MaxA)
|
||||||
ParkC = EgtClamp( ParkC, MinC, MaxC)
|
ParkC = EgtClamp( ParkC, MinC, MaxC)
|
||||||
|
UnloadSmT = UnloadT
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -147,7 +150,7 @@ EmtAxis {
|
|||||||
Parent = 'C',
|
Parent = 'C',
|
||||||
Token = 'A1',
|
Token = 'A1',
|
||||||
Type = MCH_AT.ROTARY,
|
Type = MCH_AT.ROTARY,
|
||||||
Dir = Y_AX(),
|
Dir = X_AX(),
|
||||||
Pos = Point3d( 0, 0, MillOffs),
|
Pos = Point3d( 0, 0, MillOffs),
|
||||||
Stroke = {MinA, MaxA},
|
Stroke = {MinA, MaxA},
|
||||||
Home = ParkA,
|
Home = ParkA,
|
||||||
@@ -183,7 +186,7 @@ local H3Id = EmtHead {
|
|||||||
HSet = 'H1',
|
HSet = 'H1',
|
||||||
Type = MCH_HT.STD,
|
Type = MCH_HT.STD,
|
||||||
Pos = Point3d( 0, 0, -ChSawLen),
|
Pos = Point3d( 0, 0, -ChSawLen),
|
||||||
TDir = -X_AX(),
|
TDir = Y_AX(),
|
||||||
ADir = Z_AX(),
|
ADir = Z_AX(),
|
||||||
Rot1W = 0.2,
|
Rot1W = 0.2,
|
||||||
SolCh = MCH_SCC.ADIR_NEAR,
|
SolCh = MCH_SCC.ADIR_NEAR,
|
||||||
@@ -197,7 +200,7 @@ local X1Id = EmtAxis {
|
|||||||
Parent = 'Base',
|
Parent = 'Base',
|
||||||
Type = MCH_AT.LINEAR,
|
Type = MCH_AT.LINEAR,
|
||||||
Dir = -X_AX(),
|
Dir = -X_AX(),
|
||||||
Pos = Point3d( -1253.5, 245.0, 918.94),
|
Pos = Point3d( -1193.5, 245.0, 918.94),
|
||||||
Stroke = { MinX1, MaxX1},
|
Stroke = { MinX1, MaxX1},
|
||||||
Home = ParkX1,
|
Home = ParkX1,
|
||||||
Geo = 'X1_AXIS/GEO',
|
Geo = 'X1_AXIS/GEO',
|
||||||
@@ -207,7 +210,7 @@ local PX1Id = EmtAxis {
|
|||||||
Parent = 'X1',
|
Parent = 'X1',
|
||||||
Type = MCH_AT.LINEAR,
|
Type = MCH_AT.LINEAR,
|
||||||
Dir = -Y_AX(),
|
Dir = -Y_AX(),
|
||||||
Pos = Point3d( -1253.5, 95.0, 918.94),
|
Pos = Point3d( -1193.5, 95.0, 918.94),
|
||||||
Stroke = { 0, MaxHOpen},
|
Stroke = { 0, MaxHOpen},
|
||||||
Home = MaxHOpen,
|
Home = MaxHOpen,
|
||||||
Geo = 'PX1_AXIS/GEO',
|
Geo = 'PX1_AXIS/GEO',
|
||||||
@@ -217,7 +220,7 @@ local QX1Id = EmtAxis {
|
|||||||
Parent = 'X1',
|
Parent = 'X1',
|
||||||
Type = MCH_AT.LINEAR,
|
Type = MCH_AT.LINEAR,
|
||||||
Dir = Z_AX(),
|
Dir = Z_AX(),
|
||||||
Pos = Point3d( -874.2, -22.5, 668.9787),
|
Pos = Point3d( -814.2, -22.5, 668.9787),
|
||||||
Stroke = { 0, MaxVOpen},
|
Stroke = { 0, MaxVOpen},
|
||||||
Home = MaxVOpen,
|
Home = MaxVOpen,
|
||||||
Geo = 'QX1_AXIS/GEO',
|
Geo = 'QX1_AXIS/GEO',
|
||||||
@@ -228,7 +231,7 @@ local X2Id = EmtAxis {
|
|||||||
Parent = 'Base',
|
Parent = 'Base',
|
||||||
Type = MCH_AT.LINEAR,
|
Type = MCH_AT.LINEAR,
|
||||||
Dir = -X_AX(),
|
Dir = -X_AX(),
|
||||||
Pos = Point3d( 1253.5001, 245.0, 918.94),
|
Pos = Point3d( 1193.5001, 245.0, 918.94),
|
||||||
Stroke = { MinX2, MaxX2},
|
Stroke = { MinX2, MaxX2},
|
||||||
Home = ParkX2,
|
Home = ParkX2,
|
||||||
Geo = 'X2_AXIS/GEO',
|
Geo = 'X2_AXIS/GEO',
|
||||||
@@ -238,7 +241,7 @@ local PX2Id = EmtAxis {
|
|||||||
Parent = 'X2',
|
Parent = 'X2',
|
||||||
Type = MCH_AT.LINEAR,
|
Type = MCH_AT.LINEAR,
|
||||||
Dir = -Y_AX(),
|
Dir = -Y_AX(),
|
||||||
Pos = Point3d( 1253.5001, 95.0, 918.94),
|
Pos = Point3d( 1193.5001, 95.0, 918.94),
|
||||||
Stroke = { 0, MaxHOpen},
|
Stroke = { 0, MaxHOpen},
|
||||||
Home = MaxHOpen,
|
Home = MaxHOpen,
|
||||||
Geo = 'PX2_AXIS/GEO',
|
Geo = 'PX2_AXIS/GEO',
|
||||||
@@ -248,7 +251,7 @@ local QX2Id = EmtAxis {
|
|||||||
Parent = 'X2',
|
Parent = 'X2',
|
||||||
Type = MCH_AT.LINEAR,
|
Type = MCH_AT.LINEAR,
|
||||||
Dir = Z_AX(),
|
Dir = Z_AX(),
|
||||||
Pos = Point3d( 874.2001, 640.4727, -1591.561),
|
Pos = Point3d( 814.2001, 640.4727, -1591.561),
|
||||||
Stroke = { 0, MaxVOpen},
|
Stroke = { 0, MaxVOpen},
|
||||||
Home = MaxVOpen,
|
Home = MaxVOpen,
|
||||||
Geo = 'QX2_AXIS/GEO',
|
Geo = 'QX2_AXIS/GEO',
|
||||||
@@ -414,8 +417,16 @@ function OnSetHead()
|
|||||||
local sVal = EgtGetMachiningParam( MCH_MP.BLOCKEDAXIS)
|
local sVal = EgtGetMachiningParam( MCH_MP.BLOCKEDAXIS)
|
||||||
local dPosCS = tonumber( sVal:sub( 4) or '')
|
local dPosCS = tonumber( sVal:sub( 4) or '')
|
||||||
EmtModifyAxisHome( 'C', GetChainSawCHomeFromVirtualAxis( dPosCS))
|
EmtModifyAxisHome( 'C', GetChainSawCHomeFromVirtualAxis( dPosCS))
|
||||||
|
-- altrimenti
|
||||||
else
|
else
|
||||||
EmtModifyAxisHome( 'C', ParkC)
|
EmtModifyAxisHome( 'C', ParkC)
|
||||||
|
-- se lama
|
||||||
|
if EMC.TCPOS == 'T21' then
|
||||||
|
EmtModifyAxisStroke( 'A', { -100, 100})
|
||||||
|
-- altrimenti
|
||||||
|
else
|
||||||
|
EmtModifyAxisStroke( 'A', { MinA, MaxA})
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
+35
-20
@@ -56,27 +56,42 @@ function OnSimulStart()
|
|||||||
DumpCollisionCheck( EMT.COLLOBJ, 'Collision Objects :', 4)
|
DumpCollisionCheck( EMT.COLLOBJ, 'Collision Objects :', 4)
|
||||||
-- Preparo lista solidi macchina con cui possono collidere gli oggetti sopra riportati (in aggiunta a VMill)
|
-- Preparo lista solidi macchina con cui possono collidere gli oggetti sopra riportati (in aggiunta a VMill)
|
||||||
EMT.MCODET = {}
|
EMT.MCODET = {}
|
||||||
EMT.MCODET[1] = EgtGetFirstNameInGroup( EgtGetFirstNameInGroup( EgtGetAxisId( 'X1'), 'COLLISION'), 'STM1') or GDB_ID.NULL
|
local McdData = { { Grp = 'X1', Sub = 'COLLISION', Name = 'STM1'},
|
||||||
EMT.MCODET[2] = EgtGetFirstNameInGroup( EgtGetFirstNameInGroup( EgtGetAxisId( 'PX1'), 'COLLISION'), 'STM1') or GDB_ID.NULL
|
{ Grp = 'X1', Sub = 'COLLISION', Name = 'STM2'},
|
||||||
EMT.MCODET[3] = EgtGetFirstNameInGroup( EgtGetFirstNameInGroup( EgtGetAxisId( 'X2'), 'COLLISION'), 'STM1') or GDB_ID.NULL
|
{ Grp = 'PX1', Sub = 'COLLISION', Name = 'STM1'},
|
||||||
EMT.MCODET[4] = EgtGetFirstNameInGroup( EgtGetFirstNameInGroup( EgtGetAxisId( 'PX2'), 'COLLISION'), 'STM1') or GDB_ID.NULL
|
{ Grp = 'X2', Sub = 'COLLISION', Name = 'STM1'},
|
||||||
EMT.MCODET[5] = EgtGetFirstNameInGroup( EgtGetFirstNameInGroup( EgtGetBaseId( 'Base'), 'COLLISION'), 'STM1') or GDB_ID.NULL
|
{ Grp = 'X2', Sub = 'COLLISION', Name = 'STM2'},
|
||||||
EMT.MCODET[6] = EgtGetFirstNameInGroup( EgtGetFirstNameInGroup( EgtGetBaseId( 'Base'), 'COLLISION'), 'STM2') or GDB_ID.NULL
|
{ Grp = 'PX2', Sub = 'COLLISION', Name = 'STM1'},
|
||||||
EMT.MCODET[7] = EgtGetFirstNameInGroup( EgtGetFirstNameInGroup( EgtGetBaseId( 'Base'), 'COLLISION'), 'STM3') or GDB_ID.NULL
|
{ Grp = 'Base', Sub = 'COLLISION', Name = 'STM1'},
|
||||||
EMT.MCODET[8] = EgtGetFirstNameInGroup( EgtGetFirstNameInGroup( EgtGetBaseId( 'Base'), 'COLLISION'), 'STM4') or GDB_ID.NULL
|
{ Grp = 'Base', Sub = 'COLLISION', Name = 'STM2'},
|
||||||
EMT.MCODET[9] = EgtGetFirstNameInGroup( EgtGetFirstNameInGroup( EgtGetBaseId( 'Base'), 'COLLISION'), 'STM5') or GDB_ID.NULL
|
{ Grp = 'Base', Sub = 'COLLISION', Name = 'STM3'},
|
||||||
EMT.MCODET[10] = EgtGetFirstNameInGroup( EgtGetFirstNameInGroup( EgtGetBaseId( 'Base'), 'COLLISION'), 'STM6') or GDB_ID.NULL
|
{ Grp = 'Base', Sub = 'COLLISION', Name = 'STM4'},
|
||||||
EMT.MCODET[11] = EgtGetFirstNameInGroup( EgtGetFirstNameInGroup( EgtGetBaseId( 'Base'), 'COLLISION'), 'STM7') or GDB_ID.NULL
|
{ Grp = 'Base', Sub = 'COLLISION', Name = 'STM5'},
|
||||||
EMT.MCODET[12] = EgtGetFirstNameInGroup( EgtGetFirstNameInGroup( EgtGetBaseId( 'Base'), 'COLLISION'), 'STM8') or GDB_ID.NULL
|
--{ Grp = 'Base', Sub = 'COLLISION', Name = 'STM6'},
|
||||||
EMT.MCODET[13] = EgtGetFirstNameInGroup( EgtGetFirstNameInGroup( EgtGetBaseId( 'Base'), 'COLLISION'), 'STM9') or GDB_ID.NULL
|
{ Grp = 'Base', Sub = 'COLLISION', Name = 'STM7'},
|
||||||
EMT.MCODET[14] = EgtGetFirstNameInGroup( EgtGetFirstNameInGroup( EgtGetBaseId( 'Base'), 'COLLISION'), 'STM10') or GDB_ID.NULL
|
{ Grp = 'Base', Sub = 'COLLISION', Name = 'STM8'},
|
||||||
for i = #EMT.MCODET, 1, -1 do
|
{ Grp = 'Base', Sub = 'COLLISION', Name = 'STM9'},
|
||||||
if not EMT.MCODET[i] or EMT.MCODET[i] == GDB_ID.NULL then
|
{ Grp = 'Base', Sub = 'COLLISION', Name = 'STM10'}}
|
||||||
table.remove( EMT.MCODET, i)
|
EgtOutLog( 'MCODET Objects :', 4)
|
||||||
EgtOutLog( ' Warning : MCODET element (' .. tostring( i) .. ') is null')
|
local nMcdNullCnt = 0
|
||||||
elseif EgtGetDebugLevel() >= 4 then
|
for i = 1, #McdData do
|
||||||
EgtOutLog( ' MCODET element (' .. tostring( i) .. ') is ok')
|
local nGrpId
|
||||||
|
if McdData[i].Grp == 'Base' then
|
||||||
|
nGrpId = EgtGetBaseId( 'Base')
|
||||||
|
else
|
||||||
|
nGrpId = EgtGetAxisId( McdData[i].Grp)
|
||||||
end
|
end
|
||||||
|
local nId = EgtGetFirstNameInGroup( EgtGetFirstNameInGroup( nGrpId, McdData[i].Sub), McdData[i].Name)
|
||||||
|
if nId then
|
||||||
|
table.insert( EMT.MCODET, nId)
|
||||||
|
EgtOutLog( 'Element ' .. McdData[i].Grp .. '/' .. McdData[i].Sub .. '/' .. McdData[i].Name .. ' (' .. tostring( nId) .. ') is ok', 4)
|
||||||
|
else
|
||||||
|
nMcdNullCnt = nMcdNullCnt + 1
|
||||||
|
EgtOutLog( 'Element ' .. McdData[i].Grp .. '/' .. McdData[i].Sub .. '/' .. McdData[i].Name .. ' is null', 4)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if nMcdNullCnt > 0 then
|
||||||
|
EgtOutLog( 'Warning : MCODET with one or more null Element(s) ')
|
||||||
end
|
end
|
||||||
-- Preparo lista collisioni vuota
|
-- Preparo lista collisioni vuota
|
||||||
EMT.COLLIDE = {}
|
EMT.COLLIDE = {}
|
||||||
|
|||||||
+4
-2
@@ -41,6 +41,7 @@ local MIN_JOIN_SL = 290
|
|||||||
local MIN_JOIN_LL = 400
|
local MIN_JOIN_LL = 400
|
||||||
local MinJoin = MIN_JOIN_SS
|
local MinJoin = MIN_JOIN_SS
|
||||||
local MinOther = abs( MinX1) + abs( MaxX2) + MinJoin
|
local MinOther = abs( MinX1) + abs( MaxX2) + MinJoin
|
||||||
|
local MaxLenSmT = 1500 -- massima lunghezza pezzo scaricato con nastri verdi
|
||||||
|
|
||||||
----------------------- Variabili -----------------------------------
|
----------------------- Variabili -----------------------------------
|
||||||
local Test = false
|
local Test = false
|
||||||
@@ -412,7 +413,8 @@ function OnSpecialApplyDisposition()
|
|||||||
if IsStartOrRestPhase( EMC.PHASE) or IsEnd2Phase( EMC.PHASE) then
|
if IsStartOrRestPhase( EMC.PHASE) or IsEnd2Phase( EMC.PHASE) then
|
||||||
EMC.TPOS = dPosT
|
EMC.TPOS = dPosT
|
||||||
SpecSetCarrPosFromCmds( vCmd)
|
SpecSetCarrPosFromCmds( vCmd)
|
||||||
local dDistFront = EgtIf( EMC.LB < abs( MinX2 - UnloadT), MinJoin, EMC.LB - abs( MinX2 - UnloadT) + MinJoin + DeltaTol)
|
local CurrUnloadT = EgtIf( EMC.LB < MaxLenSmT, UnloadSmT, UnloadT)
|
||||||
|
local dDistFront = EgtIf( EMC.LB < abs( MinX2 - CurrUnloadT), MinJoin, EMC.LB - abs( MinX2 - CurrUnloadT) + MinJoin + DeltaTol)
|
||||||
vCmd2 = SpecCalcCarriages( dDistFront, 0)
|
vCmd2 = SpecCalcCarriages( dDistFront, 0)
|
||||||
if vCmd and #vCmd > 1 and vCmd2 and #vCmd2 > 1 then
|
if vCmd and #vCmd > 1 and vCmd2 and #vCmd2 > 1 then
|
||||||
table.insert( vCmd, { 0, 'CARR_MOVE'})
|
table.insert( vCmd, { 0, 'CARR_MOVE'})
|
||||||
@@ -1309,7 +1311,7 @@ function SpecCalcUnload()
|
|||||||
end
|
end
|
||||||
-- Se non supero la lunghezza massima di scarico, sposto il pezzo in posizione di scarico
|
-- Se non supero la lunghezza massima di scarico, sposto il pezzo in posizione di scarico
|
||||||
if bStdUl then
|
if bStdUl then
|
||||||
local dFinT = UnloadT - EMC.LB
|
local dFinT = EgtIf( EMC.LB < MaxLenSmT, UnloadSmT, UnloadT) - EMC.LB
|
||||||
local dFinV = dFinT + EMC.VDELTA
|
local dFinV = dFinT + EMC.VDELTA
|
||||||
table.insert( vCmd, { 2, 'T', dFinT, 'X2', dFinV})
|
table.insert( vCmd, { 2, 'T', dFinT, 'X2', dFinV})
|
||||||
else
|
else
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,20 @@
|
|||||||
|
; Commento per evitare BOM con UTF-8
|
||||||
|
; Index, Type, Description, Value
|
||||||
|
; Index = 0,1,..,n
|
||||||
|
; Type : d=double, l=lenght, s=string, b=boolean, dr=double recalc, sr= string recalc, lr=lenght recalc, br=boolean recalc
|
||||||
|
; Description : STEP, SIDESTEP, ...
|
||||||
|
|
||||||
|
[DRILL_STD]
|
||||||
|
0=sr,TH,
|
||||||
|
|
||||||
|
[SAW_STD]
|
||||||
|
|
||||||
|
[SAW_FLAT]
|
||||||
|
|
||||||
|
[MILL_STD]
|
||||||
|
0=sr,TH,
|
||||||
|
|
||||||
|
[MILL_NOTIP]
|
||||||
|
0=sr,TH,
|
||||||
|
|
||||||
|
[MORTISE_STD]
|
||||||
Reference in New Issue
Block a user