Files
egwwindowlua/Designing/Main.lua
T
SaraP d8d34552e9 DataWindow :
- pezzi con dimensioni variabili ( prima versione).
2026-01-29 12:25:25 +01:00

680 lines
43 KiB
Lua

--
-- EEEEEEEEEE GGGGGG WW WW WW
-- EEEEEEEEEE GGGGGGGGGG WW WW WW
-- EEEE GGGG GGGG WW WW WW
-- EEEE GGGG WWW WWWW WWW
-- EEEEEEE GGGG GGGGGGG WW WWWW WW
-- EEEEEEE GGGG GGGGGGG WWW WWWW WWW
-- EEEE GGGG GGGG WWWW WWWW
-- EEEE GGGG GGGG WWWW WWWW
-- EEEEEEEEEE GGGGGGGGGG WWW WWW
-- EEEEEEEEEE GGGGGG WW WW
--
-- by Egalware s.r.l.
-- Window project software by Egalware s.r.l. 2023/05/02
require( 'EgtBase')
_ENV = EgtProtectGlobal()
EgtEnableDebug( false)
-- Imposto direttorio per librerie
local sBaseDir = EgtGetSourceDir()
EgtOutLog("BaseDir=" .. sBaseDir)
EgtAddToPackagePath( sBaseDir .. '?.lua')
EgtAddToPackagePath( sBaseDir .. 'WinLib\\' .. '?.lua')
_G.package.loaded.WinConst = nil
_G.package.loaded.WinJWDConst = nil
_G.package.loaded.WinCreate = nil
_G.package.loaded.WinCalculate = nil
_G.package.loaded.WinManageProject = nil
_G.package.loaded.JSON = nil
_G.package.loaded.xml2lua = nil
_G.package.loaded.xml2lua_tree = nil
require( 'WinConst')
local WinCreate = require( 'WinCreate')
local WinCalculate = require( 'WinCalculate')
------------------------------------------- PARAMETERS -------------------------------------------
local WindowWidth = 1500
local WindowHeight = 1800
local FrameJointType = WIN_JNT.FULL_H
local SashJointType = WIN_JNT.FULL_V
local vFrameJoints = { FrameJointType, FrameJointType, FrameJointType, FrameJointType}
local vSashJoints = { SashJointType, SashJointType, SashJointType, SashJointType}
local dFrameDim = 78
local dSashDim = 78
local vFrameDims = { dFrameDim, dFrameDim, dFrameDim, dFrameDim}
local vSashDims = { dSashDim, dSashDim, dSashDim, dSashDim}
local sProfilePath = 'C:\\EgtData\\EgtWindowMaker\\Profiles\\Profilo78.nge'
-- local sProfilePath = 'C:\\EgtData\\EgtWindowMaker\\Profiles\\ProfiloSaomad.nge'
------------------------------------------- ************** -------------------------------------------
EgtNewFile()
EgtStartCounter()
-- importo profilo prescelto
WinCreate.ImportProfile( sProfilePath)
-- creo telaio
local nFrameId = WinCreate.CreateFrame( WIN_FRAME_TYPES.RECT, { WindowWidth, WindowHeight}, vFrameJoints, vFrameDims)
-- local nFrameId = WinCreate.CreateFrame( WIN_FRAME_TYPES.CHAMFER_SIDE, { WindowWidth, WindowHeight, WindowHeight + 800}, vFrameJoints, vFrameDims)
-- local nFrameId = WinCreate.CreateFrame( WIN_FRAME_TYPES.CHAMFER_SIDE, { WindowWidth, WindowHeight + 500, WindowHeight}, vFrameJoints, vFrameDims)
-- local nFrameId = WinCreate.CreateFrame( WIN_FRAME_TYPES.ROUND_ARC, { WindowWidth, WindowHeight}, vFrameJoints, vFrameDims)
-- local nFrameId = WinCreate.CreateFrame( WIN_FRAME_TYPES.SEGMENTAL_ARC, { 1500, 1800, 2200}, vFrameJoints, vFrameDims)
-- local nFrameId = WinCreate.CreateFrame( WIN_FRAME_TYPES.CHAMFER, { WindowWidth, WindowHeight, WindowHeight + 500}, vFrameJoints, { dFrameDim, dFrameDim, dFrameDim, dFrameDim, dFrameDim})
-- local nFrameId = WinCreate.CreateFrame( WIN_FRAME_TYPES.POINTED_ARC, { 1500, 1500, 2400}, vFrameJoints, { dFrameDim, dFrameDim, dFrameDim, dFrameDim, dFrameDim})
-- local nFrameId = WinCreate.CreateFrame( WIN_FRAME_TYPES.TRG, { 1500, 1500, 500}, { FrameJointType, FrameJointType, FrameJointType}, { dFrameDim, dFrameDim, dFrameDim})
-- local nFrameId = WinCreate.CreateFrame( WIN_FRAME_TYPES.THREE_CENTER_ARC, { 1500, 1500, 1800, 200}, vFrameJoints, { dFrameDim, dFrameDim, dFrameDim, dFrameDim, dFrameDim, dFrameDim})
------------------------ Aggiunta split a griglia ------------------------
-- WinCreate.AddGridSplits( nFrameId, { WIN_MEASURE.ABSOLUTE, WIN_MEASURE.ABSOLUTE, WIN_MEASURE.ABSOLUTE, WIN_MEASURE.ABSOLUTE}, { 150, 300, 150, 300},
-- { WIN_MEASURE.ABSOLUTE, WIN_MEASURE.ABSOLUTE, WIN_MEASURE.ABSOLUTE}, { 500, 600, 850}, false)
-- WinCreate.AddGridSplits( nFrameId, { WIN_MEASURE.PERCENTAGE}, { 25}, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 30}, false)
-- WinCreate.AddGridSplits( nFrameId, { WIN_MEASURE.PROPORTIONAL, WIN_MEASURE.PROPORTIONAL, WIN_MEASURE.PROPORTIONAL, WIN_MEASURE.PROPORTIONAL, WIN_MEASURE.PROPORTIONAL}, { 1, 4, 1, 2, 1},
-- { WIN_MEASURE.PROPORTIONAL, WIN_MEASURE.PROPORTIONAL, WIN_MEASURE.PROPORTIONAL, WIN_MEASURE.PROPORTIONAL, WIN_MEASURE.PROPORTIONAL}, { 1, 2, 1, 2, 1}, false)
-- WinCreate.AddGridSplits( nFrameId, { WIN_MEASURE.PROPORTIONAL, WIN_MEASURE.PROPORTIONAL, WIN_MEASURE.ABSOLUTE}, { 2, 1, 200},
-- { WIN_MEASURE.PROPORTIONAL, WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PROPORTIONAL}, { 1, 50, 1})
------------------------ Cambi profilo ------------------------
-- vetro / anta
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE}, { 50}, { 120})
-- WinCreate.AddFill( vAreas[1], WIN_FILLTYPES.GLASS)
-- local nSashId = WinCreate.AddSash( vAreas[2], vSashJoints, vSashDims, WIN_OPENING_TYPES.TILTTURN_RIGHT)
-- WinCreate.AddFill( nSashId, WIN_FILLTYPES.GLASS)
-- vetro / anta in orizzontale
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.HORIZONTAL, { WIN_MEASURE.PERCENTAGE}, { 50}, { 120})
-- local nSashId = WinCreate.AddSash( vAreas[1], vSashJoints, vSashDims, WIN_OPENING_TYPES.TILTTURN_LEFT)
-- WinCreate.AddFill( nSashId, WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vAreas[2], WIN_FILLTYPES.GLASS)
-- anta / vetro
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE}, { 50})
-- local nSashId = WinCreate.AddSash( vAreas[1], vSashJoints, vSashDims, WIN_OPENING_TYPES.TILTTURN_LEFT)
-- WinCreate.AddFill( nSashId, WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vAreas[2], WIN_FILLTYPES.GLASS)
-- vetro / anta / vetro
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 33.333, 33.333}, { 90, 120})
-- WinCreate.AddFill( vAreas[1], WIN_FILLTYPES.GLASS)
-- local nSashId = WinCreate.AddSash( vAreas[2], vSashJoints, vSashDims)
-- WinCreate.AddFill( nSashId, WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vAreas[3], WIN_FILLTYPES.GLASS)
-- vetro / anta / anta
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 33, 33})
-- WinCreate.AddFill( vAreas[1], WIN_FILLTYPES.GLASS)
-- local nSashId1 = WinCreate.AddSash( vAreas[2], vSashJoints, vSashDims)
-- local nSashId2 = WinCreate.AddSash( vAreas[3], vSashJoints, vSashDims)
-- WinCreate.AddFill( nSashId1, WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( nSashId2, WIN_FILLTYPES.GLASS)
-- anta battente / anta ricevente / vetro
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE}, { 66}, { 90})
-- local vSashes = WinCreate.AddSashGroup( vAreas[1], { WIN_MEASURE.PERCENTAGE}, { 50}, { vSashJoints, vSashJoints}, { vSashDims, vSashDims}, { WIN_SASHTYPES.ACTIVE, WIN_SASHTYPES.INACTIVE},
-- { WIN_OPENING_TYPES.TURNONLY_LEFT, WIN_OPENING_TYPES.TURNONLY_RIGHT})
-- WinCreate.AddFill( vSashes[1], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vSashes[2], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vAreas[2], WIN_FILLTYPES.GLASS)
-- vetro / anta / vetro / anta (1)
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE}, { 50})
-- local vAreas2 = WinCreate.AddSplits( vAreas[1], WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE}, { 50})
-- local vAreas3 = WinCreate.AddSplits( vAreas[2], WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE}, { 50})
-- WinCreate.AddFill( vAreas2[1], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vAreas3[1], WIN_FILLTYPES.GLASS)
-- local nSashId1 = WinCreate.AddSash( vAreas2[2], vSashJoints)
-- local nSashId2 = WinCreate.AddSash( vAreas3[2], vSashJoints)
-- WinCreate.AddFill( nSashId1, WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( nSashId2, WIN_FILLTYPES.GLASS)
-- vetro / anta / vetro / anta (2)
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 25, 25, 25}, { 90, 120, 90})
-- WinCreate.AddFill( vAreas[1], WIN_FILLTYPES.GLASS)
-- local nSashId1 = WinCreate.AddSash( vAreas[2], vSashJoints, vSashDims)
-- WinCreate.AddFill( nSashId1, WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vAreas[3], WIN_FILLTYPES.GLASS)
-- local nSashId2 = WinCreate.AddSash( vAreas[4], vSashJoints, vSashDims)
-- WinCreate.AddFill( nSashId2, WIN_FILLTYPES.GLASS)
-- vetro / vetro / anta / anta
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 25, 25, 25}, { 90, 90, 90})
-- WinCreate.AddFill( vAreas[1], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vAreas[2], WIN_FILLTYPES.GLASS)
-- local nSashId1 = WinCreate.AddSash( vAreas[3], vSashJoints, vSashDims)
-- WinCreate.AddFill( nSashId1, WIN_FILLTYPES.GLASS)
-- local nSashId2 = WinCreate.AddSash( vAreas[4], vSashJoints, vSashDims)
-- WinCreate.AddFill( nSashId2, WIN_FILLTYPES.GLASS)
-- anta / vetro con split
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE}, { 50}, { 90})
-- local nSashId = WinCreate.AddSash( vAreas[1], vSashJoints, vSashDims)
-- WinCreate.AddFill( nSashId, WIN_FILLTYPES.GLASS)
-- local vAreas2 = WinCreate.AddSplits( vAreas[2], WIN_SPLITORIENTATION.HORIZONTAL, { WIN_MEASURE.PERCENTAGE}, { 50}, { 60})
-- WinCreate.AddFill( vAreas2[1], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vAreas2[2], WIN_FILLTYPES.GLASS)
-- anta con split / vetro
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE}, { 50}, { 90})
-- local nSashId = WinCreate.AddSash( vAreas[1], vSashJoints, vSashDims)
-- local vAreasSash = WinCreate.AddSplits( nSashId, WIN_SPLITORIENTATION.HORIZONTAL, { WIN_MEASURE.PERCENTAGE}, { 50}, { 80})
-- WinCreate.AddFill( vAreasSash[1], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vAreasSash[2], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vAreas[2], WIN_FILLTYPES.GLASS)
-- ante ( divise da split orizzontale) / vetro
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE}, { 50}, { 90})
-- local vAreas2 = WinCreate.AddSplits( vAreas[1], WIN_SPLITORIENTATION.HORIZONTAL, { WIN_MEASURE.PERCENTAGE}, { 30}, { 95})
-- local nSashId1 = WinCreate.AddSash( vAreas2[1], vSashJoints, vSashDims)
-- WinCreate.AddFill( nSashId1, WIN_FILLTYPES.GLASS)
-- local nSashId2 = WinCreate.AddSash( vAreas2[2], vSashJoints, vSashDims)
-- WinCreate.AddFill( nSashId2, WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vAreas[2], WIN_FILLTYPES.GLASS)
------------------------ Alzante Scorrevole ------------------------
-- vFrameDims = { 55, 55, 55, 55}
-- vSashDims = { 135, 80, 80, 80}
-- local nFrameId = WinCreate.CreateFrame( WIN_FRAME_TYPES.RECT, { WindowWidth, WindowHeight}, vFrameJoints, vFrameDims)
-- WinCreate.AddThreshold( nFrameId, 'Threshold')
-- anta mobile a sx
-- local vSash = WinCreate.AddSashGroup( nFrameId, { WIN_MEASURE.PERCENTAGE}, { 50}, { vSashJoints, vSashJoints}, { vSashDims, vSashDims},
-- { WIN_SASHTYPES.SLIDE_MOVABLE, WIN_SASHTYPES.SLIDE_FIXED}, { WIN_OPENING_TYPES.COPLANARSLIDE_RIGHT, WIN_OPENING_TYPES.FIXED})
-- WinCreate.AddFill( vSash[1], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vSash[2], WIN_FILLTYPES.GLASS)
-- local nSashGrpId = EgtGetParent( vSash[1])
-- WinCreate.AddHardware( nSashGrpId, '000592', 'Sx')
-- anta mobile a dx
-- local vSash = WinCreate.AddSashGroup( nFrameId, { WIN_MEASURE.PERCENTAGE}, { 50}, { vSashJoints, vSashJoints}, { vSashDims, vSashDims},
-- { WIN_SASHTYPES.SLIDE_FIXED, WIN_SASHTYPES.SLIDE_MOVABLE}, { WIN_OPENING_TYPES.FIXED, WIN_OPENING_TYPES.COPLANARSLIDE_LEFT})
-- WinCreate.AddFill( vSash[1], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vSash[2], WIN_FILLTYPES.GLASS)
-- local nSashGrpId = EgtGetParent( vSash[1])
-- WinCreate.AddHardware( nSashGrpId, '000592', 'Dx')
-- 2 ante mobili, sx davanti
-- local vSash = WinCreate.AddSashGroup( nFrameId, { WIN_MEASURE.PERCENTAGE}, { 50}, { vSashJoints, vSashJoints}, { vSashDims, vSashDims},
-- { WIN_SASHTYPES.SLIDE_MOVABLE, WIN_SASHTYPES.SLIDE_MOVABLE_BACK}, { WIN_OPENING_TYPES.COPLANARSLIDE_RIGHT, WIN_OPENING_TYPES.COPLANARSLIDE_LEFT})
-- WinCreate.AddFill( vSash[1], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vSash[2], WIN_FILLTYPES.GLASS)
-- local nSashGrpId = EgtGetParent( vSash[1])
-- WinCreate.AddHardware( nSashGrpId, '000593', 'Sx')
-- 2 ante mobili, dx davanti
-- local vSash = WinCreate.AddSashGroup( nFrameId, { WIN_MEASURE.PERCENTAGE}, { 50}, { vSashJoints, vSashJoints}, { vSashDims, vSashDims},
-- { WIN_SASHTYPES.SLIDE_MOVABLE_BACK, WIN_SASHTYPES.SLIDE_MOVABLE}, { WIN_OPENING_TYPES.COPLANARSLIDE_RIGHT, WIN_OPENING_TYPES.COPLANARSLIDE_LEFT})
-- WinCreate.AddFill( vSash[1], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vSash[2], WIN_FILLTYPES.GLASS)
-- local nSashGrpId = EgtGetParent( vSash[1])
-- WinCreate.AddHardware( nSashGrpId, '000593', 'Dx')
-- 4 ante, le centrali sono mobili
-- local nFrameId = WinCreate.CreateFrame( WIN_FRAME_TYPES.RECT, { 4500, 2100}, vFrameJoints, vFrameDims)
-- -- WinCreate.AddThreshold( nFrameId, 'Threshold')
-- local vSash = WinCreate.AddSashGroup( nFrameId, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 25, 25, 25},
-- { vSashJoints, vSashJoints, vSashJoints, vSashJoints}, { vSashDims, vSashDims, vSashDims, vSashDims},
-- { WIN_SASHTYPES.SLIDE_FIXED, WIN_SASHTYPES.SLIDE_MOVABLE, WIN_SASHTYPES.SLIDE_MOVABLE, WIN_SASHTYPES.SLIDE_FIXED},
-- { WIN_OPENING_TYPES.FIXED, WIN_OPENING_TYPES.COPLANARSLIDE_LEFT, WIN_OPENING_TYPES.COPLANARSLIDE_RIGHT, WIN_OPENING_TYPES.FIXED})
-- WinCreate.AddFill( vSash[1], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vSash[2], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vSash[3], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vSash[4], WIN_FILLTYPES.GLASS)
-- local nSashGrpId = EgtGetParent( vSash[1])
-- WinCreate.AddHardware( nSashGrpId, '000594', 'Dx')
-- 4 ante mobili
-- local nFrameId = WinCreate.CreateFrame( WIN_FRAME_TYPES.RECT, { 4500, 2100}, vFrameJoints, vFrameDims)
-- -- WinCreate.AddThreshold( nFrameId, 'Threshold')
-- local vSash = WinCreate.AddSashGroup( nFrameId, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 25, 25, 25},
-- { vSashJoints, vSashJoints, vSashJoints, vSashJoints}, { vSashDims, vSashDims, vSashDims, vSashDims},
-- { WIN_SASHTYPES.SLIDE_MOVABLE_BACK, WIN_SASHTYPES.SLIDE_MOVABLE, WIN_SASHTYPES.SLIDE_MOVABLE, WIN_SASHTYPES.SLIDE_MOVABLE_BACK},
-- { WIN_OPENING_TYPES.COPLANARSLIDE_RIGHT, WIN_OPENING_TYPES.COPLANARSLIDE_LEFT, WIN_OPENING_TYPES.COPLANARSLIDE_RIGHT, WIN_OPENING_TYPES.COPLANARSLIDE_LEFT})
-- WinCreate.AddFill( vSash[1], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vSash[2], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vSash[3], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vSash[4], WIN_FILLTYPES.GLASS)
-- local nSashGrpId = EgtGetParent( vSash[1])
-- WinCreate.AddHardware( nSashGrpId, '000595', 'Dx')
------------------------ Finestre vetro fisso ------------------------
-- standard
-- WinCreate.AddBottomRail( nFrameId, 2, { 90, 78})
-- WinCreate.AddFill( nFrameId, WIN_FILLTYPES.GLASS)
-- divisione orizzontale / verticale
-- WinCreate.AddBottomRail( nFrameId, 2)
-- -- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.HORIZONTAL, { WIN_MEASURE.PERCENTAGE}, { 70}, { 60})
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE}, { 70}, { 60})
-- WinCreate.AddFill( vAreas[1], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vAreas[2], WIN_FILLTYPES.GLASS)
-- divisione verticale ed orizzontale (1)
-- WinCreate.AddBottomRail( nFrameId, 1, { 60})
-- local vAreas1 = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE}, { 50}, { 100})
-- local vAreas2 = WinCreate.AddSplits( vAreas1[1], WIN_SPLITORIENTATION.HORIZONTAL, { WIN_MEASURE.PERCENTAGE}, { 50}, { 60})
-- local vAreas3 = WinCreate.AddSplits( vAreas1[2], WIN_SPLITORIENTATION.HORIZONTAL, { WIN_MEASURE.PERCENTAGE}, { 50}, { 60})
-- WinCreate.AddFill( vAreas2[1], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vAreas2[2], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vAreas3[1], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vAreas3[2], WIN_FILLTYPES.GLASS)
-- divisione verticale ed orizzontale (2)
-- WinCreate.AddBottomRail( nFrameId, 1)
-- local vAreas = WinCreate.AddGridSplits( nFrameId, { WIN_MEASURE.PERCENTAGE}, { 50}, { WIN_MEASURE.PERCENTAGE}, { 50}, true, { 100, 60, 60})
-- WinCreate.AddFill( vAreas[1], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vAreas[2], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vAreas[3], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vAreas[4], WIN_FILLTYPES.GLASS)
------------------------ Finestre con anta singola ------------------------
-- standard
-- local nSashId = WinCreate.AddSash( nFrameId, vSashJoints, vSashDims, WIN_OPENING_TYPES.TILTTURN_LEFT)
-- WinCreate.AddBottomRail( nSashId, 2, { 90, 60})
-- WinCreate.AddFill( nSashId, WIN_FILLTYPES.GLASS)
-- divisione orizzontale / verticale
-- local nSashId = WinCreate.AddSash( nFrameId, vSashJoints, vSashDims, WIN_OPENING_TYPES.TILTTURN_LEFT)
-- WinCreate.AddBottomRail( nSashId, 1, { 100})
-- -- local vAreas = WinCreate.AddSplits( nSashId, WIN_SPLITORIENTATION.HORIZONTAL, { WIN_MEASURE.PERCENTAGE}, { 50})
-- local vAreas = WinCreate.AddSplits( nSashId, WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE}, { 50})
-- WinCreate.AddFill( vAreas[1], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vAreas[2], WIN_FILLTYPES.GLASS)
-- divisione verticale e orizzontale
-- local nSashId = WinCreate.AddSash( nFrameId, vSashJoints, vSashDims, WIN_OPENING_TYPES.TILTTURN_LEFT)
-- local vAreas1 = WinCreate.AddSplits( nSashId, WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE}, { 50}, { 100})
-- local vAreas2 = WinCreate.AddSplits( vAreas1[1], WIN_SPLITORIENTATION.HORIZONTAL, { WIN_MEASURE.PERCENTAGE}, { 50}, { 60})
-- local vAreas3 = WinCreate.AddSplits( vAreas1[2], WIN_SPLITORIENTATION.HORIZONTAL, { WIN_MEASURE.PERCENTAGE}, { 50}, { 60})
-- WinCreate.AddFill( vAreas2[1], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vAreas2[2], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vAreas3[1], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vAreas3[2], WIN_FILLTYPES.GLASS)
------------------------ Finestre con più ante singole ------------------------
-- due ante divisione verticale
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE}, { 50}, { 120})
-- local nSash1Id = WinCreate.AddSash( vAreas[1], vSashJoints, vSashDims, WIN_OPENING_TYPES.TILTTURN_LEFT)
-- WinCreate.AddFill( nSash1Id, WIN_FILLTYPES.GLASS)
-- local nSash2Id = WinCreate.AddSash( vAreas[2], vSashJoints, vSashDims, WIN_OPENING_TYPES.TILTTURN_RIGHT)
-- WinCreate.AddFill( nSash2Id, WIN_FILLTYPES.GLASS)
-- due ante divisione orizzontale
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.HORIZONTAL, { WIN_MEASURE.PERCENTAGE}, { 50}, { 120})
-- local nSash1Id = WinCreate.AddSash( vAreas[1], vSashJoints, vSashDims, WIN_OPENING_TYPES.TILTONLY_TOP)
-- WinCreate.AddFill( nSash1Id, WIN_FILLTYPES.GLASS)
-- local nSash2Id = WinCreate.AddSash( vAreas[2], vSashJoints, vSashDims, WIN_OPENING_TYPES.TILTONLY_TOP)
-- WinCreate.AddFill( nSash2Id, WIN_FILLTYPES.GLASS)
-- tre ante
-- -- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.ABSOLUTE, WIN_MEASURE.ABSOLUTE}, { WindowWidth / 3, WindowWidth / 3}, { 95, 95})
-- -- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PROPORTIONAL, WIN_MEASURE.PROPORTIONAL, WIN_MEASURE.PROPORTIONAL}, { 1, 1, 1}, { 95, 95})
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 33.333, 33.333}, { 95, 95})
-- local nSash1Id = WinCreate.AddSash( vAreas[1], vSashJoints, vSashDims)
-- WinCreate.AddFill( nSash1Id, WIN_FILLTYPES.GLASS)
-- local nSash2Id = WinCreate.AddSash( vAreas[2], vSashJoints, vSashDims)
-- WinCreate.AddFill( nSash2Id, WIN_FILLTYPES.GLASS)
-- local nSash3Id = WinCreate.AddSash( vAreas[3], vSashJoints, vSashDims)
-- WinCreate.AddFill( nSash3Id, WIN_FILLTYPES.GLASS)
-- tre ante una sopra e due sotto
-- local vAreas1 = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.HORIZONTAL, { WIN_MEASURE.PERCENTAGE}, { 50}, { 115})
-- local vAreas2 = WinCreate.AddSplits( vAreas1[2], WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE}, { 50}, { 95})
-- local nSash1Id = WinCreate.AddSash( vAreas1[1], vSashJoints, vSashDims, WIN_OPENING_TYPES.FIXED)
-- WinCreate.AddFill( nSash1Id, WIN_FILLTYPES.GLASS)
-- local nSash2Id = WinCreate.AddSash( vAreas2[1], vSashJoints, vSashDims, WIN_OPENING_TYPES.TILTTURN_LEFT)
-- WinCreate.AddFill( nSash2Id, WIN_FILLTYPES.GLASS)
-- local nSash3Id = WinCreate.AddSash( vAreas2[2], vSashJoints, vSashDims, WIN_OPENING_TYPES.TILTTURN_RIGHT)
-- WinCreate.AddFill( nSash3Id, WIN_FILLTYPES.GLASS)
-- sei ante (1)
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.HORIZONTAL, { WIN_MEASURE.PERCENTAGE}, { 50}, { 105})
-- local vAreas1 = WinCreate.AddSplits( vAreas[1], WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 33.333, 33.333}, { 95, 95})
-- local vAreas2 = WinCreate.AddSplits( vAreas[2], WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 33.333, 33.333}, { 95, 95})
-- local nSash1Id = WinCreate.AddSash( vAreas1[1], vSashJoints, vSashDims)
-- WinCreate.AddFill( nSash1Id, WIN_FILLTYPES.GLASS)
-- local nSash2Id = WinCreate.AddSash( vAreas1[2], vSashJoints, vSashDims)
-- WinCreate.AddFill( nSash2Id, WIN_FILLTYPES.GLASS)
-- local nSash3Id = WinCreate.AddSash( vAreas1[3], vSashJoints, vSashDims)
-- WinCreate.AddFill( nSash3Id, WIN_FILLTYPES.GLASS)
-- local nSash4Id = WinCreate.AddSash( vAreas2[1], vSashJoints, vSashDims)
-- WinCreate.AddFill( nSash4Id, WIN_FILLTYPES.GLASS)
-- local nSash5Id = WinCreate.AddSash( vAreas2[2], vSashJoints, vSashDims)
-- WinCreate.AddFill( nSash5Id, WIN_FILLTYPES.GLASS)
-- local nSash6Id = WinCreate.AddSash( vAreas2[3], vSashJoints, vSashDims)
-- WinCreate.AddFill( nSash6Id, WIN_FILLTYPES.GLASS)
-- sei ante (2)
-- local vAreas = WinCreate.AddGridSplits( nFrameId, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 33.333, 33.333}, { WIN_MEASURE.PERCENTAGE}, { 50}, false, { 120, 100, 85, 100, 85})
-- local nSash1Id = WinCreate.AddSash( vAreas[1], vSashJoints, vSashDims)
-- WinCreate.AddFill( nSash1Id, WIN_FILLTYPES.GLASS)
-- local nSash2Id = WinCreate.AddSash( vAreas[2], vSashJoints, vSashDims)
-- WinCreate.AddFill( nSash2Id, WIN_FILLTYPES.GLASS)
-- local nSash3Id = WinCreate.AddSash( vAreas[3], vSashJoints, vSashDims)
-- WinCreate.AddFill( nSash3Id, WIN_FILLTYPES.GLASS)
-- local nSash4Id = WinCreate.AddSash( vAreas[4], vSashJoints, vSashDims)
-- WinCreate.AddFill( nSash4Id, WIN_FILLTYPES.GLASS)
-- local nSash5Id = WinCreate.AddSash( vAreas[5], vSashJoints, vSashDims)
-- WinCreate.AddFill( nSash5Id, WIN_FILLTYPES.GLASS)
-- local nSash6Id = WinCreate.AddSash( vAreas[6], vSashJoints, vSashDims)
-- WinCreate.AddFill( nSash6Id, WIN_FILLTYPES.GLASS)
------------------------ Finestre con ante battenti e riceventi ------------------------
-- battente / ricevente
-- local vSashes = WinCreate.AddSashGroup( nFrameId, { WIN_MEASURE.PERCENTAGE}, { 50}, { vSashJoints, vSashJoints}, { vSashDims, vSashDims}, { WIN_SASHTYPES.ACTIVE, WIN_SASHTYPES.INACTIVE},
-- { WIN_OPENING_TYPES.TURNONLY_LEFT, WIN_OPENING_TYPES.TURNONLY_RIGHT})
-- WinCreate.AddFill( vSashes[1], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vSashes[2], WIN_FILLTYPES.GLASS)
-- battente / ricevente / ricevente
-- local vSashes = WinCreate.AddSashGroup( nFrameId, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 33.333, 33.333}, { vSashJoints, vSashJoints, vSashJoints}, { vSashDims, vSashDims, vSashDims},
-- { WIN_SASHTYPES.ACTIVE, WIN_SASHTYPES.INACTIVE_IN, WIN_SASHTYPES.INACTIVE_OUT},
-- { WIN_OPENING_TYPES.TURNONLY_LEFT, WIN_OPENING_TYPES.TURNONLY_RIGHT, WIN_OPENING_TYPES.TURNONLY_RIGHT})
-- WinCreate.AddFill( vSashes[1], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vSashes[2], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vSashes[3], WIN_FILLTYPES.GLASS)
-- battente / battente / ricevente
-- local vSashes = WinCreate.AddSashGroup( nFrameId, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 33.333, 33.333}, { vSashJoints, vSashJoints, vSashJoints}, { vSashDims, vSashDims, vSashDims},
-- { WIN_SASHTYPES.ACTIVE_OUT, WIN_SASHTYPES.ACTIVE_IN, WIN_SASHTYPES.INACTIVE},
-- { WIN_OPENING_TYPES.TURNONLY_LEFT, WIN_OPENING_TYPES.TURNONLY_LEFT, WIN_OPENING_TYPES.TURNONLY_RIGHT})
-- WinCreate.AddFill( vSashes[1], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vSashes[2], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vSashes[3], WIN_FILLTYPES.GLASS)
-- battente / battente / ricevente / ricevente
-- local vSashes = WinCreate.AddSashGroup( nFrameId, { WIN_MEASURE.PROPORTIONAL, WIN_MEASURE.PROPORTIONAL, WIN_MEASURE.PROPORTIONAL, WIN_MEASURE.PROPORTIONAL}, { 1, 1, 1, 1},
-- { vSashJoints, vSashJoints, vSashJoints, vSashJoints}, { vSashDims, vSashDims, vSashDims, vSashDims},
-- { WIN_SASHTYPES.ACTIVE_OUT, WIN_SASHTYPES.ACTIVE_IN, WIN_SASHTYPES.INACTIVE_IN, WIN_SASHTYPES.INACTIVE_OUT},
-- { WIN_OPENING_TYPES.TURNONLY_LEFT, WIN_OPENING_TYPES.TURNONLY_LEFT, WIN_OPENING_TYPES.TURNONLY_RIGHT, WIN_OPENING_TYPES.TURNONLY_RIGHT})
-- WinCreate.AddFill( vSashes[1], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vSashes[2], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vSashes[3], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vSashes[4], WIN_FILLTYPES.GLASS)
------------------------ Finestre con ante singole e ante battenti/riceventi ------------------------
-- tre ante : singola / ricevente / battente
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE}, { 33}, { 115})
-- local nSash1Id = WinCreate.AddSash( vAreas[1], vSashJoints, vSashDims, WIN_OPENING_TYPES.TILTTURN_LEFT)
-- WinCreate.AddFill( nSash1Id, WIN_FILLTYPES.GLASS)
-- local vSashes = WinCreate.AddSashGroup( vAreas[2], { WIN_MEASURE.PERCENTAGE}, { 50}, { vSashJoints, vSashJoints}, { vSashDims, vSashDims}, { WIN_SASHTYPES.INACTIVE, WIN_SASHTYPES.ACTIVE},
-- { WIN_OPENING_TYPES.TURNONLY_LEFT, WIN_OPENING_TYPES.TURNONLY_RIGHT})
-- WinCreate.AddFill( vSashes[1], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vSashes[2], WIN_FILLTYPES.GLASS)
-- tre ante ( singola / ricevente/ battente) con split nelle ante
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE}, { 33}, { 95})
-- local nSash1Id = WinCreate.AddSash( vAreas[1], vSashJoints, vSashDims, WIN_OPENING_TYPES.TILTTURN_LEFT)
-- local vAreasSash1 = WinCreate.AddSplits( nSash1Id, WIN_SPLITORIENTATION.HORIZONTAL, { WIN_MEASURE.ABSOLUTE}, { WindowHeight * 3 / 5}, { 60})
-- WinCreate.AddFill( vAreasSash1[1], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vAreasSash1[2], WIN_FILLTYPES.GLASS)
-- local vSashes2 = WinCreate.AddSashGroup( vAreas[2], { WIN_MEASURE.PERCENTAGE}, { 50}, { vSashJoints, vSashJoints}, { vSashDims, vSashDims}, { WIN_SASHTYPES.INACTIVE, WIN_SASHTYPES.ACTIVE},
-- { WIN_OPENING_TYPES.TURNONLY_LEFT, WIN_OPENING_TYPES.TURNONLY_RIGHT})
-- local vAreasSash2 = WinCreate.AddSplits( vSashes2[1], WIN_SPLITORIENTATION.HORIZONTAL, { WIN_MEASURE.ABSOLUTE}, { WindowHeight * 3 / 5}, { 60})
-- WinCreate.AddFill( vAreasSash2[1], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vAreasSash2[2], WIN_FILLTYPES.GLASS)
-- local vAreasSash3 = WinCreate.AddSplits( vSashes2[2], WIN_SPLITORIENTATION.HORIZONTAL, { WIN_MEASURE.ABSOLUTE}, { WindowHeight * 3 / 5}, { 60})
-- WinCreate.AddFill( vAreasSash3[1], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vAreasSash3[2], WIN_FILLTYPES.GLASS)
-- 3 ante : sopra battente / ricevente, sotto singola
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.HORIZONTAL, { WIN_MEASURE.PERCENTAGE}, { 70}, { 105})
-- local nSash0Id = WinCreate.AddSash( vAreas[2], vSashJoints, vSashDims, WIN_OPENING_TYPES.FIXED)
-- WinCreate.AddFill( nSash0Id, WIN_FILLTYPES.GLASS)
-- local vSashes = WinCreate.AddSashGroup( vAreas[1], { WIN_MEASURE.PERCENTAGE}, { 50}, { vSashJoints, vSashJoints}, { vSashDims, vSashDims}, { WIN_SASHTYPES.ACTIVE, WIN_SASHTYPES.INACTIVE},
-- { WIN_OPENING_TYPES.TURNONLY_LEFT, WIN_OPENING_TYPES.TURNONLY_RIGHT})
-- WinCreate.AddFill( vSashes[1], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vSashes[2], WIN_FILLTYPES.GLASS)
-- 4 ante : sopra anta singola e sotto singola ( con split) / battente / ricevente
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.HORIZONTAL, { WIN_MEASURE.PERCENTAGE}, { 30}, { 95})
-- local vAreas1 = WinCreate.AddSplits( vAreas[2], WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE}, { 30}, { 95})
-- local nSash0Id = WinCreate.AddSash( vAreas[1], vSashJoints, vSashDims, WIN_OPENING_TYPES.TILTONLY_TOP)
-- WinCreate.AddFill( nSash0Id, WIN_FILLTYPES.GLASS)
-- local nSash1Id = WinCreate.AddSash( vAreas1[1], vSashJoints, vSashDims, WIN_OPENING_TYPES.TILTTURN_LEFT)
-- local vSashAreas = WinCreate.AddSplits( nSash1Id, WIN_SPLITORIENTATION.HORIZONTAL, { WIN_MEASURE.PERCENTAGE}, { 60}, { 60})
-- WinCreate.AddFill( vSashAreas[1], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vSashAreas[2], WIN_FILLTYPES.GLASS)
-- local vSashes = WinCreate.AddSashGroup( vAreas1[2], { WIN_MEASURE.PERCENTAGE}, { 50}, { vSashJoints, vSashJoints}, { vSashDims, vSashDims}, { WIN_SASHTYPES.ACTIVE, WIN_SASHTYPES.INACTIVE},
-- { WIN_OPENING_TYPES.TURNONLY_LEFT, WIN_OPENING_TYPES.TURNONLY_RIGHT})
-- WinCreate.AddFill( vSashes[1], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vSashes[2], WIN_FILLTYPES.GLASS)
-- sei ante : divisione orizzontale e per ogni divisione anta singola / battente/ ricevente
-- local vAreas = WinCreate.AddGridSplits( nFrameId, { WIN_MEASURE.PERCENTAGE}, { 33}, { WIN_MEASURE.PERCENTAGE}, { 50}, false, { 115, 95, 95})
-- local nSash1Id = WinCreate.AddSash( vAreas[1], vSashJoints, vSashDims,WIN_OPENING_TYPES.TILTTURN_LEFT)
-- WinCreate.AddFill( nSash1Id, WIN_FILLTYPES.GLASS)
-- local nSash2Id = WinCreate.AddSash( vAreas[3], vSashJoints, vSashDims, WIN_OPENING_TYPES.TILTTURN_LEFT)
-- WinCreate.AddFill( nSash2Id, WIN_FILLTYPES.GLASS)
-- local vSashes1 = WinCreate.AddSashGroup( vAreas[2], { WIN_MEASURE.PERCENTAGE}, { 50}, { vSashJoints, vSashJoints}, { vSashDims, vSashDims}, { WIN_SASHTYPES.ACTIVE, WIN_SASHTYPES.INACTIVE},
-- { WIN_OPENING_TYPES.TURNONLY_LEFT, WIN_OPENING_TYPES.TURNONLY_RIGHT})
-- WinCreate.AddFill( vSashes1[1], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vSashes1[2], WIN_FILLTYPES.GLASS)
-- local vSashes2 = WinCreate.AddSashGroup( vAreas[4], { WIN_MEASURE.PERCENTAGE}, { 50}, { vSashJoints, vSashJoints}, { vSashDims, vSashDims}, { WIN_SASHTYPES.ACTIVE, WIN_SASHTYPES.INACTIVE},
-- { WIN_OPENING_TYPES.TURNONLY_LEFT, WIN_OPENING_TYPES.TURNONLY_RIGHT})
-- WinCreate.AddFill( vSashes2[1], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vSashes2[2], WIN_FILLTYPES.GLASS)
------------------------ Ferramenta ------------------------
-- local nFrameId = WinCreate.CreateFrame( WIN_FRAME_TYPES.RECT, { 1500, 2100}, vFrameJoints, vFrameDims)
-- local nFrameId = WinCreate.CreateFrame( WIN_FRAME_TYPES.ROUND_ARC, { 1500, 2100}, vFrameJoints, vFrameDims)
-- local nFrameId = WinCreate.CreateFrame( WIN_FRAME_TYPES.SEGMENTAL_ARC, { 1500, 1500, 1700}, vFrameJoints, vFrameDims)
-- local nFrameId = WinCreate.CreateFrame( WIN_FRAME_TYPES.CHAMFER_SIDE, { 1500, 1800 + 1200, 1800}, vFrameJoints, vFrameDims)
-- local nFrameId = WinCreate.CreateFrame( WIN_FRAME_TYPES.CHAMFER, { 1500, 1500, 1800}, vFrameJoints, vFrameDims)
-- anta singola
-- local nSashId = WinCreate.AddSash( nFrameId, vSashJoints, vSashDims, WIN_OPENING_TYPES.TILTTURN_LEFT)
-- WinCreate.AddFill( nSashId, WIN_FILLTYPES.GLASS)
-- WinCreate.AddHardware( nSashId, '000558', 'Sx')
-- -- WinCreate.AddHardware( nSashId, '000545', 'Sx') -- aria 4, errato ma crea alcune lavorazioni in più
-- -- WinCreate.AddHardware( nSashId, '000596', 'Sx') -- arco a tutto sesto
-- -- WinCreate.AddHardware( nSashId, '000597', 'Sx') -- arco ribassato
-- -- WinCreate.AddHardware( nSashId, '000604', 'Sx') -- trapezio
-- 2 ante singole
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE}, { 50}, { 95})
-- local nSash1Id = WinCreate.AddSash( vAreas[1], vSashJoints, vSashDims, WIN_OPENING_TYPES.TILTTURN_LEFT)
-- local nSash2Id = WinCreate.AddSash( vAreas[2], vSashJoints, vSashDims, WIN_OPENING_TYPES.TILTTURN_RIGHT)
-- WinCreate.AddFill( nSash1Id, WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( nSash2Id, WIN_FILLTYPES.GLASS)
-- WinCreate.AddHardware( nSash1Id, '000558', 'Sx')
-- WinCreate.AddHardware( nSash2Id, '000558', 'Dx')
-- -- WinCreate.AddHardware( nSash1Id, '000610', 'Sx') -- arco a tutto sesto
-- -- WinCreate.AddHardware( nSash2Id, '000610', 'Dx')
-- -- WinCreate.AddHardware( nSash1Id, '000611', 'Sx') -- arco ribassato
-- -- WinCreate.AddHardware( nSash2Id, '000611', 'Dx')
-- -- WinCreate.AddHardware( nSash1Id, '000604', 'Sx') -- trapezio
-- -- WinCreate.AddHardware( nSash2Id, '000604', 'Dx')
-- 2 ante singole con apertura sul montante
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE}, { 50}, { 120})
-- local nSash1Id = WinCreate.AddSash( vAreas[1], vSashJoints, vSashDims, WIN_OPENING_TYPES.TILTTURN_LEFT)
-- local nSash2Id = WinCreate.AddSash( vAreas[2], vSashJoints, vSashDims, WIN_OPENING_TYPES.TILTTURN_LEFT)
-- WinCreate.AddFill( nSash1Id, WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( nSash2Id, WIN_FILLTYPES.GLASS)
-- WinCreate.AddHardware( nSash1Id, '000558', 'Sx')
-- WinCreate.AddHardware( nSash2Id, '000558', 'Sx')
-- 3 ante : sotto singola, sopra battente / ricevente
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.HORIZONTAL, { WIN_MEASURE.PERCENTAGE}, { 60}, { 95})
-- local nSash1Id = WinCreate.AddSash( vAreas[2], vSashJoints, vSashDims, WIN_OPENING_TYPES.TILTTURN_LEFT)
-- WinCreate.AddFill( nSash1Id, WIN_FILLTYPES.GLASS)
-- WinCreate.AddHardware( nSash1Id, '000558', 'Sx')
-- local vSashes = WinCreate.AddSashGroup( vAreas[1], { WIN_MEASURE.PERCENTAGE}, { 50}, { vSashJoints, vSashJoints}, { vSashDims, vSashDims}, { WIN_SASHTYPES.ACTIVE, WIN_SASHTYPES.INACTIVE},
-- { WIN_OPENING_TYPES.TURNONLY_LEFT, WIN_OPENING_TYPES.TURNONLY_RIGHT})
-- WinCreate.AddFill( vSashes[1], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vSashes[2], WIN_FILLTYPES.GLASS)
-- local nSashGrpId = EgtGetParent( vSashes[1])
-- WinCreate.AddHardware( nSashGrpId, '000559', 'Sx')
-- 2 ante : battente / ricevente
-- local vSashes = WinCreate.AddSashGroup( nFrameId, { WIN_MEASURE.PERCENTAGE}, { 50}, { vSashJoints, vSashJoints}, { vSashDims, vSashDims}, { WIN_SASHTYPES.ACTIVE, WIN_SASHTYPES.INACTIVE},
-- { WIN_OPENING_TYPES.TURNONLY_LEFT, WIN_OPENING_TYPES.TURNONLY_RIGHT})
-- WinCreate.AddFill( vSashes[1], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vSashes[2], WIN_FILLTYPES.GLASS)
-- local nSashGrpId = EgtGetParent( vSashes[1])
-- WinCreate.AddHardware( nSashGrpId, '000559', 'Sx')
-- -- WinCreate.AddHardware( nSashGrpId, '000598', 'Sx') -- arco tutto sesto
-- -- WinCreate.AddHardware( nSashGrpId, '000599', 'Sx') -- arco ribassato
-- 2 ante : ricevente / battente
-- local vSashes = WinCreate.AddSashGroup( nFrameId, { WIN_MEASURE.PERCENTAGE}, { 50}, { vSashJoints, vSashJoints}, { vSashDims, vSashDims}, { WIN_SASHTYPES.INACTIVE, WIN_SASHTYPES.ACTIVE},
-- { WIN_OPENING_TYPES.TURNONLY_LEFT, WIN_OPENING_TYPES.TURNONLY_RIGHT})
-- WinCreate.AddFill( vSashes[1], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vSashes[2], WIN_FILLTYPES.GLASS)
-- local nSashGrpId = EgtGetParent( vSashes[1])
-- WinCreate.AddHardware( nSashGrpId, '000559', 'Dx')
-- 3 ante : battente / battente / ricevente
-- local vSashes = WinCreate.AddSashGroup( nFrameId, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 33, 33}, { vSashJoints, vSashJoints, vSashJoints}, { vSashDims, vSashDims, vSashDims},
-- { WIN_SASHTYPES.ACTIVE_OUT, WIN_SASHTYPES.ACTIVE_IN, WIN_SASHTYPES.INACTIVE},
-- { WIN_OPENING_TYPES.TURNONLY_LEFT, WIN_OPENING_TYPES.TURNONLY_LEFT, WIN_OPENING_TYPES.TURNONLY_RIGHT})
-- WinCreate.AddFill( vSashes[1], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vSashes[2], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vSashes[3], WIN_FILLTYPES.GLASS)
-- local nSashGrpId = EgtGetParent( vSashes[1])
-- WinCreate.AddHardware( nSashGrpId, '000564', 'Sx')
-- 3 ante : ricevente / battente / battente
-- local vSashes = WinCreate.AddSashGroup( nFrameId, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 33, 33}, { vSashJoints, vSashJoints, vSashJoints}, { vSashDims, vSashDims, vSashDims},
-- { WIN_SASHTYPES.INACTIVE, WIN_SASHTYPES.ACTIVE_IN, WIN_SASHTYPES.ACTIVE_OUT},
-- { WIN_OPENING_TYPES.TURNONLY_LEFT, WIN_OPENING_TYPES.TURNONLY_RIGHT, WIN_OPENING_TYPES.TURNONLY_RIGHT})
-- WinCreate.AddFill( vSashes[1], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vSashes[2], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vSashes[3], WIN_FILLTYPES.GLASS)
-- local nSashGrpId = EgtGetParent( vSashes[1])
-- WinCreate.AddHardware( nSashGrpId, '000564', 'Dx')
-- 3 ante : battente / ricevente / ricevente
-- local vSashes = WinCreate.AddSashGroup( nFrameId, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 33, 33}, { vSashJoints, vSashJoints, vSashJoints}, { vSashDims, vSashDims, vSashDims},
-- { WIN_SASHTYPES.ACTIVE, WIN_SASHTYPES.INACTIVE_IN, WIN_SASHTYPES.INACTIVE_OUT},
-- { WIN_OPENING_TYPES.TURNONLY_LEFT, WIN_OPENING_TYPES.TURNONLY_RIGHT, WIN_OPENING_TYPES.TURNONLY_RIGHT})
-- WinCreate.AddFill( vSashes[1], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vSashes[2], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vSashes[3], WIN_FILLTYPES.GLASS)
-- local nSashGrpId = EgtGetParent( vSashes[1])
-- WinCreate.AddHardware( nSashGrpId, '000565', 'Sx')
-- 3 ante : ricevente / ricevente / battente
-- local vSashes = WinCreate.AddSashGroup( nFrameId, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 33, 33}, { vSashJoints, vSashJoints, vSashJoints}, { vSashDims, vSashDims, vSashDims},
-- { WIN_SASHTYPES.INACTIVE_OUT, WIN_SASHTYPES.INACTIVE_IN, WIN_SASHTYPES.ACTIVE},
-- { WIN_OPENING_TYPES.TURNONLY_LEFT, WIN_OPENING_TYPES.TURNONLY_LEFT, WIN_OPENING_TYPES.TURNONLY_RIGHT})
-- WinCreate.AddFill( vSashes[1], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vSashes[2], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vSashes[3], WIN_FILLTYPES.GLASS)
-- local nSashGrpId = EgtGetParent( vSashes[1])
-- WinCreate.AddHardware( nSashGrpId, '000565', 'Dx')
-- 4 ante : battente / battente / ricevente / ricevente
-- local vSashes = WinCreate.AddSashGroup( nFrameId, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 25, 25, 25},
-- { vSashJoints, vSashJoints, vSashJoints, vSashJoints}, { vSashDims, vSashDims, vSashDims, vSashDims},
-- { WIN_SASHTYPES.ACTIVE_OUT, WIN_SASHTYPES.ACTIVE_IN, WIN_SASHTYPES.INACTIVE_IN, WIN_SASHTYPES.INACTIVE_OUT},
-- { WIN_OPENING_TYPES.TURNONLY_LEFT, WIN_OPENING_TYPES.TURNONLY_LEFT, WIN_OPENING_TYPES.TURNONLY_RIGHT, WIN_OPENING_TYPES.TURNONLY_RIGHT})
-- WinCreate.AddFill( vSashes[1], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vSashes[2], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vSashes[3], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vSashes[4], WIN_FILLTYPES.GLASS)
-- local nSashGrpId = EgtGetParent( vSashes[1])
-- WinCreate.AddHardware( nSashGrpId, '000575', 'Sx')
-- 4 ante : ricevente / ricevente / battente / battente
-- local vSashes = WinCreate.AddSashGroup( nFrameId, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 25, 25, 25},
-- { vSashJoints, vSashJoints, vSashJoints, vSashJoints}, { vSashDims, vSashDims, vSashDims, vSashDims},
-- { WIN_SASHTYPES.INACTIVE_OUT, WIN_SASHTYPES.INACTIVE_IN, WIN_SASHTYPES.ACTIVE_IN, WIN_SASHTYPES.ACTIVE_OUT},
-- { WIN_OPENING_TYPES.TURNONLY_LEFT, WIN_OPENING_TYPES.TURNONLY_LEFT, WIN_OPENING_TYPES.TURNONLY_RIGHT, WIN_OPENING_TYPES.TURNONLY_RIGHT})
-- WinCreate.AddFill( vSashes[1], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vSashes[2], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vSashes[3], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vSashes[4], WIN_FILLTYPES.GLASS)
-- local nSashGrpId = EgtGetParent( vSashes[1])
-- WinCreate.AddHardware( nSashGrpId, '000575', 'Dx')
-- vasistas
-- local nSashId = WinCreate.AddSash( nFrameId, vSashJoints, vSashDims, WIN_OPENING_TYPES.TILTONLY_TOP)
-- WinCreate.AddFill( nSashId, WIN_FILLTYPES.GLASS)
-- WinCreate.AddHardware( nSashId, '000573', 'Sx')
-----------------------------------------------------------------------------------
-- imposto se calcolare solidi/preview o meno
WinCalculate.SetCalcSolid( true)
WinCalculate.SetCalcPreview( true)
-- creo i pezzi
WinCalculate.CreatePartFromArea( nFrameId)
-- WinCalculate.AddHardware( nFrameId, true, false, false, false)
-- WinCalculate.AddAccessories( nFrameId, true)
-- tronchetti
-- local nLogsNbr = 7
-- local vSections = { 100, 150, 80, 130, 120, 180}
-- local nLogsNbr = 0 -- numero minimo
-- local vSections = { 120}
-- local bAlign = false
-- local dOverMatOut = 10
-- local dOverMatIn = 7
-- local dOverMatExt = 5
-- local dOverMatInt = 3
-- local bCutExtremities = true
-- -- cerco i pezzi ad arco
-- local vParts = EgtGetAllInGroup( 0)
-- for i = 1, #vParts do
-- local nOutline = EgtGetInfo( vParts[i], WIN_REF_OUTLINE, 'i') or GDB_ID.NULL
-- if EgtGetType( nOutline) == GDB_TY.CRV_ARC then
-- -- se anta richiedo allineamento con telaio
-- local nAreaId = EgtGetParent( EgtGetParent( nOutline))
-- local nAreaType = EgtGetInfo( nAreaId, WIN_AREATYPE, 'i')
-- if nAreaType == WIN_AREATYPES.SASH then
-- bAlign = true
-- nLogsNbr = 0
-- end
-- WinCalculate.CreateArcLogs( vParts[i], nLogsNbr, vSections, bAlign, dOverMatOut, dOverMatIn, dOverMatExt, dOverMatInt, bCutExtremities)
-- end
-- end
EgtZoom( SCE_ZM.ALL)
-- riporto tempi di esecuzione
local sOut = string.format( ' ExecTime = %.2f ms', EgtStopCounter())
EgtOutLog( sOut)