- Aggiunto campo descrizione su pezzo
- Aggiunto materiale su Master-Panel - Possibilità di indicare il numero di caratteri di un campo
This commit is contained in:
+49
-13
@@ -3,6 +3,7 @@
|
||||
|
||||
-- Intestazioni
|
||||
require( 'EgtBase')
|
||||
EgtEnableDebug( true)
|
||||
|
||||
local PanelSaw = {}
|
||||
|
||||
@@ -35,6 +36,7 @@ local function GetPanelList()
|
||||
PanelList[i].idPatt = EgtGetInfo( idMachGroup, 'PATTID', 'i')
|
||||
PanelList[i].nPdn = EgtGetInfo( idPart, 'PDN', 'i')
|
||||
PanelList[i].sName = EgtGetInfo( idPart, 'NAM', 's')
|
||||
PanelList[i].sDescription = ''
|
||||
-- in questa modalità ogni MachGroup è 1 pezzo, non esistono multipli
|
||||
-- TODO valutare se raggruppare i pannelli uguali per la cutting list
|
||||
PanelList[i].nQuantity = 1
|
||||
@@ -53,12 +55,14 @@ local function GetSheetList()
|
||||
{
|
||||
dLength = 2800,
|
||||
dWidth = 2070,
|
||||
dThickness = 8
|
||||
dThickness = 8,
|
||||
sMaterial = ''
|
||||
},
|
||||
{
|
||||
dLength = 2800,
|
||||
dWidth = 2070,
|
||||
dThickness = 18
|
||||
dThickness = 18,
|
||||
sMaterial = ''
|
||||
}
|
||||
}
|
||||
|
||||
@@ -76,6 +80,37 @@ local function GetProjectInfo()
|
||||
return ProjectInfo
|
||||
end
|
||||
|
||||
local function GetFormattedLine( Table, LineToPrint)
|
||||
local sLine = ''
|
||||
local Values = Table.ValuesList[LineToPrint]
|
||||
local nPos = 1 -- posizione partenza linea
|
||||
|
||||
for j, Value in ipairs( Values) do
|
||||
local Placeholder = Table.ValuesPlaceholders[j]
|
||||
local sFormatted = string.format( Placeholder, Value)
|
||||
|
||||
-- se il campo ha lunghezza fissa, si aggiungono spazi
|
||||
if Table.FieldFixLength and Table.FieldFixLength[j] then
|
||||
local sFieldLength = Table.FieldFixLength[j]
|
||||
-- troncamento se troppo lungo
|
||||
if #sFormatted > sFieldLength then
|
||||
sFormatted = string.sub( sFormatted, 1, sFieldLength)
|
||||
end
|
||||
sFormatted = sFormatted .. string.rep(" ", sFieldLength - #sFormatted)
|
||||
end
|
||||
|
||||
sLine = sLine .. sFormatted
|
||||
nPos = nPos + #sFormatted
|
||||
|
||||
-- Aggiungi spazio solo se non è l'ultimo campo
|
||||
if j < #Values then
|
||||
sLine = sLine .. " "
|
||||
nPos = nPos + 1
|
||||
end
|
||||
end
|
||||
return sLine
|
||||
end
|
||||
|
||||
|
||||
local function BuildCuttingList_Cutty( PanelList, SheetList, ProjectInfo)
|
||||
|
||||
@@ -97,20 +132,22 @@ local function BuildCuttingList_Cutty( PanelList, SheetList, ProjectInfo)
|
||||
Header = { 'F1', PanelList[1].dThickness, 0, 0, 0},
|
||||
HeaderPlaceholders = { '%s', '%.3f', '%.3f', '%.3f', '%.3f'},
|
||||
ValuesList = {},
|
||||
ValuesPlaceholders = { '%.3f', '%.3f', '%d', '%d', '%d', '%d', '%d', '%.3f', '%d', '%d', '%d', '%d'}
|
||||
ValuesPlaceholders = { '%.3f', '%.3f', '%d', '%d', '%d', '%d', '%s', '%d', '%.3f', '%d', '%d', '%d', '%d'},
|
||||
FieldFixLength = { [6] = 29, [7] = 50}
|
||||
}
|
||||
for i = 1, #SheetList do
|
||||
F1.ValuesList[i] = { SheetList[i].dLength, SheetList[i].dWidth, 99, 200, 1, 1, 0, 1, 0, 0, 0, 0}
|
||||
F1.ValuesList[i] = { SheetList[i].dLength, SheetList[i].dWidth, 99, 200, 1, 1, SheetList[i].sMaterial, 0, 1, 0, 0, 0, 0}
|
||||
end
|
||||
|
||||
local F2 = {
|
||||
Header = { 'F2', 0, 0, 0},
|
||||
HeaderPlaceholders = { '%s', '%d', '%d', '%d'},
|
||||
ValuesList = {},
|
||||
ValuesPlaceholders = { '%.3f', '%.3f', '%d', '%d', '%d', '%d', '%d', '%s', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%.3f', '%d', '%d', '%d', '%.3f', '%.3f'}
|
||||
ValuesPlaceholders = { '%.3f', '%.3f', '%d', '%d', '%d', '%d', '%d', '%s', '%d', '%d', '%d', '%d', '%s', '%d', '%d', '%d', '%d', '%d', '%d', '%.3f', '%d', '%d', '%d', '%.3f', '%.3f'},
|
||||
FieldFixLength = { [8] = 20, [13] = 50, [23] = 85}
|
||||
}
|
||||
for i = 1, #PanelList do
|
||||
F2.ValuesList[i] = { PanelList[i].dLength, PanelList[i].dWidth, PanelList[i].nQuantity, 0, 0, 0, 0, PanelList[i].nPdn, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1500, 0, 0, 0, 0, 0}
|
||||
F2.ValuesList[i] = { PanelList[i].dLength, PanelList[i].dWidth, PanelList[i].nQuantity, 0, 0, 0, 0, PanelList[i].nPdn, 0, 0, 0, 0, PanelList[i].sDescription, 0, 0, 0, 0, 1, 0, 1500, 0, 0, 0, 0, 0}
|
||||
end
|
||||
|
||||
local F7 = {
|
||||
@@ -187,9 +224,8 @@ local function BuildCuttingList_Cutty( PanelList, SheetList, ProjectInfo)
|
||||
-- F1 - sheets
|
||||
table.insert( Lines, string.format( table.concat( F1.HeaderPlaceholders, ' '), table.unpack( F1.Header)))
|
||||
for i = 1, #F1.ValuesList do
|
||||
local Values = F1.ValuesList[i]
|
||||
local Placeholders = F1.ValuesPlaceholders
|
||||
table.insert( Lines, string.format( table.concat( Placeholders, ' '), table.unpack( Values)))
|
||||
local sLine = GetFormattedLine( F1, i)
|
||||
table.insert( Lines, sLine)
|
||||
end
|
||||
|
||||
-- linea vuota
|
||||
@@ -198,9 +234,8 @@ local function BuildCuttingList_Cutty( PanelList, SheetList, ProjectInfo)
|
||||
-- F2 - panels
|
||||
table.insert( Lines, string.format( table.concat( F2.HeaderPlaceholders, ' '), table.unpack( F2.Header)))
|
||||
for i = 1, #F2.ValuesList do
|
||||
local Values = F2.ValuesList[i]
|
||||
local Placeholders = F2.ValuesPlaceholders
|
||||
table.insert( Lines, string.format( table.concat( Placeholders, ' '), table.unpack( Values)))
|
||||
local sLine = GetFormattedLine( F2, i)
|
||||
table.insert( Lines, sLine)
|
||||
end
|
||||
|
||||
-- linea vuota
|
||||
@@ -262,7 +297,8 @@ local function BuildCuttingList( PanelList, sOutputType)
|
||||
ActualSheetList[#ActualSheetList+1] = {
|
||||
dLength = SheetList[i].dLength,
|
||||
dWidth = SheetList[i].dWidth,
|
||||
dThickness = SheetList[i].dThickness
|
||||
dThickness = SheetList[i].dThickness,
|
||||
sMaterial = SheetList[i].sMaterial
|
||||
}
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user