Compare commits

...

13 Commits

7 changed files with 178 additions and 53 deletions
+122 -3
View File
@@ -117,6 +117,7 @@ if EgtExistsFile( sData) then
if Machine.Offsets.FASTCLAMPING ~= nil then BeamData.FASTCLAMPING = ( Machine.Offsets.FASTCLAMPING == 1) end
if Machine.Offsets.ROT90 ~= nil then BeamData.ROT90 = ( Machine.Offsets.ROT90 == 1) end
if Machine.Offsets.ROT180 ~= nil then BeamData.ROT180 = ( Machine.Offsets.ROT180 == 1) end
if Machine.Offsets.CUT_SIC then BeamData.CUT_SIC = EgtClamp( Machine.Offsets.CUT_SIC, 15, 50) end
end
if Machine.Trave then
BeamData.MIN_WIDTH = Machine.Trave.XMIN or BeamData.MIN_WIDTH
@@ -253,6 +254,123 @@ local function GetMinNzDownUp( b3Raw, vtNFace, vtToolDirection)
end
end
---------------------------------------------------------------------
-- sAxis può essere AB, C, Z; restituisce direzioni e punti per il controllo precollisione
local function GetPreCollisionData( sAxis, vtSCC, vtHead)
local PreCollisionData = { {}, {}, {}}
-- Pivot uguale per tutti; non c'è aggregato quindi non dipende da SCC
-- riferimento vtPivot
-- - vtHead (Z): asse rotazione utensile, guarda il mandrino
-- - vtSCC (X): direzione asse C o aggregato (è vtTool con verso in base a SCC)
-- - vtEdge (Y): direzione lato, verso in base a X e Z
-- - punto di applicazione: naso mandrino o aggregato
PreCollisionData[1].vtMovePivot = Vector3d( 0, 0, 242.55)
PreCollisionData[2].vtMovePivot = Vector3d( 0, 0, 242.55)
PreCollisionData[3].vtMovePivot = Vector3d( 0, 0, 242.55)
-- carro Z
if sAxis == 'Z' then
PreCollisionData[1].Directions = { vtDirectionX = X_AX(), vtDirectionY = Z_AX(), vtDirectionZ = -Y_AX()}
PreCollisionData[1].Points = {
Point3d( 115, 518, 0),
Point3d( 115, 578, 0),
Point3d( 149, 578, 0),
Point3d( 149, 2538, 0),
Point3d( -149, 2538, 0),
Point3d( -149, 578, 0),
Point3d( -115, 578, 0),
Point3d( -115, 518, 0),
Point3d( 115, 518, 0)
}
PreCollisionData[2].Directions = { vtDirectionX = Y_AX(), vtDirectionY = Z_AX(), vtDirectionZ = X_AX()}
PreCollisionData[2].Points = {
Point3d( 113, 518, 0),
Point3d( 113, 578, 0),
Point3d( 120, 578, 0),
Point3d( 120, 2538, 0),
Point3d( -120, 2538, 0),
Point3d( -120, 578, 0),
Point3d( -113, 578, 0),
Point3d( -113, 518, 0),
Point3d( 113, 518, 0)
}
PreCollisionData[3].Directions = { vtDirectionX = X_AX(), vtDirectionY = Y_AX(), vtDirectionZ = Z_AX()}
PreCollisionData[3].Points = {
Point3d( -73, -127, 518),
Point3d( 73, -127, 518),
Point3d( 134, -22, 518),
Point3d( 149, -22, 518),
Point3d( 149, 22, 518),
Point3d( 134, 22, 518),
Point3d( 73, 127, 518),
Point3d( -73, 127, 518),
Point3d( -134, 22, 518),
Point3d( -149, 22, 518),
Point3d( -149, -22, 518),
Point3d( -134, -22, 518),
Point3d( -73, -127, 518)
}
-- motore (asse A o B)
elseif sAxis == 'AB' then
PreCollisionData[1].Directions = { vtDirectionX = vtSCC, vtDirectionY = -vtHead, vtDirectionZ = vtSCC ^ -vtHead}
PreCollisionData[1].Points = {
Point3d( -69, -182, 0),
Point3d( 69, -182, 0),
Point3d( 69, -157, 0),
Point3d( 80, -157, 0),
Point3d( 111, -127, 0),
Point3d( 130, -127, 0),
Point3d( 130, 98, 0),
Point3d( 95, 98, 0),
Point3d( 95, 242.55, 0),
Point3d( -95, 242.55, 0),
Point3d( -95, -143, 0),
Point3d( -80, -157, 0),
Point3d( -69, -157, 0),
Point3d( -69, -182, 0)
}
PreCollisionData[2].Directions = { vtDirectionX = vtSCC ^ vtHead, vtDirectionY = -vtHead, vtDirectionZ = vtSCC}
PreCollisionData[2].Points = {
Point3d( -95, 242.55, 0),
Point3d( -95, -143, 0),
Point3d( -80, -158, 0),
Point3d( -69, -158, 0),
Point3d( -69, -182, 0),
Point3d( 69, -182, 0),
Point3d( 69, -157, 0),
Point3d( 80, -157, 0),
Point3d( 95, -143, 0),
Point3d( 95, 242.55, 0),
Point3d( -95, 242.55, 0)
}
PreCollisionData[3].Directions = { vtDirectionX = vtSCC, vtDirectionY = -vtHead ^ vtSCC, vtDirectionZ = -vtHead}
PreCollisionData[3].Points = {
Point3d( 130, 95, 0),
Point3d( -62, 95, 0),
Point3d( -95, 62, 0),
Point3d( -95, -62, 0),
Point3d( -62, -95, 0),
Point3d( 130, -95, 0),
Point3d( 130, 95, 0)
}
-- asse C
elseif sAxis == 'C' then
end
return PreCollisionData
end
---------------------------------------------------------------------
local function GetSetupInfo( sHead)
local SetupInfo = {}
@@ -261,20 +379,21 @@ local function GetSetupInfo( sHead)
SetupInfo.bIsCSymmetrical = false
SetupInfo.dCAxisEncumbrance = 180
SetupInfo.dCAxisSideEncumbrance = 200
SetupInfo.dPivot = 175
SetupInfo.dPivot = 175 -- per uscita fresa, diverso da uscita lama
SetupInfo.bToolOnAggregate = false
-- testa 5 assi da sopra
if sHead == 'H1' then
SetupInfo.HeadType = { bTop = true, bBottom = false}
SetupInfo.PreferredSide = {}
SetupInfo.GetMinNz = GetMinNzTopHead
SetupInfo.GetMinNz = function() return sin( -45) end
-- lama su testa 5 assi da sopra
elseif sHead == 'H2' then
SetupInfo.HeadType = { bTop = true, bBottom = false}
SetupInfo.PreferredSide = {}
SetupInfo.GetMinNz = GetMinNzTopHead
SetupInfo.GetMinNz = function() return sin( -45) end
SetupInfo.GetMinNzDownUp = GetMinNzDownUp
SetupInfo.GetPreCollisionData = GetPreCollisionData
-- motosega
elseif sHead == 'H3' then
SetupInfo.HeadType = { bTop = true, bBottom = false}
+33 -30
View File
@@ -24,8 +24,8 @@
require( 'EmtGenerator')
EgtEnableDebug( false)
PP_VER = '2.7k3'
PP_NVER = '2.7.11.3'
PP_VER = '2.7k5'
PP_NVER = '2.7.11.5'
MIN_MACH_VER = '2.7j1'
MACH_NAME = string.match( EgtGetCurrMachineDir(), "[^\\]+$") -- si ricava il nome della macchina dal direttorio
@@ -565,13 +565,6 @@ if SecondToolChanger then
TDir = X_AX(),
ADir = -Y_AX(),
Geo = 'BASE/T28'}
EmtTcPos {
Name = 'T101',
Parent = 'Base',
Pos = Point3d( -510.4, 113.2, -1160.8),
TDir = X_AX(),
ADir = Z_AX(),
Geo = 'BASE/T101S'}
else
if not SpecialBH then
EmtTcPos {
@@ -581,14 +574,6 @@ else
TDir = X_AX(),
ADir = Z_AX(),
Geo = 'BASE/T101'}
else
EmtTcPos {
Name = 'T101',
Parent = 'Base',
Pos = Point3d( -510.4, 113.2, -1160.8),
TDir = X_AX(),
ADir = Z_AX(),
Geo = 'BASE/T101S'}
end
if SecondSupport == 1 then
-- supporto per punta
@@ -609,19 +594,6 @@ else
ADir = Z_AX(),
Geo = 'BASE/T111M'}
EgtSetInfo( TcpSsId, 'Mortiser', true)
elseif SecondSupport == 3 then
-- supporto per rinvio angolare
local TcpSsId = EmtTcPos {
Name = 'T91',
Parent = 'Base',
ExitNbr = 2,
Pos1 = Point3d( -710.4-150, 113.2, -329.8-170),
TDir1 = X_AX(),
Pos2 = Point3d( -710.4+150, 113.2, -329.8-170),
TDir2 = -X_AX(),
ADir = Z_AX(),
Geo = 'BASE/T91',
Aux = 'BASE/T91_HS'}
end
if SpecialBH then
EmtTcPos {
@@ -633,6 +605,37 @@ else
Geo = 'BASE/T111S'}
end
end
-- motosega in caso di magazzino 2 o SpecialBH
if SpecialBH or SecondToolChanger then
local TcpSsId = EmtTcPos {
Name = 'T101',
Parent = 'Base',
Pos = Point3d( -510.4, 113.2, -1160.8),
TDir = X_AX(),
ADir = Z_AX(),
Geo = 'BASE/T101S'}
-- spostamento in caso di magazzino 2
if SecondToolChanger then
EgtMove( TcpSsId, Vector3d( 0, 0, 140), GDB_RT.GLOB)
end
end
if SecondSupport == 3 then
-- supporto per rinvio angolare
local TcpSsId = EmtTcPos {
Name = 'T91',
Parent = 'Base',
ExitNbr = 2,
Pos1 = Point3d( -710.4-150, 113.2, -329.8-170),
TDir1 = X_AX(),
Pos2 = Point3d( -710.4+150, 113.2, -329.8-170),
TDir2 = -X_AX(),
ADir = Z_AX(),
Geo = 'BASE/T91',
Aux = 'BASE/T91_HS'}
if SecondToolChanger then
EgtMove( TcpSsId, Vector3d( 0, 0, -900), GDB_RT.GLOB)
end
end
-- Aggiusto posizioni geometriche
local vtMove = Vector3d( 0, ( DeltaTabY - 913.16), ( DeltaTabZ + 830.037))
BIN
View File
Binary file not shown.
+1 -1
View File
@@ -22,7 +22,7 @@
4=l,MaxOptSize,0
[Mortising]
0=d,MaxElev,0
0=l,MaxElev,0
[Chiseling]
+3
View File
@@ -51,6 +51,9 @@ if IsTC2Active then
{Pos = "Pos19", TcPos = "T26", Head = "H1", Group = "G3"},
{Pos = "Pos20", TcPos = "T27", Head = "H1", Group = "G3"},
{Pos = "Pos21", TcPos = "T28", Head = "H1", Group = "G3"}}
if EgtGetHeadId( 'H5') then
table.insert( PositionTableTC2, {Pos = "Pos22", TcPos = "T91", Head = "H5", Group = "G2"})
end
EgtJoinTables( PositionTable, PositionTableTC2)
else
local SecSuppId = EgtGetTcPosId( 'T111')
+18 -18
View File
@@ -6,38 +6,38 @@
[DRILL_STD]
0=th,TH,
1=d,STEP
2=s,DOUBLE
1=l,STEP
2=tl,DOUBLE
[SAW_STD]
0=th,TH,
1=d,STEP
2=d,SIDESTEP
1=l,STEP
2=l,SIDESTEP
3=b,LONGCUT
[SAW_FLAT]
0=th,TH,
1=d,STEP
2=d,SIDESTEP
1=l,STEP
2=l,SIDESTEP
3=b,LONGCUT
[MILL_STD]
0=th,TH,
1=d,STEP
2=d,SIDESTEP
3=d,SIDEDEPTH
4=s,DOUBLE
5=dr,TOOL_OVERHANG
1=l,STEP
2=l,SIDESTEP
3=l,SIDEDEPTH
4=tl,DOUBLE
5=lr,TOOL_OVERHANG
[MILL_NOTIP]
0=th,TH,
1=d,STEP
2=d,SIDESTEP
3=d,SIDEDEPTH
4=s,DOUBLE
5=dr,TOOL_OVERHANG
1=l,STEP
2=l,SIDESTEP
3=l,SIDEDEPTH
4=tl,DOUBLE
5=lr,TOOL_OVERHANG
[MORTISE_STD]
0=b,MORTISE
1=d,STEP
2=d,SIDESTEP
1=l,STEP
2=l,SIDESTEP
+1 -1
View File
@@ -3,7 +3,7 @@
local InfoCommon_STD_PP = {
NAME = 'Common_FAST', -- nome script PP standard
VERSION = '2.7k1', -- versione script
VERSION = '2.7k6', -- versione script
MIN_MACH_VER_PP_COMMON = '2.5k1' -- versione minima kernel
}