- gestita creazione solo telaio

- gestiti nuovi casi di giunzione con spine degli split
- nascosto gruppo delle aree
- gestita funzione di creazione multisplit con aggiunta definizione posizione in percentuale
- elimino profile su apertura file da BatchTest
This commit is contained in:
Emmanuele Sassi
2024-01-25 10:35:11 +01:00
parent e169bac90f
commit 4c976f87cc
8 changed files with 188 additions and 75 deletions
+36 -7
View File
@@ -122,12 +122,12 @@ local nFrameId = WinCreate.CreateFrame( WindowWidth, WindowHeight, FrameJointTyp
-- ------------------------ Finestra anta singola ------------------------
-- aggiungo anta
local SashJointType = WIN_JNT.FULL_V
local nSashId = WinCreate.AddSash( nFrameId, SashJointType, SashJointType, SashJointType, SashJointType)
-- aggiungo vetro
local nFillId = WinCreate.AddFill( nSashId, WIN_FILLTYPES.GLASS)
---- aggiungo anta
--local SashJointType = WIN_JNT.FULL_V
--local nSashId = WinCreate.AddSash( nFrameId, SashJointType, SashJointType, SashJointType, SashJointType)
--
---- aggiungo vetro
--local nFillId = WinCreate.AddFill( nSashId, WIN_FILLTYPES.GLASS)
------------------------ Finestra anta singola con divisione orizzontale ------------------------
@@ -275,6 +275,35 @@ local nFillId = WinCreate.AddFill( nSashId, WIN_FILLTYPES.GLASS)
-- -- aggiungo vetro
-- local nFill3Id = WinCreate.AddFill( nSash3Id, WIN_FILLTYPES.GLASS)
------------------------ Finestra tripla anta con montanti verticali(2) ------------------------
-- definisco prima divisione
--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}, 3)
local nAreaList = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.PERCENTAGE, { 0.33})
-- definisco seconda divisione
--local nArea2Id, nArea3Id = WinCreate.AddSplit( nArea2Id, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.ABSOLUT, WindowWidth / 3)
---- aggiungo prima anta
--local SashJointType = WIN_JNT.FULL_V
--local nSash1Id = WinCreate.AddSash( nAreaList[1], SashJointType, SashJointType, SashJointType, SashJointType)
--
---- aggiungo vetro
--local nFill1Id = WinCreate.AddFill( nSash1Id, WIN_FILLTYPES.GLASS)
--
---- aggiungo seconda anta
--local nSash2Id = WinCreate.AddSash( nAreaList[2], SashJointType, SashJointType, SashJointType, SashJointType)
--
---- aggiungo vetro
--local nFill2Id = WinCreate.AddFill( nSash2Id, WIN_FILLTYPES.GLASS)
--
---- aggiungo terza anta
--local nSash3Id = WinCreate.AddSash( nAreaList[3], SashJointType, SashJointType, SashJointType, SashJointType)
--
---- aggiungo vetro
--local nFill3Id = WinCreate.AddFill( nSash3Id, WIN_FILLTYPES.GLASS)
------------------------ Finestra tripla anta con montante verticale e ante battente e ricevente ------------------------
-- -- definisco prima divisione
@@ -620,7 +649,7 @@ local nFillId = WinCreate.AddFill( nSashId, WIN_FILLTYPES.GLASS)
-- WinLib.CreatePartFromOutline( nFrameLayerId, nCurrOutlineId)
-- imposto se calcolare i solidi o meno
WinCalculate.SetCalcSolid( true)
WinCalculate.SetCalcSolid( false)
-- -- creo i pezzi
WinCalculate.CreatePartFromArea( nFrameId)
Binary file not shown.
Binary file not shown.
+13
View File
@@ -55,6 +55,7 @@ WIN_SPLITORIENTATION = {
WIN_MEASURE = {
ABSOLUT = 1,
PROPORTIONAL = 2,
PERCENTAGE = 3,
}
-- tipo di Area
@@ -218,6 +219,18 @@ WIN_DWL_RAILBOTTOMPARASTART = 'RailBottomParaStart'
WIN_DWL_RAILBOTTOMPARAEND = 'RailBottomParaEnd'
WIN_DWL_SPLITPERPSTART = 'SplitPerpStart'
WIN_DWL_SPLITPERPEND = 'SplitPerpEnd'
WIN_DWL_SPLITPARASTART = 'SplitParaStart'
WIN_DWL_SPLITPARAEND = 'SplitParaEnd'
WIN_DWL_VERTICALSPLITPARASTART = 'VerticalSplitParaStart'
WIN_DWL_VERTICALSPLITPARAEND = 'VerticalSplitParaEnd'
WIN_DWL_VERTICALSPLITPERPSTART = 'VerticalSplitPerpStart'
WIN_DWL_VERTICALSPLITPERPEND = 'VerticalSplitPerpEnd'
WIN_DWL_HORIZONTALSPLITPARASTART = 'HorizontalSplitParaStart'
WIN_DWL_HORIZONTALSPLITPARAEND = 'HorizontalSplitParaEnd'
WIN_DWL_BOTTOMHORIZONTALSPLITPARASTART = 'BottomHorizontalSplitParaStart'
WIN_DWL_BOTTOMHORIZONTALSPLITPARAEND = 'BottomHorizontalSplitParaEnd'
WIN_DWL_HORIZONTALSPLITPERPSTART = 'HorizontalSplitPerpStart'
WIN_DWL_HORIZONTALSPLITPERPEND = 'HorizontalSplitPerpEnd'
---------------------------------------------------------------------
return WinConst
+53 -23
View File
@@ -92,7 +92,7 @@ function WinCalculate.CreatePartFromArea( nAreaId)
end
end
elseif nAreaType ~= WIN_AREATYPES.FILL then
if WinCalculate.GetCalcSolid() then
if WinCalculate.GetCalcSolid() then
-- verifico se c'e' un'area Sash prima di questa
local nParentAreaId = nAreaId
local nParentAreaType = EgtGetInfo( nParentAreaId, WIN_AREATYPE, "i")
@@ -134,6 +134,10 @@ function WinCalculate.CreatePartFromArea( nAreaId)
end
function WinCalculate.AddSplitDowelToParts( nAreaId)
-- se non ho calcolato i solidi, esco
if not bCalcSolid then
return
end
-- recupero tipo di area
local nAreaType = EgtGetInfo( nAreaId, WIN_AREATYPE, 'i')
if nAreaType == WIN_AREATYPES.FRAME or nAreaType == WIN_AREATYPES.SASH then
@@ -725,22 +729,25 @@ function WinCalculate.CalcProfileType( nAreaId)
-- ciclo fino a trovare un child che non sia uno split
repeat
nChildId = EgtGetInfo( nChildId, WIN_CHILD)
nChildAreaId = EgtGetParent( EgtGetParent( nChildId))
nChildType = EgtGetInfo( nChildAreaId, WIN_AREATYPE, 'i')
if nChildId then
nChildAreaId = EgtGetParent( EgtGetParent( nChildId))
nChildType = EgtGetInfo( nChildAreaId, WIN_AREATYPE, 'i')
end
until not nChildId or ( nChildType ~= WIN_AREATYPES.SPLIT and nChildType ~= WIN_AREATYPES.NULL)
local sName = EgtGetName( nOutlineId)
if nChildType == WIN_AREATYPES.SASH then
if sName == WIN_BOTTOM then
EgtSetInfo( nOutlineId, WIN_PROFILETYPE, WIN_SASH_BOTTOM)
else
EgtSetInfo( nOutlineId, WIN_PROFILETYPE, WIN_SASH_TOP)
end
elseif nChildType == WIN_AREATYPES.FILL then
-- se vetro fisso o interno non definito
if not nChildId or nChildType == WIN_AREATYPES.FILL then
if sName == WIN_BOTTOM then
EgtSetInfo( nOutlineId, WIN_PROFILETYPE, WIN_FIXED_BOTTOM)
else
EgtSetInfo( nOutlineId, WIN_PROFILETYPE, WIN_FIXED_TOP)
end
elseif nChildType == WIN_AREATYPES.SASH then
if sName == WIN_BOTTOM then
EgtSetInfo( nOutlineId, WIN_PROFILETYPE, WIN_SASH_BOTTOM)
else
EgtSetInfo( nOutlineId, WIN_PROFILETYPE, WIN_SASH_TOP)
end
end
nOutlineId = EgtGetNext( nOutlineId)
end
@@ -1719,13 +1726,23 @@ function WinCalculate.MakeSolidByExtrusion(nGeoId, nOutlineId, nMainProfileId, n
end
if sOutlineName == WIN_SPLIT then
local sStartType = EgtGetInfo( nStartProfileId, WIN_PRF_TYPE)
if ( sStartType and sStartType == WIN_RAIL_BOTTOM) or sPrevOutlineName == WIN_SPLIT then
if ( sStartType and sStartType == WIN_RAIL_BOTTOM) then
sStart = WIN_DWL_RAILBOTTOMPARASTART
sEnd = WIN_DWL_RAILBOTTOMPARAEND
elseif sPrevOutlineName == WIN_SPLIT then
local sPrevProfileType = EgtGetInfo( nPrevOutlineId, WIN_PROFILETYPE)
if sPrevProfileType == WIN_SASH_HORIZONTAL then
sStart = WIN_DWL_HORIZONTALSPLITPARASTART
sEnd = WIN_DWL_HORIZONTALSPLITPARAEND
elseif sPrevProfileType == WIN_SASH_VERTICAL then
sStart = WIN_DWL_VERTICALSPLITPARASTART
sEnd = WIN_DWL_VERTICALSPLITPARAEND
else -- sProfileType == WIN_FRAME_SPLIT
sStart = WIN_DWL_SPLITPARASTART
sEnd = WIN_DWL_SPLITPARAEND
end
end
end
--local sStart = EgtIf( sOutlineName == WIN_BOTTOM or sPrevOutlineName == WIN_BOTTOM or sOutlineName == WIN_BOTTOMRAIL, WIN_DWL_BOTTOMPARASTART, WIN_DWL_TOPPARASTART)
--local sEnd = EgtIf( sOutlineName == WIN_BOTTOM or sPrevOutlineName == WIN_BOTTOM or sOutlineName == WIN_BOTTOMRAIL, WIN_DWL_BOTTOMPARAEND, WIN_DWL_TOPPARAEND)
-- ciclo sui fori trovati
local nOrigDowelId = EgtGetFirstNameInGroup( nMainProfileId, WIN_DOWEL .. '*')
while nOrigDowelId do
@@ -1878,9 +1895,20 @@ function WinCalculate.MakeSolidByExtrusion(nGeoId, nOutlineId, nMainProfileId, n
end
if sOutlineName == WIN_SPLIT then
local sEndType = EgtGetInfo( nEndProfileId, WIN_PRF_TYPE)
if ( sEndType and sEndType == WIN_RAIL_BOTTOM) or sEndOutlineName == WIN_SPLIT then
if ( sEndType and sEndType == WIN_RAIL_BOTTOM) then
sStart = WIN_DWL_RAILBOTTOMPARASTART
sEnd = WIN_DWL_RAILBOTTOMPARAEND
elseif sEndOutlineName == WIN_SPLIT then
local sEndProfileType = EgtGetInfo( nEndOutlineId, WIN_PROFILETYPE)
if sEndProfileType == WIN_SASH_HORIZONTAL then
-- non faccio nulla perche' e' uguale al top
elseif sEndProfileType == WIN_SASH_VERTICAL then
sStart = WIN_DWL_VERTICALSPLITPARASTART
sEnd = WIN_DWL_VERTICALSPLITPARAEND
else -- sProfileType == WIN_FRAME_SPLIT
sStart = WIN_DWL_SPLITPARASTART
sEnd = WIN_DWL_SPLITPARAEND
end
end
end
-- ciclo sui fori trovati
@@ -1961,13 +1989,6 @@ function CalSplitDowel( nSplitLayerId, nOutlineId, nProfileFrameLayerId, nFrameP
vtDir = - vtDir
end
EgtChangeGroupFrame( nSplitProfileId, Frame3d( ptIntersIn, vtDir))
-- e lo porto nel sistema di riferimento corretto
-- recupero profondita' start e end dei dowel
-- ne disegno la superficie
-- recupero solido del pezzo
local nSolidLayerId = EgtGetFirstNameInGroup( nPartId, WIN_SOLID)
local nMainExtrusionId = EgtGetFirstNameInGroup( nSolidLayerId, WIN_SRF_MAIN)
@@ -1984,8 +2005,17 @@ function CalSplitDowel( nSplitLayerId, nOutlineId, nProfileFrameLayerId, nFrameP
sStart = WIN_DWL_RAILBOTTOMPERPSTART
sEnd = WIN_DWL_RAILBOTTOMPERPEND
elseif nProfileType == WIN_PRF.SPLIT then
sStart = WIN_DWL_SPLITPERPSTART
sEnd = WIN_DWL_SPLITPERPEND
local sProfileType = EgtGetInfo( nOutlineId, WIN_PROFILETYPE)
if sProfileType == WIN_SASH_HORIZONTAL then
sStart = WIN_DWL_HORIZONTALSPLITPERPSTART
sEnd = WIN_DWL_HORIZONTALSPLITPERPEND
elseif sProfileType == WIN_SASH_VERTICAL then
sStart = WIN_DWL_VERTICALSPLITPERPSTART
sEnd = WIN_DWL_VERTICALSPLITPERPEND
else -- sProfileType == WIN_FRAME_SPLIT
sStart = WIN_DWL_SPLITPERPSTART
sEnd = WIN_DWL_SPLITPERPEND
end
end
-- ciclo sui fori trovati
local nOrigDowelId = EgtGetFirstNameInGroup( nSplitProfileId, WIN_DOWEL .. '*')
+35 -2
View File
@@ -57,6 +57,7 @@ end
function WinCreate.CreateFrame( dWidth, dHeight, nJointBL, nJointBR, nJointTR, nJointTL)
-- creo gruppo per telaio
local nFrameAreaId = EgtGroup( GDB_ID.ROOT)
EgtSetStatus( nFrameAreaId, GDB_ST.OFF)
EgtSetName( nFrameAreaId, WIN_AREA .. '(' .. WIN_FRAME .. ')')
-- imposto il tipo
EgtSetInfo( nFrameAreaId, WIN_AREATYPE, WIN_AREATYPES.FRAME)
@@ -201,6 +202,8 @@ function WinCreate.AddSplit( nAreaLayerId, SplitType, MeasureType, nPosition, n
nCalcPosition = nPosition
elseif MeasureType == WIN_MEASURE.PROPORTIONAL then
nCalcPosition = b3OutlineLayer:getDimX() / nProportion * nPosition
elseif MeasureType == WIN_MEASURE.PERCENTAGE then
nCalcPosition = b3OutlineLayer:getDimX() * nPosition
end
nTotSplitId = EgtLine( nTempSplitLayerId, b3OutlineLayer:getMin() + X_AX() * nCalcPosition, b3OutlineLayer:getMin() + X_AX() * nCalcPosition + Y_AX() * b3OutlineLayer:getDimY())
elseif SplitType == WIN_SPLITORIENTATION.HORIZONTAL then
@@ -210,6 +213,8 @@ function WinCreate.AddSplit( nAreaLayerId, SplitType, MeasureType, nPosition, n
nCalcPosition = nPosition
elseif MeasureType == WIN_MEASURE.PROPORTIONAL then
nCalcPosition = b3OutlineLayer:getDimY() / nProportion * nPosition
elseif MeasureType == WIN_MEASURE.PERCENTAGE then
nCalcPosition = b3OutlineLayer:getDimY() * nPosition
end
nTotSplitId = EgtLine( nTempSplitLayerId, b3OutlineLayer:getMin() + Y_AX() * nCalcPosition, b3OutlineLayer:getMin() + Y_AX() * nCalcPosition + X_AX() * b3OutlineLayer:getDimX())
end
@@ -221,15 +226,43 @@ end
-- funzione che crea tagli split multipli
function WinCreate.AddSplits( nAreaLayerId, SplitType, MeasureType, PositionList, nProportion)
local AreaList = {}
if MeasureType == WIN_MEASURE.ABSOLUT then
local nResArea1
local nResArea2 = nAreaLayerId
for nIndex = 1, #PositionList do
WinCreate.AddSplit( nAreaLayerId, SplitType, MeasureType, PositionList[nIndex], nProportion)
nResArea1, nResArea2 = WinCreate.AddSplit( nResArea2, SplitType, MeasureType, PositionList[nIndex], nProportion)
table.insert( AreaList, nResArea1)
if nIndex == #PositionList then
table.insert( AreaList, nResArea2)
end
end
elseif MeasureType == WIN_MEASURE.PROPORTIONAL then
local nResArea1
local nResArea2 = nAreaLayerId
local dAddPosition = 0
for nIndex = 1, #PositionList do
WinCreate.AddSplit( nAreaLayerId, SplitType, MeasureType, PositionList[nIndex], nProportion)
nResArea1, nResArea2 = WinCreate.AddSplit( nResArea2, SplitType, MeasureType, PositionList[nIndex], nProportion - dAddPosition)
table.insert( AreaList, nResArea1)
if nIndex == #PositionList then
table.insert( AreaList, nResArea2)
end
dAddPosition = dAddPosition + PositionList[nIndex]
end
elseif MeasureType == WIN_MEASURE.PERCENTAGE then
local nResArea1
local nResArea2 = nAreaLayerId
local dAddPosition = 0
for nIndex = 1, #PositionList do
nResArea1, nResArea2 = WinCreate.AddSplit( nResArea2, SplitType, MeasureType, EgtIf( nIndex == 1, PositionList[nIndex], PositionList[nIndex] / ( 1 - dAddPosition)), nProportion)
table.insert( AreaList, nResArea1)
if nIndex == #PositionList then
table.insert( AreaList, nResArea2)
end
dAddPosition = dAddPosition + PositionList[nIndex]
end
end
return AreaList
end
-- funzione che crea un taglio split da una curva generica
+9 -1
View File
@@ -16,7 +16,7 @@
require( 'EgtBase')
_ENV = EgtProtectGlobal()
EgtEnableDebug( true)
-- EgtEnableDebug( false)
--EgtEnableDebug( false)
-- Imposto direttorio per librerie
local sBaseDir = EgtGetSourceDir()
@@ -71,6 +71,14 @@ local nFrameId = EgtGetFirstNameInGroup( GDB_ID.ROOT, WIN_AREAASTERISK)
WinCalculate.CreatePartFromArea( nFrameId)
WinCalculate.AddSplitDowelToParts( nFrameId)
-- elimino profilo se in batch per test
if WINDOW and WINDOW.TEST and WINDOW.TEST == 1 then
local nProfileGroupId = EgtGetFirstNameInGroup( GDB_ID.ROOT, WIN_PROFILE)
if nProfileGroupId and nProfileGroupId ~= GDB_ID.NULL then
EgtErase( nProfileGroupId)
end
end
EgtZoom( SCE_ZM.ALL)
-- riporto tempi di esecuzione
+42 -42
View File
@@ -365,51 +365,51 @@ local nFrameId = WinCreate.CreateFrame( WindowWidth, WindowHeight, FrameJointTyp
------------------------ Finestra sei ante con montanti verticali e orizzontale ------------------------
-- sFileName = sFileName .. 'SixSash_Vertical&HorizontalMullion'
-- -- definisco divisione orizzontale
-- local nArea1Id, nArea2Id = WinCreate.AddSplit( nFrameId, WIN_SPLITORIENTATION.HORIZONTAL, WIN_MEASURE.ABSOLUT, WindowHeight / 2)
-- -- definisco divisioni verticali
-- local nArea11Id, nArea12Id = WinCreate.AddSplit( nArea1Id, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.ABSOLUT, WindowWidth / 3)
-- local nArea12Id, nArea13Id = WinCreate.AddSplit( nArea12Id, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.ABSOLUT, WindowWidth / 3)
-- local nArea21Id, nArea23Id = WinCreate.AddSplit( nArea2Id, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.ABSOLUT, WindowWidth / 3)
-- local nArea21Id, nArea22Id = WinCreate.AddSplit( nArea21Id, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.ABSOLUT, WindowWidth / 3)
-- -- aggiungo prima anta
-- local SashJointType = WIN_JNT.FULL_V
-- local nSash1Id = WinCreate.AddSash( nArea11Id, SashJointType, SashJointType, SashJointType, SashJointType)
-- -- aggiungo vetro
-- local nFill1Id = WinCreate.AddFill( nSash1Id, WIN_FILLTYPES.GLASS)
-- -- aggiungo seconda anta
-- local nSash2Id = WinCreate.AddSash( nArea12Id, SashJointType, SashJointType, SashJointType, SashJointType)
-- -- aggiungo vetro
-- local nFill2Id = WinCreate.AddFill( nSash2Id, WIN_FILLTYPES.GLASS)
-- -- aggiungo terza anta
-- local nSash3Id = WinCreate.AddSash( nArea13Id, SashJointType, SashJointType, SashJointType, SashJointType)
-- -- aggiungo vetro
-- local nFill3Id = WinCreate.AddFill( nSash3Id, WIN_FILLTYPES.GLASS)
-- -- aggiungo quarta anta
-- local nSash4Id = WinCreate.AddSash( nArea21Id, SashJointType, SashJointType, SashJointType, SashJointType)
-- -- aggiungo vetro
-- local nFill4Id = WinCreate.AddFill( nSash4Id, WIN_FILLTYPES.GLASS)
-- -- aggiungo quinta anta
-- local nSash5Id = WinCreate.AddSash( nArea22Id, SashJointType, SashJointType, SashJointType, SashJointType)
-- -- aggiungo vetro
-- local nFill5Id = WinCreate.AddFill( nSash5Id, WIN_FILLTYPES.GLASS)
-- -- aggiungo sesta anta
-- local nSash6Id = WinCreate.AddSash( nArea23Id, SashJointType, SashJointType, SashJointType, SashJointType)
-- -- aggiungo vetro
-- local nFill6Id = WinCreate.AddFill( nSash6Id, WIN_FILLTYPES.GLASS)
--sFileName = sFileName .. 'SixSash_Horizontal&VerticalSplit_Mullion'
--
---- definisco divisione orizzontale
--local nArea1Id, nArea2Id = WinCreate.AddSplit( nFrameId, WIN_SPLITORIENTATION.HORIZONTAL, WIN_MEASURE.ABSOLUT, WindowHeight / 2)
--
---- definisco divisioni verticali
--local nArea11Id, nArea12Id = WinCreate.AddSplit( nArea1Id, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.ABSOLUT, WindowWidth / 3)
--local nArea12Id, nArea13Id = WinCreate.AddSplit( nArea12Id, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.ABSOLUT, WindowWidth / 3)
--local nArea21Id, nArea22Id = WinCreate.AddSplit( nArea2Id, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.ABSOLUT, WindowWidth / 3)
--local nArea22Id, nArea23Id = WinCreate.AddSplit( nArea22Id, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.ABSOLUT, WindowWidth / 3)
--
---- aggiungo prima anta
--local SashJointType = WIN_JNT.FULL_V
--local nSash1Id = WinCreate.AddSash( nArea11Id, SashJointType, SashJointType, SashJointType, SashJointType)
---- aggiungo vetro
--local nFill1Id = WinCreate.AddFill( nSash1Id, WIN_FILLTYPES.GLASS)
--
---- aggiungo seconda anta
--local nSash2Id = WinCreate.AddSash( nArea12Id, SashJointType, SashJointType, SashJointType, SashJointType)
---- aggiungo vetro
--local nFill2Id = WinCreate.AddFill( nSash2Id, WIN_FILLTYPES.GLASS)
--
---- aggiungo terza anta
--local nSash3Id = WinCreate.AddSash( nArea13Id, SashJointType, SashJointType, SashJointType, SashJointType)
---- aggiungo vetro
--local nFill3Id = WinCreate.AddFill( nSash3Id, WIN_FILLTYPES.GLASS)
--
---- aggiungo quarta anta
--local nSash4Id = WinCreate.AddSash( nArea21Id, SashJointType, SashJointType, SashJointType, SashJointType)
---- aggiungo vetro
--local nFill4Id = WinCreate.AddFill( nSash4Id, WIN_FILLTYPES.GLASS)
--
---- aggiungo quinta anta
--local nSash5Id = WinCreate.AddSash( nArea22Id, SashJointType, SashJointType, SashJointType, SashJointType)
---- aggiungo vetro
--local nFill5Id = WinCreate.AddFill( nSash5Id, WIN_FILLTYPES.GLASS)
--
---- aggiungo sesta anta
--local nSash6Id = WinCreate.AddSash( nArea23Id, SashJointType, SashJointType, SashJointType, SashJointType)
---- aggiungo vetro
--local nFill6Id = WinCreate.AddFill( nSash6Id, WIN_FILLTYPES.GLASS)
------------------------ Finestra sei ante con montanti verticale e orizzontali ------------------------
sFileName = sFileName .. 'SixSash_Vertical&HorizontalMullion2'
sFileName = sFileName .. 'SixSash_Vertical&HorizontalSplit_Mullion'
-- definisco divisioni verticali
local nArea1Id, nArea2Id = WinCreate.AddSplit( nFrameId, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.ABSOLUT, WindowWidth / 3)