Compare commits

...

4 Commits

4 changed files with 124 additions and 6 deletions
+121 -3
View File
@@ -254,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 = {}
@@ -262,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}
+2 -2
View File
@@ -24,8 +24,8 @@
require( 'EmtGenerator')
EgtEnableDebug( false)
PP_VER = '2.7k4'
PP_NVER = '2.7.11.4'
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
BIN
View File
Binary file not shown.
+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
}