Files
egwwindowlua/Designing/Main.lua
T
2025-09-26 12:50:40 +02:00

745 lines
35 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)
-- EgtEnableDebug( false)
-- Imposto direttorio per librerie
local sBaseDir = EgtGetSourceDir()
EgtOutLog("BaseDir=" .. sBaseDir)
EgtAddToPackagePath( sBaseDir .. '?.lua')
EgtAddToPackagePath( sBaseDir .. 'WinLib\\' .. '?.lua')
_G.package.loaded.WinConst = nil
require( 'WinConst')
_G.package.loaded.WinCreate = nil
local WinCreate = require( 'WinCreate')
_G.package.loaded.WinCalculate = nil
local WinCalculate = require( 'WinCalculate')
_G.package.loaded.WinManageProject = nil
local WinManageProject = require( 'WinManageProject')
------------------------------------------- PARAMETERS -------------------------------------------
local DebugCode = false
local HoleWidth = 1835
local HoleHeight = 1516
local WindowWidth = 2500
local WindowHeight = 2000
local WindowTree
local sProfilePath = 'C:\\EgtData\\EgtWindowMaker\\Profiles\\Profilo78.nge'
------------------------------------------- ************** -------------------------------------------
-- ciclo principale
EgtStartCounter()
EgtNewFile()
-- importo profilo prescelto
WinCreate.ImportProfile( sProfilePath)
-- creo telaio generico
local FrameJointType = WIN_JNT.FULL_H
local vFrameJoints = { FrameJointType, FrameJointType, FrameJointType, FrameJointType}
local SashJointType = WIN_JNT.FULL_V
local vSashJoints = { SashJointType, SashJointType, SashJointType, SashJointType}
-- local nFrameId = WinCreate.CreateFrame( WIN_FRAME_TYPES.RECT, vFrameJoints, WindowWidth, WindowHeight)
-- local nFrameId = WinCreate.CreateFrame( WIN_FRAME_TYPES.CHAMFER_SIDE, vFrameJoints, WindowWidth, WindowHeight, WindowHeight + 500)
-- local nFrameId = WinCreate.CreateFrame( WIN_FRAME_TYPES.CHAMFER_SIDE, vFrameJoints, WindowWidth, WindowHeight + 500, WindowHeight)
-- local nFrameId = WinCreate.CreateFrame( WIN_FRAME_TYPES.ROUND_ARC, vFrameJoints, WindowWidth, WindowHeight)
-- local nFrameId = WinCreate.CreateFrame( WIN_FRAME_TYPES.SEGMENTAL_ARC, { FrameJointType, FrameJointType, FrameJointType, FrameJointType}, 1500, 1800, 2200)
-- local nFrameId = WinCreate.CreateFrame( WIN_FRAME_TYPES.CHAMFER, { FrameJointType, FrameJointType, FrameJointType, FrameJointType, FrameJointType}, WindowWidth, WindowHeight, WindowHeight + 500)
-- local nFrameId = WinCreate.CreateFrame( WIN_FRAME_TYPES.POINTED_ARC, { FrameJointType, FrameJointType, FrameJointType, FrameJointType, FrameJointType}, 900, 1500, 2100)
local nFrameId = WinCreate.CreateFrame( WIN_FRAME_TYPES.POINTED_ARC, { FrameJointType, FrameJointType, FrameJointType, FrameJointType, FrameJointType}, 1500, 1500, 2400)
------------------------ Aggiunta split a griglia ------------------------
-- WinCreate.AddGridSplits( nFrameId, WIN_MEASURE.ABSOLUT, {100, 300, 100, 300}, {500, 600, 850}, false)
-- WinCreate.AddGridSplits( nFrameId, WIN_MEASURE.PERCENTAGE, {0.15}, {0.5, 0.45}, false)
WinCreate.AddGridSplits( nFrameId, WIN_MEASURE.PROPORTIONAL, {1, 4, 1, 2, 1}, {1, 2, 1, 2, 1}, false)
------------------------ Cambi profilo ------------------------
-- vetro/anta
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.PERCENTAGE, { 0.5}, 1)
-- WinCreate.AddFill( vAreas[1], WIN_FILLTYPES.GLASS)
-- WinCreate.AddSash( vAreas[2], vSashJoints)
-- vetro/anta orizzontale
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.HORIZONTAL, WIN_MEASURE.PERCENTAGE, { 0.5}, 1)
-- WinCreate.AddFill( vAreas[1], WIN_FILLTYPES.GLASS)
-- WinCreate.AddSash( vAreas[2], vSashJoints)
-- anta/vetro
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.PERCENTAGE, { 0.5}, 1)
-- WinCreate.AddFill( vAreas[2], WIN_FILLTYPES.GLASS)
-- WinCreate.AddSash( vAreas[1], vSashJoints)
-- vetro/anta/vetro
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.PERCENTAGE, { 0.33, 0.33}, 1)
-- WinCreate.AddFill( vAreas[1], WIN_FILLTYPES.GLASS)
-- WinCreate.AddSash( vAreas[2], vSashJoints)
-- WinCreate.AddFill( vAreas[3], WIN_FILLTYPES.GLASS)
-- vetro/anta/anta
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.PERCENTAGE, { 0.33, 0.33}, 1)
-- WinCreate.AddFill( vAreas[1], WIN_FILLTYPES.GLASS)
-- WinCreate.AddSash( vAreas[2], vSashJoints)
-- WinCreate.AddSash( vAreas[3], vSashJoints)
-- anta battente/anta ricevente/vetro
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.PERCENTAGE, { 0.66}, 1)
-- local vAreas2 = WinCreate.AddSplits( vAreas[1], WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.PERCENTAGE, { 0.5}, 1, WIN_SPLITTYPES.FRENCH)
-- WinCreate.AddSash( vAreas2[1], vSashJoints, WIN_SASHTYPES.ACTIVE)
-- WinCreate.AddSash( vAreas2[2], vSashJoints, WIN_SASHTYPES.INACTIVE)
-- WinCreate.AddFill( vAreas[2], WIN_FILLTYPES.GLASS)
-- vetro/anta/vetro/anta
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.PERCENTAGE, { 0.5}, 1)
-- local vAreas2 = WinCreate.AddSplits( vAreas[1], WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.PERCENTAGE, { 0.5}, 1)
-- local vAreas3 = WinCreate.AddSplits( vAreas[2], WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.PERCENTAGE, { 0.5}, 1)
-- WinCreate.AddFill( vAreas2[1], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vAreas3[1], WIN_FILLTYPES.GLASS)
-- WinCreate.AddSash( vAreas2[2], vSashJoints)
-- WinCreate.AddSash( vAreas3[2], vSashJoints)
-- vetro/anta/vetro/anta
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.PERCENTAGE, { 0.25}, 1)
-- WinCreate.AddFill( vAreas[1], WIN_FILLTYPES.GLASS)
-- local vAreas2 = WinCreate.AddSplits( vAreas[2], WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.PERCENTAGE, { 0.75}, 1)
-- WinCreate.AddSash( vAreas2[2], vSashJoints)
-- local vAreas3 = WinCreate.AddSplits( vAreas2[1], WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.PERCENTAGE, { 0.5}, 1)
-- WinCreate.AddSash( vAreas3[1], vSashJoints)
-- WinCreate.AddFill( vAreas3[2], WIN_FILLTYPES.GLASS)
-- con split
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.PERCENTAGE, { 0.5}, 1)
-- WinCreate.AddSash( vAreas[1], vSashJoints)
-- local vAreas2 = WinCreate.AddSplits( vAreas[2], WIN_SPLITORIENTATION.HORIZONTAL, WIN_MEASURE.PERCENTAGE, { 0.5}, 1)
-- WinCreate.AddFill( vAreas2[1], WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( vAreas2[2], WIN_FILLTYPES.GLASS)
-- con split nell'anta
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.PERCENTAGE, { 0.5}, 1)
-- local nSash = WinCreate.AddSash( vAreas[1], vSashJoints)
-- WinCreate.AddFill( vAreas[2], WIN_FILLTYPES.GLASS)
-- WinCreate.AddSplits( nSash, WIN_SPLITORIENTATION.HORIZONTAL, WIN_MEASURE.PERCENTAGE, { 0.5}, 1)
------------------------ Alzante Scorrevole ------------------------
-- anta mobile a sx
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.PERCENTAGE, { 0.5}, 1, WIN_SPLITTYPES.FRENCH)
-- local nSash1 = WinCreate.AddSash( vAreas[1], vSashJoints, WIN_SASHTYPES.SLIDE_MOVABLE)
-- local nSash2 = WinCreate.AddSash( vAreas[2], vSashJoints, WIN_SASHTYPES.SLIDE_FIXED)
-- WinCreate.AddFill( nSash1, WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( nSash2, WIN_FILLTYPES.GLASS)
-- anta mobile a dx
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.PERCENTAGE, { 0.5}, 1, WIN_SPLITTYPES.FRENCH)
-- local nSash1 = WinCreate.AddSash( vAreas[1], vSashJoints, WIN_SASHTYPES.SLIDE_FIXED)
-- local nSash2 = WinCreate.AddSash( vAreas[2], vSashJoints, WIN_SASHTYPES.SLIDE_MOVABLE)
-- WinCreate.AddFill( nSash1, WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( nSash2, WIN_FILLTYPES.GLASS)
-- 2 ante mobili, sx davanti
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.PERCENTAGE, { 0.5}, 1, WIN_SPLITTYPES.FRENCH)
-- local nSash1 = WinCreate.AddSash( vAreas[1], vSashJoints, WIN_SASHTYPES.SLIDE_MOVABLE)
-- local nSash2 = WinCreate.AddSash( vAreas[2], vSashJoints, WIN_SASHTYPES.SLIDE_MOVABLE_BACK)
-- WinCreate.AddFill( nSash1, WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( nSash2, WIN_FILLTYPES.GLASS)
-- 2 ante mobili, dx davanti
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.PERCENTAGE, { 0.5}, 1, WIN_SPLITTYPES.FRENCH)
-- local nSash1 = WinCreate.AddSash( vAreas[1], vSashJoints, WIN_SASHTYPES.SLIDE_MOVABLE_BACK)
-- local nSash2 = WinCreate.AddSash( vAreas[2], vSashJoints, WIN_SASHTYPES.SLIDE_MOVABLE)
-- WinCreate.AddFill( nSash1, WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( nSash2, WIN_FILLTYPES.GLASS)
-- 4 ante, le centrali sono mobili
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.PERCENTAGE, { 0.25, 0.25, 0.25}, 1, WIN_SPLITTYPES.FRENCH)
-- local nSash1 = WinCreate.AddSash( vAreas[1], vSashJoints, WIN_SASHTYPES.SLIDE_FIXED)
-- local nSash2 = WinCreate.AddSash( vAreas[2], vSashJoints, WIN_SASHTYPES.SLIDE_MOVABLE)
-- local nSash3 = WinCreate.AddSash( vAreas[3], vSashJoints, WIN_SASHTYPES.SLIDE_MOVABLE)
-- local nSash4 = WinCreate.AddSash( vAreas[4], vSashJoints, WIN_SASHTYPES.SLIDE_FIXED)
-- WinCreate.AddFill( nSash1, WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( nSash2, WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( nSash3, WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( nSash4, WIN_FILLTYPES.GLASS)
-- 4 ante mobili
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.PERCENTAGE, { 0.25, 0.25, 0.25}, 1, WIN_SPLITTYPES.FRENCH)
-- local nSash1 = WinCreate.AddSash( vAreas[1], vSashJoints, WIN_SASHTYPES.SLIDE_MOVABLE_BACK)
-- local nSash2 = WinCreate.AddSash( vAreas[2], vSashJoints, WIN_SASHTYPES.SLIDE_MOVABLE)
-- local nSash3 = WinCreate.AddSash( vAreas[3], vSashJoints, WIN_SASHTYPES.SLIDE_MOVABLE)
-- local nSash4 = WinCreate.AddSash( vAreas[4], vSashJoints, WIN_SASHTYPES.SLIDE_MOVABLE_BACK)
-- WinCreate.AddFill( nSash1, WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( nSash2, WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( nSash3, WIN_FILLTYPES.GLASS)
-- WinCreate.AddFill( nSash4, WIN_FILLTYPES.GLASS)
------------------------ Finestra vetro fisso ------------------------
-- -- aggiungo zoccolo
-- WinCreate.AddBottomRail( nFrameId)
-- -- aggiungo vetro
-- local nFillId = WinCreate.AddFill( nFrameId, WIN_FILLTYPES.GLASS)
------------------------ Finestra vetro fisso con divisione orizzontale ------------------------
-- -- aggiungo zoccolo
-- WinCreate.AddBottomRail( nFrameId)
--
-- -- definisco prima divisione
-- local nArea1Id, nArea2Id = WinCreate.AddSplit( nFrameId, WIN_SPLITORIENTATION.HORIZONTAL, WIN_MEASURE.ABSOLUT, WindowHeight / 2)
--
-- -- aggiungo vetri
-- local nFill1Id = WinCreate.AddFill( nArea1Id, WIN_FILLTYPES.GLASS)
-- local nFill2Id = WinCreate.AddFill( nArea2Id, WIN_FILLTYPES.GLASS)
------------------------ Finestra vetro fisso con divisione verticale ------------------------
-- -- aggiungo zoccolo
-- WinCreate.AddBottomRail( nFrameId)
--
-- -- definisco prima divisione
-- local nArea1Id, nArea2Id = WinCreate.AddSplit( nFrameId, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.ABSOLUT, WindowWidth / 2)
--
-- -- aggiungo vetri
-- local nFill1Id = WinCreate.AddFill( nArea1Id, WIN_FILLTYPES.GLASS)
-- local nFill2Id = WinCreate.AddFill( nArea2Id, WIN_FILLTYPES.GLASS)
------------------------ Finestra vetro fisso con divisione orizzontale e verticale ------------------------
-- -- aggiungo zoccolo
-- WinCreate.AddBottomRail( nFrameId)
--
-- -- definisco divisioni
-- local nArea1Id, nArea2Id = WinCreate.AddSplit( nFrameId, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.ABSOLUT, WindowWidth / 2)
-- local nArea11Id, nArea12Id = WinCreate.AddSplit( nArea1Id, WIN_SPLITORIENTATION.HORIZONTAL, WIN_MEASURE.ABSOLUT, WindowHeight / 2)
-- local nArea21Id, nArea22Id = WinCreate.AddSplit( nArea2Id, WIN_SPLITORIENTATION.HORIZONTAL, WIN_MEASURE.ABSOLUT, WindowHeight / 2)
--
-- -- aggiungo vetri
-- local nFill1Id = WinCreate.AddFill( nArea11Id, WIN_FILLTYPES.GLASS)
-- local nFill2Id = WinCreate.AddFill( nArea12Id, WIN_FILLTYPES.GLASS)
-- local nFill3Id = WinCreate.AddFill( nArea21Id, WIN_FILLTYPES.GLASS)
-- local nFill4Id = WinCreate.AddFill( nArea22Id, WIN_FILLTYPES.GLASS)
------------------------ Finestra anta singola ------------------------
-- -- aggiungo anta
-- local nSashId = WinCreate.AddSash( nFrameId, vSashJoints)
--
-- -- aggiungo vetro
-- local nFillId = WinCreate.AddFill( nSashId, WIN_FILLTYPES.GLASS)
------------------------ Finestra anta singola con divisione orizzontale ------------------------
-- -- aggiungo anta
-- local nSashId = WinCreate.AddSash( nFrameId, vSashJoints)
--
-- -- definisco prima divisione
-- local nArea1Id, nArea2Id = WinCreate.AddSplit( nSashId, WIN_SPLITORIENTATION.HORIZONTAL, WIN_MEASURE.ABSOLUT, WindowHeight / 3)
--
-- -- aggiungo vetri
-- local nFill1Id = WinCreate.AddFill( nArea1Id, WIN_FILLTYPES.GLASS)
-- local nFill2Id = WinCreate.AddFill( nArea2Id, WIN_FILLTYPES.GLASS)
------------------------ Finestra anta singola con divisione verticale ------------------------
-- -- aggiungo anta
-- local nSashId = WinCreate.AddSash( nFrameId, vSashJoints)
--
-- -- definisco prima divisione
-- local nArea1Id, nArea2Id = WinCreate.AddSplit( nSashId, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.ABSOLUT, WindowWidth / 2)
--
-- -- aggiungo vetri
-- local nFill1Id = WinCreate.AddFill( nArea1Id, WIN_FILLTYPES.GLASS)
-- local nFill2Id = WinCreate.AddFill( nArea2Id, WIN_FILLTYPES.GLASS)
------------------------ Finestra anta singola con divisione orizzontale e verticale ------------------------
-- -- aggiungo anta
-- local nSashId = WinCreate.AddSash( nFrameId, vSashJoints)
--
-- -- definisco divisioni
-- local nArea1Id, nArea2Id = WinCreate.AddSplit( nSashId, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.ABSOLUT, WindowWidth / 2)
-- local nArea11Id, nArea12Id = WinCreate.AddSplit( nArea1Id, WIN_SPLITORIENTATION.HORIZONTAL, WIN_MEASURE.ABSOLUT, WindowHeight / 2)
-- local nArea21Id, nArea22Id = WinCreate.AddSplit( nArea2Id, WIN_SPLITORIENTATION.HORIZONTAL, WIN_MEASURE.ABSOLUT, WindowHeight / 2)
--
-- -- aggiungo vetri
-- local nFill1Id = WinCreate.AddFill( nArea11Id, WIN_FILLTYPES.GLASS)
-- local nFill2Id = WinCreate.AddFill( nArea12Id, WIN_FILLTYPES.GLASS)
-- local nFill3Id = WinCreate.AddFill( nArea21Id, WIN_FILLTYPES.GLASS)
-- local nFill4Id = WinCreate.AddFill( nArea22Id, WIN_FILLTYPES.GLASS)
------------------------ Finestra anta singola con divisione custom ------------------------
-- -- aggiungo anta
-- local nSashId = WinCreate.AddSash( nFrameId, vSashJoints)
-- local nTempSplitLayerId = EgtGroup( nFrameId)
-- EgtSetName( nTempSplitLayerId, WIN_TEMPSPLIT)
-- -- creo decoro
-- local nRectangleId = EgtRectangle2P( nTempSplitLayerId, Point3d( WindowWidth / 3, WindowHeight / 3, 0), Point3d( WindowWidth * 2 / 3, WindowHeight * 2 / 3, 0))
-- -- definisco prima divisione
-- local nArea1Id, nArea2Id = WinCreate.AddGenSplit( nSashId, nRectangleId)
-- EgtErase( nTempSplitLayerId)
-- -- aggiungo vetri
-- local nFill1Id = WinCreate.AddFill( nArea1Id, WIN_FILLTYPES.GLASS)
-- local nFill2Id = WinCreate.AddFill( nArea2Id, WIN_FILLTYPES.GLASS)
------------------------ Finestra doppia anta con montante verticale ------------------------
-- -- definisco prima divisione
-- local nArea1Id, nArea2Id = WinCreate.AddSplit( nFrameId, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.ABSOLUT, WindowWidth / 2)
--
-- -- aggiungo prima anta
-- local nSash1Id = WinCreate.AddSash( nArea1Id, vSashJoints)
-- -- aggiungo vetro
-- local nFill1Id = WinCreate.AddFill( nSash1Id, WIN_FILLTYPES.GLASS)
--
-- -- aggiungo seconda anta
-- local nSash2Id = WinCreate.AddSash( nArea2Id, vSashJoints)
-- -- aggiungo vetro
-- local nFill2Id = WinCreate.AddFill( nSash2Id, WIN_FILLTYPES.GLASS)
------------------------ Finestra doppia anta battente ricevente ------------------------
-- -- definisco prima divisione
-- local nArea1Id, nArea2Id = WinCreate.AddSplit( nFrameId, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.ABSOLUT, WindowWidth / 2, _, WIN_SPLITTYPES.FRENCH)
--
-- -- aggiungo prima anta
-- local nSash1Id = WinCreate.AddSash( nArea1Id, vSashJoints, WIN_SASHTYPES.INACTIVE)
-- -- aggiungo vetro
-- local nFill1Id = WinCreate.AddFill( nSash1Id, WIN_FILLTYPES.GLASS)
--
-- -- aggiungo seconda anta
-- local nSash2Id = WinCreate.AddSash( nArea2Id, vSashJoints, WIN_SASHTYPES.ACTIVE)
-- -- aggiungo vetro
-- local nFill2Id = WinCreate.AddFill( nSash2Id, WIN_FILLTYPES.GLASS)
------------------------ Finestra doppia anta con montante orizzontale ------------------------
-- -- definisco prima divisione
-- local nArea1Id, nArea2Id = WinCreate.AddSplit( nFrameId, WIN_SPLITORIENTATION.HORIZONTAL, WIN_MEASURE.ABSOLUT, WindowHeight / 2)
--
-- -- aggiungo prima anta
-- local nSash1Id = WinCreate.AddSash( nArea1Id, vSashJoints)
-- -- aggiungo vetro
-- local nFill1Id = WinCreate.AddFill( nSash1Id, WIN_FILLTYPES.GLASS)
--
-- -- aggiungo seconda anta
-- local nSash2Id = WinCreate.AddSash( nArea2Id, vSashJoints)
-- -- aggiungo vetro
-- local nFill2Id = WinCreate.AddFill( nSash2Id, WIN_FILLTYPES.GLASS)
------------------------ Finestra tripla anta con montanti verticali ------------------------
-- -- definisco prima divisione
-- local nArea1Id, nArea0Id = WinCreate.AddSplit( nFrameId, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.ABSOLUT, WindowWidth / 3)
-- -- definisco seconda divisione
-- local nArea2Id, nArea3Id = WinCreate.AddSplit( nArea0Id, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.ABSOLUT, WindowWidth / 3)
--
-- -- aggiungo prima anta
-- local nSash1Id = WinCreate.AddSash( nArea1Id, vSashJoints)
-- -- aggiungo vetro
-- local nFill1Id = WinCreate.AddFill( nSash1Id, WIN_FILLTYPES.GLASS)
--
-- -- aggiungo seconda anta
-- local nSash2Id = WinCreate.AddSash( nArea2Id, vSashJoints)
-- -- aggiungo vetro
-- local nFill2Id = WinCreate.AddFill( nSash2Id, WIN_FILLTYPES.GLASS)
--
-- -- aggiungo terza anta
-- local nSash3Id = WinCreate.AddSash( nArea3Id, vSashJoints)
-- -- aggiungo vetro
-- local nFill3Id = WinCreate.AddFill( nSash3Id, WIN_FILLTYPES.GLASS)
------------------------ Finestra tripla anta con montanti verticali(2) ------------------------
-- -- definisco divisioni
-- local nAreaList = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.ABSOLUT, { WindowWidth / 3, WindowWidth / 3})
-- -- local nAreaList = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.PROPORTIONAL, { 1, 1}, 3)
-- -- local nAreaList = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.PERCENTAGE, { 0.33, 0.33}, 1)
--
-- -- aggiungo prima anta
-- local nSash1Id = WinCreate.AddSash( nAreaList[1], vSashJoints)
-- -- aggiungo vetro
-- local nFill1Id = WinCreate.AddFill( nSash1Id, WIN_FILLTYPES.GLASS)
--
-- -- aggiungo seconda anta
-- local nSash2Id = WinCreate.AddSash( nAreaList[2], vSashJoints)
-- -- aggiungo vetro
-- local nFill2Id = WinCreate.AddFill( nSash2Id, WIN_FILLTYPES.GLASS)
--
-- -- aggiungo terza anta
-- local nSash3Id = WinCreate.AddSash( nAreaList[3], vSashJoints)
-- -- aggiungo vetro
-- local nFill3Id = WinCreate.AddFill( nSash3Id, WIN_FILLTYPES.GLASS)
------------------------ Finestra tripla anta con montante verticale e ante battente e ricevente ------------------------
-- -- definisco prima divisione
-- local nArea1Id, nArea0Id = WinCreate.AddSplit( nFrameId, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.ABSOLUT, WindowWidth / 3)
-- -- definisco seconda divisione
-- local nArea2Id, nArea3Id = WinCreate.AddSplit( nArea0Id, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.ABSOLUT, WindowWidth / 3, _, WIN_SPLITTYPES.FRENCH)
--
-- -- aggiungo prima anta
-- local nSash1Id = WinCreate.AddSash( nArea1Id, vSashJoints)
-- -- aggiungo vetro
-- local nFill1Id = WinCreate.AddFill( nSash1Id, WIN_FILLTYPES.GLASS)
--
-- -- aggiungo seconda anta
-- local nSash2Id = WinCreate.AddSash( nArea2Id, vSashJoints, WIN_SASHTYPES.INACTIVE)
-- -- aggiungo vetro
-- local nFill2Id = WinCreate.AddFill( nSash2Id, WIN_FILLTYPES.GLASS)
--
-- -- aggiungo terza anta
-- local nSash3Id = WinCreate.AddSash( nArea3Id, vSashJoints, WIN_SASHTYPES.ACTIVE)
-- -- aggiungo vetro
-- local nFill3Id = WinCreate.AddFill( nSash3Id, WIN_FILLTYPES.GLASS)
------------------------ Finestra tripla anta con montanti orizzontali ------------------------
-- -- definisco prima divisione
-- local nArea1Id, nArea0Id = WinCreate.AddSplit( nFrameId, WIN_SPLITORIENTATION.HORIZONTAL, WIN_MEASURE.ABSOLUT, WindowHeight / 3)
-- -- definisco seconda divisione
-- local nArea2Id, nArea3Id = WinCreate.AddSplit( nArea0Id, WIN_SPLITORIENTATION.HORIZONTAL, WIN_MEASURE.ABSOLUT, 2 / 3 * WindowHeight)
--
-- -- aggiungo prima anta
-- local nSash1Id = WinCreate.AddSash( nArea1Id, vSashJoints)
-- -- aggiungo vetro
-- local nFill1Id = WinCreate.AddFill( nSash1Id, WIN_FILLTYPES.GLASS)
--
-- -- aggiungo seconda anta
-- local nSash2Id = WinCreate.AddSash( nArea2Id, vSashJoints)
-- -- aggiungo vetro
-- local nFill2Id = WinCreate.AddFill( nSash2Id, WIN_FILLTYPES.GLASS)
--
-- -- aggiungo terza anta
-- local nSash3Id = WinCreate.AddSash( nArea3Id, vSashJoints)
-- -- aggiungo vetro
-- local nFill3Id = WinCreate.AddFill( nSash3Id, WIN_FILLTYPES.GLASS)
---------------------- Finestra tripla anta con montante orizzontale e verticale ------------------------
-- -- definisco divisioni
-- local nArea1Id, nArea0Id = WinCreate.AddSplit( nFrameId, WIN_SPLITORIENTATION.HORIZONTAL, WIN_MEASURE.ABSOLUT, WindowHeight / 2)
-- local nArea2Id, nArea3Id = WinCreate.AddSplit( nArea0Id, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.ABSOLUT, WindowWidth / 2)
--
-- -- aggiungo prima anta
-- local nSash1Id = WinCreate.AddSash( nArea1Id, vSashJoints)
-- -- aggiungo vetro
-- local nFill1Id = WinCreate.AddFill( nSash1Id, WIN_FILLTYPES.GLASS)
--
-- -- aggiungo seconda anta
-- local nSash2Id = WinCreate.AddSash( nArea2Id, vSashJoints)
-- -- aggiungo vetro
-- local nFill2Id = WinCreate.AddFill( nSash2Id, WIN_FILLTYPES.GLASS)
--
-- -- aggiungo terza anta
-- local nSash3Id = WinCreate.AddSash( nArea3Id, vSashJoints)
-- -- aggiungo vetro
-- local nFill3Id = WinCreate.AddFill( nSash3Id, WIN_FILLTYPES.GLASS)
------------------------ Finestra tripla anta battente / ricevente / ricevente ------------------------
-- -- definisco divisioni
-- local nArea1Id, nArea0Id = WinCreate.AddSplit( nFrameId, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.ABSOLUT, WindowWidth / 3, _, WIN_SPLITTYPES.FRENCH)
-- local nArea2Id, nArea3Id = WinCreate.AddSplit( nArea0Id, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.ABSOLUT, WindowWidth / 3, _, WIN_SPLITTYPES.FRENCH)
--
-- -- aggiungo prima anta
-- local nSash1Id = WinCreate.AddSash( nArea1Id, vSashJoints, WIN_SASHTYPES.ACTIVE)
-- -- aggiungo vetro
-- local nFill1Id = WinCreate.AddFill( nSash1Id, WIN_FILLTYPES.GLASS)
--
-- -- aggiungo seconda anta
-- local nSash2Id = WinCreate.AddSash( nArea2Id, vSashJoints, WIN_SASHTYPES.INACTIVE_IN)
-- -- aggiungo vetro
-- local nFill2Id = WinCreate.AddFill( nSash2Id, WIN_FILLTYPES.GLASS)
--
-- -- aggiungo terza anta
-- local nSash3Id = WinCreate.AddSash( nArea3Id, vSashJoints, WIN_SASHTYPES.INACTIVE_OUT)
-- -- aggiungo vetro
-- local nFill3Id = WinCreate.AddFill( nSash3Id, WIN_FILLTYPES.GLASS)
------------------------ Finestra tripla anta battente / battente / ricevente ------------------------
-- -- definisco divisioni
-- local nArea1Id, nArea0Id = WinCreate.AddSplit( nFrameId, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.ABSOLUT, WindowWidth / 3, _, WIN_SPLITTYPES.FRENCH)
-- local nArea2Id, nArea3Id = WinCreate.AddSplit( nArea0Id, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.ABSOLUT, WindowWidth / 3, _, WIN_SPLITTYPES.FRENCH)
--
-- -- aggiungo prima anta
-- local nSash1Id = WinCreate.AddSash( nArea1Id, vSashJoints, WIN_SASHTYPES.ACTIVE_OUT)
-- -- aggiungo vetro
-- local nFill1Id = WinCreate.AddFill( nSash1Id, WIN_FILLTYPES.GLASS)
--
-- -- aggiungo seconda anta
-- local nSash2Id = WinCreate.AddSash( nArea2Id, vSashJoints, WIN_SASHTYPES.ACTIVE_IN)
-- -- aggiungo vetro
-- local nFill2Id = WinCreate.AddFill( nSash2Id, WIN_FILLTYPES.GLASS)
--
-- -- aggiungo terza anta
-- local nSash3Id = WinCreate.AddSash( nArea3Id, vSashJoints, WIN_SASHTYPES.INACTIVE)
-- -- aggiungo vetro
-- local nFill3Id = WinCreate.AddFill( nSash3Id, WIN_FILLTYPES.GLASS)
------------------------ Finestra quattro ante battente / battente / ricevente / ricevente ------------------------
-- -- definisco divisioni
-- local nArea1Id, nAreaTmpId = WinCreate.AddSplit( nFrameId, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.ABSOLUT, WindowWidth / 4, _, WIN_SPLITTYPES.FRENCH)
-- local nArea2Id, nAreaTmp1Id = WinCreate.AddSplit( nAreaTmpId, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.ABSOLUT, WindowWidth / 4, _, WIN_SPLITTYPES.FRENCH)
-- local nArea3Id, nArea4Id = WinCreate.AddSplit( nAreaTmp1Id, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.ABSOLUT, WindowWidth / 4, _, WIN_SPLITTYPES.FRENCH)
--
-- -- aggiungo prima anta
-- local nSash1Id = WinCreate.AddSash( nArea1Id, vSashJoints, WIN_SASHTYPES.ACTIVE_OUT)
-- -- aggiungo vetro
-- local nFill1Id = WinCreate.AddFill( nSash1Id, WIN_FILLTYPES.GLASS)
--
-- -- aggiungo seconda anta
-- local nSash2Id = WinCreate.AddSash( nArea2Id, vSashJoints, WIN_SASHTYPES.ACTIVE_IN)
-- -- aggiungo vetro
-- local nFill2Id = WinCreate.AddFill( nSash2Id, WIN_FILLTYPES.GLASS)
--
-- -- aggiungo terza anta
-- local nSash3Id = WinCreate.AddSash( nArea3Id, vSashJoints, WIN_SASHTYPES.INACTIVE_IN)
-- -- aggiungo vetro
-- local nFill3Id = WinCreate.AddFill( nSash3Id, WIN_FILLTYPES.GLASS)
--
-- -- aggiungo quarta anta
-- local nSash4Id = WinCreate.AddSash( nArea4Id, vSashJoints, WIN_SASHTYPES.INACTIVE_OUT)
-- -- aggiungo vetro
-- local nFill4Id = WinCreate.AddFill( nSash4Id, WIN_FILLTYPES.GLASS)
------------------------ Finestra sei ante con montanti verticali e orizzontale ------------------------
-- -- definisco divisione orizzontale
-- local nArea1Id, nArea2Id = WinCreate.AddSplit( nFrameId, WIN_SPLITORIENTATION.HORIZONTAL, WIN_MEASURE.ABSOLUT, WindowHeight / 2)
-- -- definisco divisioni verticali
-- local nArea11Id, nArea0Id = WinCreate.AddSplit( nArea1Id, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.ABSOLUT, WindowWidth / 3)
-- local nArea12Id, nArea13Id = WinCreate.AddSplit( nArea0Id, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.ABSOLUT, WindowWidth / 3)
-- local nArea21Id, nArea00Id = WinCreate.AddSplit( nArea2Id, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.ABSOLUT, WindowWidth / 3)
-- local nArea22Id, nArea23Id = WinCreate.AddSplit( nArea00Id, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.ABSOLUT, WindowWidth / 3)
--
-- -- aggiungo prima anta
-- local nSash1Id = WinCreate.AddSash( nArea11Id, vSashJoints)
-- -- aggiungo vetro
-- local nFill1Id = WinCreate.AddFill( nSash1Id, WIN_FILLTYPES.GLASS)
--
-- -- aggiungo seconda anta
-- local nSash2Id = WinCreate.AddSash( nArea12Id, vSashJoints)
-- -- aggiungo vetro
-- local nFill2Id = WinCreate.AddFill( nSash2Id, WIN_FILLTYPES.GLASS)
--
-- -- aggiungo terza anta
-- local nSash3Id = WinCreate.AddSash( nArea13Id, vSashJoints)
-- -- aggiungo vetro
-- local nFill3Id = WinCreate.AddFill( nSash3Id, WIN_FILLTYPES.GLASS)
--
-- -- aggiungo quarta anta
-- local nSash4Id = WinCreate.AddSash( nArea21Id, vSashJoints)
-- -- aggiungo vetro
-- local nFill4Id = WinCreate.AddFill( nSash4Id, WIN_FILLTYPES.GLASS)
--
-- -- aggiungo quinta anta
-- local nSash5Id = WinCreate.AddSash( nArea22Id, vSashJoints)
-- -- aggiungo vetro
-- local nFill5Id = WinCreate.AddFill( nSash5Id, WIN_FILLTYPES.GLASS)
--
-- -- aggiungo sesta anta
-- local nSash6Id = WinCreate.AddSash( nArea23Id, vSashJoints)
-- -- aggiungo vetro
-- local nFill6Id = WinCreate.AddFill( nSash6Id, WIN_FILLTYPES.GLASS)
------------------------ Finestra sei ante con montante verticale e orizzontale ed ante battente ricevente ------------------------
-- -- definisco divisione orizzontale
-- local nArea1Id, nArea2Id = WinCreate.AddSplit( nFrameId, WIN_SPLITORIENTATION.HORIZONTAL, WIN_MEASURE.ABSOLUT, WindowHeight / 2)
-- -- definisco divisioni verticali
-- local nArea11Id, nArea0Id = WinCreate.AddSplit( nArea1Id, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.ABSOLUT, WindowWidth / 3)
-- local nArea12Id, nArea13Id = WinCreate.AddSplit( nArea0Id, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.ABSOLUT, WindowWidth / 3, _, WIN_SPLITTYPES.FRENCH)
-- local nArea21Id, nArea00Id = WinCreate.AddSplit( nArea2Id, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.ABSOLUT, WindowWidth / 3)
-- local nArea22Id, nArea23Id = WinCreate.AddSplit( nArea00Id, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.ABSOLUT, WindowWidth / 3, _, WIN_SPLITTYPES.FRENCH)
--
-- -- aggiungo prima anta
-- local nSash1Id = WinCreate.AddSash( nArea11Id, vSashJoints)
-- -- aggiungo vetro
-- local nFill1Id = WinCreate.AddFill( nSash1Id, WIN_FILLTYPES.GLASS)
--
-- -- aggiungo seconda anta
-- local nSash2Id = WinCreate.AddSash( nArea12Id, vSashJoints, WIN_SASHTYPES.INACTIVE)
-- -- aggiungo vetro
-- local nFill2Id = WinCreate.AddFill( nSash2Id, WIN_FILLTYPES.GLASS)
--
-- -- aggiungo terza anta
-- local nSash3Id = WinCreate.AddSash( nArea13Id, vSashJoints, WIN_SASHTYPES.ACTIVE)
-- -- aggiungo vetro
-- local nFill3Id = WinCreate.AddFill( nSash3Id, WIN_FILLTYPES.GLASS)
--
-- -- aggiungo quarta anta
-- local nSash4Id = WinCreate.AddSash( nArea21Id, vSashJoints)
-- -- aggiungo vetro
-- local nFill4Id = WinCreate.AddFill( nSash4Id, WIN_FILLTYPES.GLASS)
--
-- -- aggiungo quinta anta
-- local nSash5Id = WinCreate.AddSash( nArea22Id, vSashJoints, WIN_SASHTYPES.INACTIVE)
-- -- aggiungo vetro
-- local nFill5Id = WinCreate.AddFill( nSash5Id, WIN_FILLTYPES.GLASS)
--
-- -- aggiungo sesta anta
-- local nSash6Id = WinCreate.AddSash( nArea23Id, vSashJoints, WIN_SASHTYPES.ACTIVE)
-- -- aggiungo vetro
-- local nFill6Id = WinCreate.AddFill( nSash6Id, WIN_FILLTYPES.GLASS)
------------------------ Finestra tre ante con montante verticale, ante battente ricevente e split di tutte le ante ------------------------
-- -- definisco prima divisione
-- local nArea1Id, nArea0Id = WinCreate.AddSplit( nFrameId, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.ABSOLUT, WindowWidth / 3)
-- -- definisco seconda divisione
-- local nArea2Id, nArea3Id = WinCreate.AddSplit( nArea0Id, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.ABSOLUT, WindowWidth / 3, _, WIN_SPLITTYPES.FRENCH)
--
-- -- aggiungo prima anta
-- local nSash1Id = WinCreate.AddSash( nArea1Id, vSashJoints)
-- -- definisco divisione
-- local nArea11Id, nArea12Id = WinCreate.AddSplit( nSash1Id, WIN_SPLITORIENTATION.HORIZONTAL, WIN_MEASURE.ABSOLUT, WindowHeight * 2 / 5)
-- -- aggiungo vetri
-- local nFill11Id = WinCreate.AddFill( nArea11Id, WIN_FILLTYPES.GLASS)
-- local nFill12Id = WinCreate.AddFill( nArea12Id, WIN_FILLTYPES.GLASS)
--
-- -- aggiungo seconda anta
-- local nSash2Id = WinCreate.AddSash( nArea2Id, vSashJoints, WIN_SASHTYPES.INACTIVE)
-- -- definisco divisione
-- local nArea21Id, nArea22Id = WinCreate.AddSplit( nSash2Id, WIN_SPLITORIENTATION.HORIZONTAL, WIN_MEASURE.ABSOLUT, WindowHeight * 2 / 5)
-- -- aggiungo vetri
-- local nFill21Id = WinCreate.AddFill( nArea21Id, WIN_FILLTYPES.GLASS)
-- local nFill22Id = WinCreate.AddFill( nArea22Id, WIN_FILLTYPES.GLASS)
--
-- -- aggiungo terza anta
-- local nSash3Id = WinCreate.AddSash( nArea3Id, vSashJoints, WIN_SASHTYPES.ACTIVE)
-- -- definisco divisione
-- local nArea31Id, nArea32Id = WinCreate.AddSplit( nSash3Id, WIN_SPLITORIENTATION.HORIZONTAL, WIN_MEASURE.ABSOLUT, WindowHeight * 2 / 5)
-- -- aggiungo vetri
-- local nFill31Id = WinCreate.AddFill( nArea31Id, WIN_FILLTYPES.GLASS)
-- local nFill32Id = WinCreate.AddFill( nArea32Id, WIN_FILLTYPES.GLASS)
------------------------ Finestra tre ante con montante orizzontale e verticale, ante battente ricevente e split di tutte le ante ------------------------
-- -- definisco prima divisione
-- local nArea1Id, nArea0Id = WinCreate.AddSplit( nFrameId, WIN_SPLITORIENTATION.HORIZONTAL, WIN_MEASURE.ABSOLUT, 2 * WindowHeight / 3)
-- local nArea2Id, nArea00Id = WinCreate.AddSplit( nArea1Id, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.ABSOLUT, WindowWidth / 3)
-- local nArea3Id, nArea4Id = WinCreate.AddSplit( nArea00Id, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.ABSOLUT, WindowWidth / 3, _, WIN_SPLITTYPES.FRENCH)
--
-- -- aggiungo anta sopra
-- local nSash0Id = WinCreate.AddSash( nArea0Id, vSashJoints)
-- -- aggiungo vetri
-- local nFill0Id = WinCreate.AddFill( nSash0Id, WIN_FILLTYPES.GLASS)
--
-- -- aggiungo prima anta
-- local nSash1Id = WinCreate.AddSash( nArea2Id, vSashJoints)
-- -- definisco divisione
-- local nArea11Id, nArea12Id = WinCreate.AddSplit( nSash1Id, WIN_SPLITORIENTATION.HORIZONTAL, WIN_MEASURE.ABSOLUT, WindowHeight * 2 / 5)
-- -- aggiungo vetri
-- local nFill11Id = WinCreate.AddFill( nArea11Id, WIN_FILLTYPES.GLASS)
-- local nFill12Id = WinCreate.AddFill( nArea12Id, WIN_FILLTYPES.GLASS)
--
-- -- aggiungo seconda anta
-- local nSash2Id = WinCreate.AddSash( nArea3Id, vSashJoints, WIN_SASHTYPES.INACTIVE)
-- -- definisco divisione
-- local nArea21Id, nArea22Id = WinCreate.AddSplit( nSash2Id, WIN_SPLITORIENTATION.HORIZONTAL, WIN_MEASURE.ABSOLUT, WindowHeight * 2 / 5)
-- -- aggiungo vetri
-- local nFill21Id = WinCreate.AddFill( nArea21Id, WIN_FILLTYPES.GLASS)
-- local nFill22Id = WinCreate.AddFill( nArea22Id, WIN_FILLTYPES.GLASS)
--
-- -- aggiungo terza anta
-- local nSash3Id = WinCreate.AddSash( nArea4Id, vSashJoints, WIN_SASHTYPES.ACTIVE)
-- -- definisco divisione
-- local nArea31Id, nArea32Id = WinCreate.AddSplit( nSash3Id, WIN_SPLITORIENTATION.HORIZONTAL, WIN_MEASURE.ABSOLUT, WindowHeight * 2 / 5)
-- -- aggiungo vetri
-- local nFill31Id = WinCreate.AddFill( nArea31Id, WIN_FILLTYPES.GLASS)
-- local nFill32Id = WinCreate.AddFill( nArea32Id, WIN_FILLTYPES.GLASS)
-----------------------------------------------------------------------------------
-- aggiungo ferramenta
-- WinCreate.AddHardware( nFrameId, '000545')
-- imposto se calcolare i solidi o meno
-- WinCalculate.SetCalcSolid( true)
-- creo i pezzi
-- WinCalculate.CreatePartFromArea( nFrameId)
-- WinCalculate.AddHardware( nFrameId)
-- tronchetti
-- local nLogsNbr = 4 -- 0 per numero minimo
-- local vSections = { 100, 150, 80, 130, 120, 180}
-- local bAlign = false
-- local dOverMatOut = 10
-- local dOverMatIn = 7
-- local dOverMatExt = 5
-- local dOverMatInt = 3
-- local bCutExtremities = true
-- -- cero i pezzi top ad arco
-- local vTops = EgtGetNameInGroup( 0, WIN_TOP)
-- for i = 1, #vTops do
-- local nOutline = EgtGetInfo( vTops[i], WIN_REF_OUTLINE, 'i')
-- 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( vTops[i], nLogsNbr, vSections, bAlign, dOverMatOut, dOverMatIn, dOverMatExt, dOverMatInt, bCutExtremities)
-- end
-- end
-- preparo per automatismo lavorazioni
-- WinCalculate.PrepareProject()
-- -- creo tabella per salvataggio
-- local sSaveFilePath = 'c:\\Temp\\WindowTest1.txt'
-- local WinTable = WinManageProject.WriteToFile( nFrameId, sSaveFilePath)
-- assemblo i pezzi
--WinLib.AssembleFrame()
EgtZoom( SCE_ZM.ALL)
-- riporto tempi di esecuzione
local sOut = string.format( ' ExecTime = %.2f ms', EgtStopCounter())
EgtOutLog( sOut)