diff --git a/Profiles/Main.lua b/Profiles/Main.lua index e18f81d..242b897 100644 --- a/Profiles/Main.lua +++ b/Profiles/Main.lua @@ -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) diff --git a/Profiles/Profilo78 - Offset - Copy (42).nge b/Profiles/Profilo78 - Offset - Copy (42).nge new file mode 100644 index 0000000..3f71d8f Binary files /dev/null and b/Profiles/Profilo78 - Offset - Copy (42).nge differ diff --git a/Profiles/Profilo78 - Offset.nge b/Profiles/Profilo78 - Offset.nge index a5ac450..3f71d8f 100644 Binary files a/Profiles/Profilo78 - Offset.nge and b/Profiles/Profilo78 - Offset.nge differ diff --git a/Profiles/WinConst.lua b/Profiles/WinConst.lua index a14faac..56d70cb 100644 --- a/Profiles/WinConst.lua +++ b/Profiles/WinConst.lua @@ -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 diff --git a/Profiles/WinLib/WinCalculate.lua b/Profiles/WinLib/WinCalculate.lua index f78bdab..e0bb4e8 100644 --- a/Profiles/WinLib/WinCalculate.lua +++ b/Profiles/WinLib/WinCalculate.lua @@ -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 .. '*') diff --git a/Profiles/WinLib/WinCreate.lua b/Profiles/WinLib/WinCreate.lua index e577a1e..d805335 100644 --- a/Profiles/WinLib/WinCreate.lua +++ b/Profiles/WinLib/WinCreate.lua @@ -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 diff --git a/Profiles/WinOpenProjectFile.lua b/Profiles/WinOpenProjectFile.lua index e638f45..9519825 100644 --- a/Profiles/WinOpenProjectFile.lua +++ b/Profiles/WinOpenProjectFile.lua @@ -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 diff --git a/Profiles/WinSaveProjectFile.lua b/Profiles/WinSaveProjectFile.lua index c84ff94..61afdf9 100644 --- a/Profiles/WinSaveProjectFile.lua +++ b/Profiles/WinSaveProjectFile.lua @@ -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)