diff --git a/.vscode/settings.json b/.vscode/settings.json index 867c9bd..9c290f3 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -97,7 +97,12 @@ "EgtUV", "EgtCopyGlob", "EgtCP", - "Vector3d" + "Vector3d", + "EgtExistsFile", + "EgtOutLog", + "EgtOutText", + "EgtPause", + "EgtRelocate" ], "Lua.diagnostics.disable": [ "empty-block" diff --git a/Profiles/Main.lua b/Profiles/Main.lua index 84c9afb..e18f81d 100644 --- a/Profiles/Main.lua +++ b/Profiles/Main.lua @@ -44,7 +44,7 @@ local WindowHeight = 1500 local WindowTree -local sProfilePath = 'c:\\EgtData\\Window\\Profiles\\Profilo78 - Offset.nge' +local sProfilePath = 'c:\\EgtData\\EgwWindowLua\\Profiles\\Profilo78 - Offset.nge' ------------------------------------------- ************** ------------------------------------------- diff --git a/Profiles/Profilo78 - Offset - Copy (35).nge b/Profiles/Profilo78 - Offset - Copy (35).nge new file mode 100644 index 0000000..aba1ec7 Binary files /dev/null and b/Profiles/Profilo78 - Offset - Copy (35).nge differ diff --git a/Profiles/Profilo78 - Offset - Copy (36).nge b/Profiles/Profilo78 - Offset - Copy (36).nge new file mode 100644 index 0000000..dcef89e Binary files /dev/null and b/Profiles/Profilo78 - Offset - Copy (36).nge differ diff --git a/Profiles/Profilo78 - Offset - Copy (37).nge b/Profiles/Profilo78 - Offset - Copy (37).nge new file mode 100644 index 0000000..a1b4cd2 Binary files /dev/null and b/Profiles/Profilo78 - Offset - Copy (37).nge differ diff --git a/Profiles/Profilo78 - Offset.nge b/Profiles/Profilo78 - Offset.nge index aba1ec7..e560455 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 69eb91e..cb36bc9 100644 --- a/Profiles/WinConst.lua +++ b/Profiles/WinConst.lua @@ -172,6 +172,7 @@ WIN_GEO_OUT = 'Out' WIN_GEO_LEFT = 'Left' WIN_GEO_RIGHT = 'Right' +WIN_PRF_TYPE = 'Type' WIN_PRF_MAIN = 'Main' WIN_PRF_START = 'Start' WIN_PRF_END = 'End' @@ -206,6 +207,10 @@ WIN_DWL_BOTTOMPERPSTART = 'BottomPerpStart' WIN_DWL_BOTTOMPERPEND = 'BottomPerpEnd' WIN_DWL_BOTTOMPARASTART = 'BottomParaStart' WIN_DWL_BOTTOMPARAEND = 'BottomParaEnd' +WIN_DWL_RAILBOTTOMPERPSTART = 'RailBottomPerpStart' +WIN_DWL_RAILBOTTOMPERPEND = 'RailBottomPerpEnd' +WIN_DWL_RAILBOTTOMPARASTART = 'RailBottomParaStart' +WIN_DWL_RAILBOTTOMPARAEND = 'RailBottomParaEnd' --------------------------------------------------------------------- return WinConst diff --git a/Profiles/WinLib/WinCalculate.lua b/Profiles/WinLib/WinCalculate.lua index b1df20e..0a8fb4f 100644 --- a/Profiles/WinLib/WinCalculate.lua +++ b/Profiles/WinLib/WinCalculate.lua @@ -825,7 +825,7 @@ function WinCalculate.GetDeltaProfile( nProfileFrameLayerId, sProfileType, sCtrI if sCtrIn then local nCPId = EgtGetFirstNameInGroup( nProfileId, sCtrIn) local b3CP = EgtGetBBoxRef( nCPId, GDB_BB.STANDARD, frSectionFrame) - if sCtrIn == WIN_CTRIN .. WIN_BOTTOM then + if sCtrIn == WIN_CTRIN .. 1 then dCPDelta = abs( b3CP:getMin():getX()) else dCPDelta = abs( b3CP:getMax():getX()) @@ -841,10 +841,18 @@ function WinCalculate.GetProfileType( nProfileType, nPrevOutlineId) local nOrigPrevSouId = nPrevOutlineId local nOrigPrevSouAreaId = EgtGetParent( EgtGetParent( nOrigPrevSouId)) local nOrigPrevSouType = EgtGetInfo( nOrigPrevSouAreaId, WIN_AREATYPE, 'i') + local nLastOrigPrevSouId = nOrigPrevSouId while nOrigPrevSouId and nOrigPrevSouType == WIN_AREATYPES.SPLIT do nOrigPrevSouId = EgtGetInfo( nOrigPrevSouId, WIN_SOU) - nOrigPrevSouAreaId = EgtGetParent( EgtGetParent( nOrigPrevSouId)) - nOrigPrevSouType = EgtGetInfo( nOrigPrevSouAreaId, WIN_AREATYPE, 'i') + -- se esiste un SOU, ne recupero l'area ed il tipo, altrimenti lascio nullo per uscire perche' sono arrivato allo split originale + if nOrigPrevSouId and nOrigPrevSouId ~= GDB_ID.NULL then + nLastOrigPrevSouId = nOrigPrevSouId + nOrigPrevSouAreaId = EgtGetParent( EgtGetParent( nOrigPrevSouId)) + nOrigPrevSouType = EgtGetInfo( nOrigPrevSouAreaId, WIN_AREATYPE, 'i') + end + end + if not nOrigPrevSouId then + nOrigPrevSouId = nLastOrigPrevSouId end -- se profilo bottom local sPrevName = EgtGetName( nOrigPrevSouId) @@ -1422,6 +1430,74 @@ function WinCalculate.CalcStartEndProfileType(nProfileType, nOutlineId, nStartPr return sStartProfileType, sEndProfileType, StartJointType, EndJointType end +-- funzione che recupera l'outline precedente e successivo +local function GetPrevNextOutline( nProfileType, nOutlineId, nOutlineLayerId) + local nPrevOutlineId + local nNextOutlineId + -- recupero outline precedente e successivo +if nProfileType == WIN_PRF.VERTICAL then + nPrevOutlineId = EgtGetInfo( nOutlineId, WIN_SPLIT_STARTINTERS, 'i') + nNextOutlineId = EgtGetInfo( nOutlineId, WIN_SPLIT_ENDINTERS, 'i') + elseif nProfileType == WIN_PRF.HORIZONTAL then + nPrevOutlineId = EgtGetInfo( nOutlineId, WIN_SPLIT_STARTINTERS, 'i') + nNextOutlineId = EgtGetInfo( nOutlineId, WIN_SPLIT_ENDINTERS, 'i') + elseif nProfileType == WIN_PRF.SPLIT then + local nStartId = EgtGetInfo( nOutlineId, WIN_SPLIT_STARTINTERS, 'i') + local nEndId = EgtGetInfo( nOutlineId, WIN_SPLIT_ENDINTERS, 'i') + local sStartName = EgtGetName( nStartId) + local sEndName = EgtGetName( nEndId) + nPrevOutlineId = EgtGetInfo( nOutlineId, WIN_SPLIT_STARTINTERS, 'i') + nNextOutlineId = EgtGetInfo( nOutlineId, WIN_SPLIT_ENDINTERS, 'i') + -- se di tipo split, cerco sou che non siano split + local nPrevSouId = nPrevOutlineId + local nPrevSouAreaId = EgtGetParent( EgtGetParent( nPrevSouId)) + local nPrevSouType = EgtGetInfo( nPrevSouAreaId, WIN_AREATYPE, 'i') + local nLastPrevSouId = nPrevSouId + while nPrevSouId and nPrevSouType == WIN_AREATYPES.SPLIT do + nPrevSouId = EgtGetInfo( nPrevSouId, WIN_SOU) + if nPrevSouId and nPrevSouId ~= GDB_ID.NULL then + nLastPrevSouId = nPrevSouId + nPrevSouAreaId = EgtGetParent( EgtGetParent( nPrevSouId)) + nPrevSouType = EgtGetInfo( nPrevSouAreaId, WIN_AREATYPE, 'i') + end + end + if not nPrevSouId then + nPrevSouId = nLastPrevSouId + end + nPrevOutlineId = nPrevSouId + local nNextSouId = nNextOutlineId + local nNextSouAreaId = EgtGetParent( EgtGetParent( nNextSouId)) + local nNextSouType = EgtGetInfo( nNextSouAreaId, WIN_AREATYPE, 'i') + local nLastNextSouId = nNextSouId + while nNextSouId and nNextSouType == WIN_AREATYPES.SPLIT do + nNextSouId = EgtGetInfo( nNextSouId, WIN_SOU) + if nNextSouId and nNextSouId ~= GDB_ID.NULL then + nLastNextSouId = nNextSouId + nNextSouAreaId = EgtGetParent( EgtGetParent( nNextSouId)) + nNextSouType = EgtGetInfo( nNextSouAreaId, WIN_AREATYPE, 'i') + end + end + if not nNextSouId then + nNextSouId = nLastNextSouId + end + nNextOutlineId = nNextSouId + end + -- recupero outline precedente + if not nPrevOutlineId then + nPrevOutlineId = EgtGetPrev( nOutlineId) + if not nPrevOutlineId then + nPrevOutlineId = EgtGetLastInGroup( nOutlineLayerId) + end + end + if not nNextOutlineId then + nNextOutlineId = EgtGetNext( nOutlineId) + if not nNextOutlineId then + nNextOutlineId = EgtGetFirstInGroup( nOutlineLayerId) + end + end + return nPrevOutlineId, nNextOutlineId +end + -- funzione che posiziona i profili, li estrude e crea il solido function WinCalculate.MakeSolidByExtrusion(nGeoId, nOutlineId, nMainProfileId, nStartProfileId, nEndProfileId, nProfileType, nSolidLayerId, nAreaType) -- recupero outline @@ -1527,10 +1603,7 @@ function WinCalculate.MakeSolidByExtrusion(nGeoId, nOutlineId, nMainProfileId, n -- creo fori per spine su Start local nDowelLayerId = EgtGroup( nPartId) EgtSetName( nDowelLayerId, 'Dowel') - local nPrevOutlineId = EgtGetPrev( nOutlineId) - if not nPrevOutlineId then - nPrevOutlineId = EgtGetLastInGroup( nOutlineLayerId) - end + local nPrevOutlineId, nEndOutlineId = GetPrevNextOutline( nProfileType, nOutlineId, nOutlineLayerId) local sOutlineName = EgtGetName( nOutlineId) local sPrevOutlineName = EgtGetName( nPrevOutlineId) if StartJointType == WIN_PART_JNT.ANGLED then @@ -1572,8 +1645,23 @@ function WinCalculate.MakeSolidByExtrusion(nGeoId, nOutlineId, nMainProfileId, n end elseif StartJointType == WIN_PART_JNT.SHORT then -- recupero profondita' d'inizio e fine - local sStart = EgtIf( sOutlineName == WIN_BOTTOM or sPrevOutlineName == WIN_BOTTOM, WIN_DWL_BOTTOMPARASTART, WIN_DWL_TOPPARASTART) - local sEnd = EgtIf( sOutlineName == WIN_BOTTOM or sPrevOutlineName == WIN_BOTTOM, WIN_DWL_BOTTOMPARAEND, WIN_DWL_TOPPARAEND) + local sStart = WIN_DWL_TOPPARASTART + local sEnd = WIN_DWL_TOPPARAEND + if sOutlineName == WIN_BOTTOM then + sStart = WIN_DWL_BOTTOMPARASTART + sEnd = WIN_DWL_BOTTOMPARAEND + elseif sOutlineName == WIN_SPLIT then + local sStartType = EgtGetInfo( nStartProfileId, WIN_PRF_TYPE) + if ( sStartType and sStartType == WIN_RAIL_BOTTOM) or sPrevOutlineName == WIN_SPLIT then + sStart = WIN_DWL_RAILBOTTOMPARASTART + sEnd = WIN_DWL_RAILBOTTOMPARAEND + end + elseif sPrevOutlineName == WIN_BOTTOM then + sStart = WIN_DWL_BOTTOMPARASTART + sEnd = WIN_DWL_BOTTOMPARAEND + 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 @@ -1674,16 +1762,11 @@ function WinCalculate.MakeSolidByExtrusion(nGeoId, nOutlineId, nMainProfileId, n -- taglio estrusi per ottenere solido EgtSurfTmCut( nMainExtrusionId, nEndExtrusionId, true, false) EgtSurfTmCut( nEndExtrusionId, nExtrCopyId, true, false) - -- creo fori per spine su End - local nEndOutlineId = EgtGetNext( nOutlineId) - if not nEndOutlineId then - nEndOutlineId = EgtGetFirstInGroup( nOutlineLayerId) - end - local sOutlineName = EgtGetName( nOutlineId) + -- creo fori per spine su End local sEndOutlineName = EgtGetName( nEndOutlineId) - if StartJointType == WIN_PART_JNT.ANGLED then + if EndJointType == WIN_PART_JNT.ANGLED then - elseif StartJointType == WIN_PART_JNT.FULL then + elseif EndJointType == WIN_PART_JNT.FULL then -- recupero profondita' d'inizio e fine local sStart = EgtIf( sOutlineName == WIN_BOTTOM, WIN_DWL_BOTTOMPERPSTART, WIN_DWL_TOPPERPSTART) local sEnd = EgtIf( sOutlineName == WIN_BOTTOM, WIN_DWL_BOTTOMPERPEND, WIN_DWL_TOPPERPEND) @@ -1717,10 +1800,23 @@ function WinCalculate.MakeSolidByExtrusion(nGeoId, nOutlineId, nMainProfileId, n EgtSurfTmCut( nDowelExtrusionId, nExtrCopyId, true, false) nOrigDowelId = EgtGetNextName( nOrigDowelId, WIN_DOWEL .. '*') end - elseif StartJointType == WIN_PART_JNT.SHORT then + elseif EndJointType == WIN_PART_JNT.SHORT then -- recupero profondita' d'inizio e fine - local sStart = EgtIf( sOutlineName == WIN_BOTTOM or sEndOutlineName == WIN_BOTTOM, WIN_DWL_BOTTOMPARASTART, WIN_DWL_TOPPARASTART) - local sEnd = EgtIf( sOutlineName == WIN_BOTTOM or sEndOutlineName == WIN_BOTTOM, WIN_DWL_BOTTOMPARAEND, WIN_DWL_TOPPARAEND) + local sStart = WIN_DWL_TOPPARASTART + local sEnd = WIN_DWL_TOPPARAEND + if sOutlineName == WIN_BOTTOM then + sStart = WIN_DWL_BOTTOMPARASTART + sEnd = WIN_DWL_BOTTOMPARAEND + elseif sOutlineName == WIN_SPLIT then + local sEndType = EgtGetInfo( nEndProfileId, WIN_PRF_TYPE) + if ( sEndType and sEndType == WIN_RAIL_BOTTOM) or sEndOutlineName == WIN_SPLIT then + sStart = WIN_DWL_RAILBOTTOMPARASTART + sEnd = WIN_DWL_RAILBOTTOMPARAEND + end + elseif sEndOutlineName == WIN_BOTTOM then + sStart = WIN_DWL_BOTTOMPARASTART + sEnd = WIN_DWL_BOTTOMPARAEND + end -- ciclo sui fori trovati local nOrigDowelId = EgtGetFirstNameInGroup( nMainProfileId, WIN_DOWEL .. '*') while nOrigDowelId do @@ -1757,6 +1853,11 @@ function WinCalculate.MakeSolidByExtrusion(nGeoId, nOutlineId, nMainProfileId, n EgtErase( { nExtrCopyId}) end +-- funzione che posiziona i fori delle spine degli split, li estrude e crea il solido +function WinCalculate.AddSplitDowelToExtrusion(nGeoId, nOutlineId, nMainProfileId, nStartProfileId, nEndProfileId, nProfileType, nSolidLayerId, nAreaType) + +end + -- funzione che restitutisce lo Strip piu' vicino function WinCalculate.GetStripNearestToOutline( nStartProfileId, nOutlineId, sStripName) -- recupero strip @@ -2060,19 +2161,33 @@ function WinCalculate.CalcFrameSolid(nPartId, nOutlineId, nGeoId, nOutlineLayerI local nPrevSouId = nPrevOutlineId local nPrevSouAreaId = EgtGetParent( EgtGetParent( nPrevSouId)) local nPrevSouType = EgtGetInfo( nPrevSouAreaId, WIN_AREATYPE, 'i') + local nLastPrevSouId = nPrevSouId while nPrevSouId and nPrevSouType == WIN_AREATYPES.SPLIT do nPrevSouId = EgtGetInfo( nPrevSouId, WIN_SOU) - nPrevSouAreaId = EgtGetParent( EgtGetParent( nPrevSouId)) - nPrevSouType = EgtGetInfo( nPrevSouAreaId, WIN_AREATYPE, 'i') + if nPrevSouId and nPrevSouId ~= GDB_ID.NULL then + nLastPrevSouId = nPrevSouId + nPrevSouAreaId = EgtGetParent( EgtGetParent( nPrevSouId)) + nPrevSouType = EgtGetInfo( nPrevSouAreaId, WIN_AREATYPE, 'i') + end + end + if not nPrevSouId then + nPrevSouId = nLastPrevSouId end nPrevOutlineId = nPrevSouId local nNextSouId = nNextOutlineId local nNextSouAreaId = EgtGetParent( EgtGetParent( nNextSouId)) local nNextSouType = EgtGetInfo( nNextSouAreaId, WIN_AREATYPE, 'i') + local nLastNextSouId = nNextSouId while nNextSouId and nNextSouType == WIN_AREATYPES.SPLIT do nNextSouId = EgtGetInfo( nNextSouId, WIN_SOU) - nNextSouAreaId = EgtGetParent( EgtGetParent( nNextSouId)) - nNextSouType = EgtGetInfo( nNextSouAreaId, WIN_AREATYPE, 'i') + if nNextSouId and nNextSouId ~= GDB_ID.NULL then + nLastNextSouId = nNextSouId + nNextSouAreaId = EgtGetParent( EgtGetParent( nNextSouId)) + nNextSouType = EgtGetInfo( nNextSouAreaId, WIN_AREATYPE, 'i') + end + end + if not nNextSouId then + nNextSouId = nLastNextSouId end nNextOutlineId = nNextSouId end @@ -2125,13 +2240,38 @@ function WinCalculate.CalcFrameSolid(nPartId, nOutlineId, nGeoId, nOutlineLayerI nOrigEndProfileId = EgtGetFirstNameInGroup( nProfileFrameLayerId, sNextProfileType) -- creo copie di profilo e controprofili nMainProfileId = EgtCopy( nOrigMainProfileId, nFrameProfileLayerId) + local sMainProfileType = EgtGetName( nMainProfileId) + EgtSetInfo( nMainProfileId, WIN_PRF_TYPE, sMainProfileType) EgtSetName( nMainProfileId, WIN_PRF_MAIN) nStartProfileId = EgtCopy( nOrigStartProfileId, nFrameProfileLayerId) + local sStartProfileType = EgtGetName( nStartProfileId) + EgtSetInfo( nStartProfileId, WIN_PRF_TYPE, sStartProfileType) EgtSetName( nStartProfileId, WIN_PRF_START) nEndProfileId = EgtCopy( nOrigEndProfileId, nFrameProfileLayerId) + local sEndProfileType = EgtGetName( nEndProfileId) + EgtSetInfo( nEndProfileId, WIN_PRF_TYPE, sEndProfileType) EgtSetName( nEndProfileId, WIN_PRF_END) -- creo solido dai profili WinCalculate.MakeSolidByExtrusion(nGeoId, nOutlineId, nMainProfileId, nStartProfileId, nEndProfileId, nProfileType, nSolidLayerId, nAreaType) +-- -- aggiungo fori spine per eventuali split +-- local nAreaId = nOutlineLayerId +-- local nAreaType +-- -- ciclo fino a trovare un child che non sia uno split +-- repeat +-- nAreaId = EgtGetParent( nAreaId) +-- nAreaType = EgtGetInfo( nAreaId, WIN_AREATYPE, 'i') +-- until not nAreaId or ( nAreaType ~= WIN_AREATYPES.SPLIT and nAreaType ~= WIN_AREATYPES.NULL) +-- +-- -- ciclo alla ricerca di tutti i child che siano split e di tipo mullion +-- local nChildId = nOutlineLayerId +-- local nAreaType +-- +-- repeat +-- nAreaId = EgtGetParent( nAreaId) +-- nAreaType = EgtGetInfo( nAreaId, WIN_AREATYPE, 'i') +-- until not nAreaId or ( nAreaType ~= WIN_AREATYPES.SPLIT and nAreaType ~= WIN_AREATYPES.NULL) +-- +-- WinCalculate.AddSplitDowelToExtrusion(nGeoId, nOutlineId, nProfileType, nSolidLayerId, nAreaType) end -- funzione che crea il solido del Fill diff --git a/Profiles/WinLib/WinCreate.lua b/Profiles/WinLib/WinCreate.lua index a6ac768..e577a1e 100644 --- a/Profiles/WinLib/WinCreate.lua +++ b/Profiles/WinLib/WinCreate.lua @@ -24,6 +24,13 @@ require( 'WinConst') -- funzione che importa il profilo function WinCreate.ImportProfile( sProfilePath) + -- verifico esistenza file + if not EgtExistsFile( sProfilePath) then + EgtOutLog( 'File del profilo non trovato! ' .. sProfilePath) + EgtOutText( 'File del profilo non trovato! ' .. sProfilePath) + EgtPause(5000) + return false + end -- creo gruppo per il profilo local nProfileId = EgtGroup( GDB_ID.ROOT) EgtSetName( nProfileId, WIN_PROFILE) @@ -43,6 +50,7 @@ function WinCreate.ImportProfile( sProfilePath) end -- riporto path nel Part del profilo EgtSetInfo( nProfileId, WIN_PROFILEPATH, sProfilePath) + return true end -- funzione che crea il buco rettangolare per la finestra @@ -411,6 +419,21 @@ function WinCreate.CreateAreaFromSplit( nAreaLayerId, nSplitId) nOutlineId = EgtGetFirstInGroup( nOutlineLayerId) end end + -- scorro pezzi del primo e secondo outline per avere bottom come primo + local nFirstInAreaId = EgtGetFirstInGroup( nArea1OutlineLayerId) + local sFirstInAreaName = EgtGetName( nFirstInAreaId) + while sFirstInAreaName ~= WIN_BOTTOM do + EgtRelocate( nFirstInAreaId, nArea1OutlineLayerId) + nFirstInAreaId = EgtGetFirstInGroup( nArea1OutlineLayerId) + sFirstInAreaName = EgtGetName( nFirstInAreaId) + end + nFirstInAreaId = EgtGetFirstInGroup( nArea2OutlineLayerId) + sFirstInAreaName = EgtGetName( nFirstInAreaId) + while sFirstInAreaName ~= WIN_BOTTOM do + EgtRelocate( nFirstInAreaId, nArea2OutlineLayerId) + nFirstInAreaId = EgtGetFirstInGroup( nArea2OutlineLayerId) + sFirstInAreaName = EgtGetName( nFirstInAreaId) + end -- error('qqq') return nArea1Id, nArea2Id end diff --git a/Profiles/WinLib/WinManageProject.lua b/Profiles/WinLib/WinManageProject.lua index 9b66c94..ab4c0b2 100644 --- a/Profiles/WinLib/WinManageProject.lua +++ b/Profiles/WinLib/WinManageProject.lua @@ -217,9 +217,12 @@ end -- funzione che crea la struttura geometrica dalle tabelle gerarchiche function WinManageProject.CreateGeomFromTable( WinTable) -- importo profilo - WinCreate.ImportProfile( WinTable[JWD_PROFILE_PATH]) + if not WinCreate.ImportProfile( WinTable[JWD_PROFILE_PATH]) then + return false + end -- creo aree ConvertTableToGeometry( WinTable[JWD_AREA .. 1], GDB_ID.ROOT) + return true end -- funzione che dato un progetto gerarchico lo scrive in json su un file @@ -241,12 +244,15 @@ function WinManageProject.ReadFromFile( sFilePath) local SouFh = io.open( sFilePath, "rb") if not SouFh then EgtOutBox( 'Error opening ' .. sFilePath, 'ReadFromFile', 'ERROR') - return + return false end local content = SouFh:read( "*all") SouFh:close() local tData = JSON:decode( content) - WinManageProject.CreateGeomFromTable( tData) + if not WinManageProject.CreateGeomFromTable( tData) then + return false + end + return true end --------------------------------------------------------------------- diff --git a/Profiles/WinOpenProjectFile.lua b/Profiles/WinOpenProjectFile.lua index 298514c..ae98fab 100644 --- a/Profiles/WinOpenProjectFile.lua +++ b/Profiles/WinOpenProjectFile.lua @@ -33,20 +33,34 @@ local WinCalculate = require( 'WinCalculate') _G.package.loaded.WinManageProject = nil local WinManageProject = require( 'WinManageProject') --- ciclo principale - -EgtStartCounter() +-- apro dialogo di scelta file +local sOpeneDirPath = 'c:\\EgtData\\EgwWindowLua\\Projects' +local FilePathList = EgtFindAllFiles( sOpeneDirPath .. '\\*.jwd') +local sDialogFile = 'CB:' +for FilePathIndex = 1, #FilePathList do + local sName = EgtSplitString( FilePathList[FilePathIndex], '.') + sDialogFile = sDialogFile .. sName[1] .. ',' +end +local sFileName = '' +local DialogRes = EgtDialogBox( 'Open Window Project', { 'Nome Progetto', sDialogFile }) +if DialogRes and DialogRes[1] then + sFileName = DialogRes[1] .. '.jwd' +else + return +end EgtNewFile() -local sOpeneDirPath = 'c:\\EgtData\\Window\\Projects' ---local sFileName = 'RoundArc_TripleVerticalSash.jwd' -local sFileName = 'RoundArc_FixedGlass_Vertical&HorizontalSplit.jwd' +EgtStartCounter() + +--local sFileName = 'RoundArc_FixedGlass_Vertical&HorizontalSplit.jwd' local sOpenFilePath = sOpeneDirPath .. '\\' .. sFileName if WINDOW and WINDOW.FILE then sOpenFilePath = WINDOW.FILE end -WinManageProject.ReadFromFile( sOpenFilePath) +if not WinManageProject.ReadFromFile( sOpenFilePath) then + return +end -- imposto se calcolare i solidi o meno WinCalculate.SetCalcSolid( true) diff --git a/Profiles/WinSaveProjectFile.lua b/Profiles/WinSaveProjectFile.lua index b77ce24..c84ff94 100644 --- a/Profiles/WinSaveProjectFile.lua +++ b/Profiles/WinSaveProjectFile.lua @@ -44,7 +44,7 @@ local WindowHeight = 1500 local WindowTree -local sProfilePath = 'c:\\EgtData\\Window\\Profiles\\Profilo78 - Offset.nge' +local sProfilePath = 'c:\\EgtData\\EgwWindowLua\\Profiles\\Profilo78 - Offset.nge' ------------------------------------------- ************** ------------------------------------------- @@ -116,21 +116,21 @@ local nFrameId = WinCreate.CreateFrame( WindowWidth, WindowHeight, FrameJointTyp ------------------------ Finestra vetro fisso con divisione orizzontale e verticale ------------------------ -sFileName = sFileName .. 'FixedGlass_Vertical&HorizontalSplit' - --- 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) +--sFileName = sFileName .. 'FixedGlass_Vertical&HorizontalSplit' +-- +---- 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 ------------------------ @@ -234,21 +234,23 @@ local nFill4Id = WinCreate.AddFill( nArea22Id, 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 SashJointType = WIN_JNT.FULL_V --- local nSash1Id = WinCreate.AddSash( nArea1Id, SashJointType, SashJointType, SashJointType, SashJointType) - --- -- aggiungo vetro --- local nFill1Id = WinCreate.AddFill( nSash1Id, WIN_FILLTYPES.GLASS) - --- -- aggiungo seconda anta --- local nSash2Id = WinCreate.AddSash( nArea2Id, SashJointType, SashJointType, SashJointType, SashJointType) - --- -- aggiungo vetro --- local nFill2Id = WinCreate.AddFill( nSash2Id, WIN_FILLTYPES.GLASS) +--sFileName = sFileName .. 'DoubleHorizontalSash_Mullion' +-- +---- definisco prima divisione +--local nArea1Id, nArea2Id = WinCreate.AddSplit( nFrameId, WIN_SPLITORIENTATION.HORIZONTAL, WIN_MEASURE.ABSOLUT, WindowHeight / 2) +-- +---- aggiungo prima anta +--local SashJointType = WIN_JNT.FULL_V +--local nSash1Id = WinCreate.AddSash( nArea1Id, SashJointType, SashJointType, SashJointType, SashJointType) +-- +---- aggiungo vetro +--local nFill1Id = WinCreate.AddFill( nSash1Id, WIN_FILLTYPES.GLASS) +-- +---- aggiungo seconda anta +--local nSash2Id = WinCreate.AddSash( nArea2Id, SashJointType, SashJointType, SashJointType, SashJointType) +-- +---- aggiungo vetro +--local nFill2Id = WinCreate.AddFill( nSash2Id, WIN_FILLTYPES.GLASS) ------------------------ Finestra tripla anta con montanti verticali ------------------------ @@ -337,28 +339,29 @@ local nFill4Id = WinCreate.AddFill( nArea22Id, WIN_FILLTYPES.GLASS) ------------------------ Finestra tripla anta con montante orizzontale e verticale ------------------------ --- -- definisco prima divisione --- local nArea1Id, nArea2Id = WinCreate.AddSplit( nFrameId, WIN_SPLITORIENTATION.HORIZONTAL, WIN_MEASURE.ABSOLUT, WindowHeight / 2) - --- -- definisco seconda divisione --- local nArea2Id, nArea3Id = WinCreate.AddSplit( nArea2Id, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.ABSOLUT, WindowWidth / 2) - --- -- aggiungo prima anta --- local SashJointType = WIN_JNT.FULL_V --- local nSash1Id = WinCreate.AddSash( nArea1Id, SashJointType, SashJointType, SashJointType, SashJointType) --- -- aggiungo vetro --- local nFill1Id = WinCreate.AddFill( nSash1Id, WIN_FILLTYPES.GLASS) - --- -- aggiungo seconda anta --- local nSash2Id = WinCreate.AddSash( nArea2Id, SashJointType, SashJointType, SashJointType, SashJointType) --- -- aggiungo vetro --- local nFill2Id = WinCreate.AddFill( nSash2Id, WIN_FILLTYPES.GLASS) - --- -- aggiungo terza anta --- local nSash3Id = WinCreate.AddSash( nArea3Id, SashJointType, SashJointType, SashJointType, SashJointType) --- -- aggiungo vetro --- local nFill3Id = WinCreate.AddFill( nSash3Id, WIN_FILLTYPES.GLASS) - +--sFileName = sFileName .. 'TripleVertical&HorizontalSash_Mullion' +-- +---- definisco prima divisione +--local nArea1Id, nArea2Id = WinCreate.AddSplit( nFrameId, WIN_SPLITORIENTATION.HORIZONTAL, WIN_MEASURE.ABSOLUT, WindowHeight / 2) +-- +---- definisco seconda divisione +--local nArea2Id, nArea3Id = WinCreate.AddSplit( nArea2Id, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.ABSOLUT, WindowWidth / 2) +-- +---- aggiungo prima anta +--local SashJointType = WIN_JNT.FULL_V +--local nSash1Id = WinCreate.AddSash( nArea1Id, SashJointType, SashJointType, SashJointType, SashJointType) +---- aggiungo vetro +--local nFill1Id = WinCreate.AddFill( nSash1Id, WIN_FILLTYPES.GLASS) +-- +---- aggiungo seconda anta +--local nSash2Id = WinCreate.AddSash( nArea2Id, SashJointType, SashJointType, SashJointType, SashJointType) +---- aggiungo vetro +--local nFill2Id = WinCreate.AddFill( nSash2Id, WIN_FILLTYPES.GLASS) +-- +---- aggiungo terza anta +--local nSash3Id = WinCreate.AddSash( nArea3Id, SashJointType, SashJointType, SashJointType, SashJointType) +---- aggiungo vetro +--local nFill3Id = WinCreate.AddFill( nSash3Id, WIN_FILLTYPES.GLASS) ------------------------ Finestra sei ante con montanti verticali e orizzontale ------------------------ @@ -404,6 +407,50 @@ local nFill4Id = WinCreate.AddFill( nArea22Id, WIN_FILLTYPES.GLASS) -- -- aggiungo vetro -- local nFill6Id = WinCreate.AddFill( nSash6Id, WIN_FILLTYPES.GLASS) +------------------------ Finestra sei ante con montanti verticale e orizzontali ------------------------ + +sFileName = sFileName .. 'SixSash_Vertical&HorizontalMullion2' + +-- definisco divisioni verticali +local nArea1Id, nArea2Id = WinCreate.AddSplit( nFrameId, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.ABSOLUT, WindowWidth / 3) +local nArea2Id, nArea3Id = WinCreate.AddSplit( nArea2Id, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.ABSOLUT, WindowWidth / 3) + +-- definisco divisione orizzontali +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) +local nArea31Id, nArea32Id = WinCreate.AddSplit( nArea3Id, WIN_SPLITORIENTATION.HORIZONTAL, WIN_MEASURE.ABSOLUT, WindowHeight / 2) + +-- 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( nArea21Id, SashJointType, SashJointType, SashJointType, SashJointType) +-- aggiungo vetro +local nFill3Id = WinCreate.AddFill( nSash3Id, WIN_FILLTYPES.GLASS) + +-- aggiungo quarta anta +local nSash4Id = WinCreate.AddSash( nArea22Id, SashJointType, SashJointType, SashJointType, SashJointType) +-- aggiungo vetro +local nFill4Id = WinCreate.AddFill( nSash4Id, WIN_FILLTYPES.GLASS) + +-- aggiungo quinta anta +local nSash5Id = WinCreate.AddSash( nArea31Id, SashJointType, SashJointType, SashJointType, SashJointType) +-- aggiungo vetro +local nFill5Id = WinCreate.AddFill( nSash5Id, WIN_FILLTYPES.GLASS) + +-- aggiungo sesta anta +local nSash6Id = WinCreate.AddSash( nArea32Id, SashJointType, SashJointType, SashJointType, SashJointType) +-- 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 @@ -531,7 +578,7 @@ local nFrameId = EgtGetFirstNameInGroup( GDB_ID.ROOT, WIN_AREAASTERISK) WinCalculate.CreatePartFromArea( nFrameId) -- salvo progetto su file -local sSaveDirPath = 'c:\\EgtData\\Window\\Projects' +local sSaveDirPath = 'c:\\EgtData\\EgwWindowLua\\Projects' local sSaveFilePath = sSaveDirPath .. '\\' .. sFileName WinManageProject.WriteToFile( nFrameId, sSaveFilePath) diff --git a/Projects/Rect_DoubleHorizontalSash_Mullion.jwd b/Projects/Rect_DoubleHorizontalSash_Mullion.jwd new file mode 100644 index 0000000..2b45d92 --- /dev/null +++ b/Projects/Rect_DoubleHorizontalSash_Mullion.jwd @@ -0,0 +1,66 @@ +{ + "Area1": { + "Area1": { + "Area1": { + "Area1": { + "AreaType": 3, + "FillType": 1 + }, + "AreaType": 2, + "Joint": { + "JointBL": 3, + "JointBR": 3, + "JointTL": 3, + "JointTR": 3 + } + }, + "AreaType": 0 + }, + "Area2": { + "Area1": { + "Area1": { + "AreaType": 3, + "FillType": 1 + }, + "AreaType": 2, + "Joint": { + "JointBL": 3, + "JointBR": 3, + "JointTL": 3, + "JointTR": 3 + } + }, + "AreaType": 0 + }, + "AreaType": 1, + "Joint": { + "JointBL": 2, + "JointBR": 2, + "JointTL": 2, + "JointTR": 2 + }, + "Outline": [ { + "CurveType": 256, + "ptEnd": [ 1800.0, 0.0, 0.0 ], + "ptStart": [ 0.0, 0.0, 0.0 ] + }, { + "CurveType": 256, + "ptEnd": [ 1800.0, 1500.0, 0.0 ], + "ptStart": [ 1800.0, 0.0, 0.0 ] + }, { + "CurveType": 256, + "ptEnd": [ 0.0, 1500.0, 0.0 ], + "ptStart": [ 1800.0, 1500.0, 0.0 ] + }, { + "CurveType": 256, + "ptEnd": [ 0.0, 0.0, 0.0 ], + "ptStart": [ 0.0, 1500.0, 0.0 ] + } ], + "Split": [ { + "CurveType": 256, + "ptEnd": [ 1800.0, 750.0, 0.0 ], + "ptStart": [ 0.0, 750.0, 0.0 ] + } ] + }, + "ProfilePath": "c:\\EgtData\\EgwWindowLua\\Profiles\\Profilo78 - Offset.nge" +} \ No newline at end of file diff --git a/Projects/Rect_DoubleVerticalSash_French.jwd b/Projects/Rect_DoubleVerticalSash_French.jwd index 225d1e5..bf89396 100644 --- a/Projects/Rect_DoubleVerticalSash_French.jwd +++ b/Projects/Rect_DoubleVerticalSash_French.jwd @@ -64,5 +64,5 @@ "ptStart": [ 900.0, 0.0, 0.0 ] } ] }, - "ProfilePath": "c:\\EgtData\\Window\\Profiles\\Profilo78 - Offset.nge" + "ProfilePath": "c:\\EgtData\\EgwWindowLua\\Profiles\\Profilo78 - Offset.nge" } \ No newline at end of file diff --git a/Projects/Rect_DoubleVerticalSash_Mullion.jwd b/Projects/Rect_DoubleVerticalSash_Mullion.jwd index fe0c2ae..0e78c02 100644 --- a/Projects/Rect_DoubleVerticalSash_Mullion.jwd +++ b/Projects/Rect_DoubleVerticalSash_Mullion.jwd @@ -62,5 +62,5 @@ "ptStart": [ 900.0, 0.0, 0.0 ] } ] }, - "ProfilePath": "c:\\EgtData\\Window\\Profiles\\Profilo78 - Offset.nge" + "ProfilePath": "c:\\EgtData\\EgwWindowLua\\Profiles\\Profilo78 - Offset.nge" } \ No newline at end of file diff --git a/Projects/Rect_FixedGlass.jwd b/Projects/Rect_FixedGlass.jwd index 3b6ca4f..ce03528 100644 --- a/Projects/Rect_FixedGlass.jwd +++ b/Projects/Rect_FixedGlass.jwd @@ -30,5 +30,5 @@ "ptStart": [ 0.0, 1500.0, 0.0 ] } ] }, - "ProfilePath": "c:\\EgtData\\Window\\Profiles\\Profilo78 - Offset.nge" + "ProfilePath": "c:\\EgtData\\EgwWindowLua\\Profiles\\Profilo78 - Offset.nge" } \ No newline at end of file diff --git a/Projects/Rect_FixedGlass_Vertical&HorizontalSplit.jwd b/Projects/Rect_FixedGlass_Vertical&HorizontalSplit.jwd index 1676710..185752f 100644 --- a/Projects/Rect_FixedGlass_Vertical&HorizontalSplit.jwd +++ b/Projects/Rect_FixedGlass_Vertical&HorizontalSplit.jwd @@ -75,5 +75,5 @@ "ptStart": [ 900.0, 0.0, 0.0 ] } ] }, - "ProfilePath": "c:\\EgtData\\Window\\Profiles\\Profilo78 - Offset.nge" + "ProfilePath": "c:\\EgtData\\EgwWindowLua\\Profiles\\Profilo78 - Offset.nge" } \ No newline at end of file diff --git a/Projects/Rect_Sash.jwd b/Projects/Rect_Sash.jwd index 223c4f1..a7dd877 100644 --- a/Projects/Rect_Sash.jwd +++ b/Projects/Rect_Sash.jwd @@ -38,5 +38,5 @@ "ptStart": [ 0.0, 1500.0, 0.0 ] } ] }, - "ProfilePath": "c:\\EgtData\\Window\\Profiles\\Profilo78 - Offset.nge" + "ProfilePath": "c:\\EgtData\\EgwWindowLua\\Profiles\\Profilo78 - Offset.nge" } \ No newline at end of file diff --git a/Projects/Rect_Sash_Vertical&HorizontalSplit.jwd b/Projects/Rect_Sash_Vertical&HorizontalSplit.jwd index defd60e..4f9ae17 100644 --- a/Projects/Rect_Sash_Vertical&HorizontalSplit.jwd +++ b/Projects/Rect_Sash_Vertical&HorizontalSplit.jwd @@ -83,5 +83,5 @@ "ptStart": [ 0.0, 1500.0, 0.0 ] } ] }, - "ProfilePath": "c:\\EgtData\\Window\\Profiles\\Profilo78 - Offset.nge" + "ProfilePath": "c:\\EgtData\\EgwWindowLua\\Profiles\\Profilo78 - Offset.nge" } \ No newline at end of file diff --git a/Projects/Rect_SixSash_Vertical&HorizontalMullion.jwd b/Projects/Rect_SixSash_Vertical&HorizontalMullion.jwd index 2ea0a2c..6530efc 100644 --- a/Projects/Rect_SixSash_Vertical&HorizontalMullion.jwd +++ b/Projects/Rect_SixSash_Vertical&HorizontalMullion.jwd @@ -158,5 +158,5 @@ "ptStart": [ 0.0, 750.0, 0.0 ] } ] }, - "ProfilePath": "c:\\EgtData\\Window\\Profiles\\Profilo78 - Offset.nge" + "ProfilePath": "c:\\EgtData\\EgwWindowLua\\Profiles\\Profilo78 - Offset.nge" } \ No newline at end of file diff --git a/Projects/Rect_SixSash_Vertical&HorizontalMullion2.jwd b/Projects/Rect_SixSash_Vertical&HorizontalMullion2.jwd new file mode 100644 index 0000000..c16d352 --- /dev/null +++ b/Projects/Rect_SixSash_Vertical&HorizontalMullion2.jwd @@ -0,0 +1,162 @@ +{ + "Area1": { + "Area1": { + "Area1": { + "Area1": { + "Area1": { + "AreaType": 3, + "FillType": 1 + }, + "AreaType": 2, + "Joint": { + "JointBL": 3, + "JointBR": 3, + "JointTL": 3, + "JointTR": 3 + } + }, + "AreaType": 0 + }, + "Area2": { + "Area1": { + "Area1": { + "AreaType": 3, + "FillType": 1 + }, + "AreaType": 2, + "Joint": { + "JointBL": 3, + "JointBR": 3, + "JointTL": 3, + "JointTR": 3 + } + }, + "AreaType": 0 + }, + "AreaType": 4, + "Split": [ { + "CurveType": 256, + "ptEnd": [ 600.0, 750.0, 0.0 ], + "ptStart": [ 0.0, 750.0, 0.0 ] + } ] + }, + "Area2": { + "Area1": { + "Area1": { + "Area1": { + "Area1": { + "AreaType": 3, + "FillType": 1 + }, + "AreaType": 2, + "Joint": { + "JointBL": 3, + "JointBR": 3, + "JointTL": 3, + "JointTR": 3 + } + }, + "AreaType": 0 + }, + "Area2": { + "Area1": { + "Area1": { + "AreaType": 3, + "FillType": 1 + }, + "AreaType": 2, + "Joint": { + "JointBL": 3, + "JointBR": 3, + "JointTL": 3, + "JointTR": 3 + } + }, + "AreaType": 0 + }, + "AreaType": 4, + "Split": [ { + "CurveType": 256, + "ptEnd": [ 1200.0, 750.0, 0.0 ], + "ptStart": [ 600.0, 750.0, 0.0 ] + } ] + }, + "Area2": { + "Area1": { + "Area1": { + "Area1": { + "AreaType": 3, + "FillType": 1 + }, + "AreaType": 2, + "Joint": { + "JointBL": 3, + "JointBR": 3, + "JointTL": 3, + "JointTR": 3 + } + }, + "AreaType": 0 + }, + "Area2": { + "Area1": { + "Area1": { + "AreaType": 3, + "FillType": 1 + }, + "AreaType": 2, + "Joint": { + "JointBL": 3, + "JointBR": 3, + "JointTL": 3, + "JointTR": 3 + } + }, + "AreaType": 0 + }, + "AreaType": 4, + "Split": [ { + "CurveType": 256, + "ptEnd": [ 1800.0, 750.0, 0.0 ], + "ptStart": [ 1200.0, 750.0, 0.0 ] + } ] + }, + "AreaType": 4, + "Split": [ { + "CurveType": 256, + "ptEnd": [ 1200.0, 1500.0, 0.0 ], + "ptStart": [ 1200.0, 0.0, 0.0 ] + } ] + }, + "AreaType": 1, + "Joint": { + "JointBL": 2, + "JointBR": 2, + "JointTL": 2, + "JointTR": 2 + }, + "Outline": [ { + "CurveType": 256, + "ptEnd": [ 1800.0, 0.0, 0.0 ], + "ptStart": [ 0.0, 0.0, 0.0 ] + }, { + "CurveType": 256, + "ptEnd": [ 1800.0, 1500.0, 0.0 ], + "ptStart": [ 1800.0, 0.0, 0.0 ] + }, { + "CurveType": 256, + "ptEnd": [ 0.0, 1500.0, 0.0 ], + "ptStart": [ 1800.0, 1500.0, 0.0 ] + }, { + "CurveType": 256, + "ptEnd": [ 0.0, 0.0, 0.0 ], + "ptStart": [ 0.0, 1500.0, 0.0 ] + } ], + "Split": [ { + "CurveType": 256, + "ptEnd": [ 600.0, 1500.0, 0.0 ], + "ptStart": [ 600.0, 0.0, 0.0 ] + } ] + }, + "ProfilePath": "c:\\EgtData\\EgwWindowLua\\Profiles\\Profilo78 - Offset.nge" +} \ No newline at end of file diff --git a/Projects/Rect_TripleVertical&HorizontalSash_Mullion.jwd b/Projects/Rect_TripleVertical&HorizontalSash_Mullion.jwd new file mode 100644 index 0000000..a5f3415 --- /dev/null +++ b/Projects/Rect_TripleVertical&HorizontalSash_Mullion.jwd @@ -0,0 +1,90 @@ +{ + "Area1": { + "Area1": { + "Area1": { + "Area1": { + "AreaType": 3, + "FillType": 1 + }, + "AreaType": 2, + "Joint": { + "JointBL": 3, + "JointBR": 3, + "JointTL": 3, + "JointTR": 3 + } + }, + "AreaType": 0 + }, + "Area2": { + "Area1": { + "Area1": { + "Area1": { + "AreaType": 3, + "FillType": 1 + }, + "AreaType": 2, + "Joint": { + "JointBL": 3, + "JointBR": 3, + "JointTL": 3, + "JointTR": 3 + } + }, + "AreaType": 0 + }, + "Area2": { + "Area1": { + "Area1": { + "AreaType": 3, + "FillType": 1 + }, + "AreaType": 2, + "Joint": { + "JointBL": 3, + "JointBR": 3, + "JointTL": 3, + "JointTR": 3 + } + }, + "AreaType": 0 + }, + "AreaType": 4, + "Split": [ { + "CurveType": 256, + "ptEnd": [ 900.0, 1500.0, 0.0 ], + "ptStart": [ 900.0, 750.0, 0.0 ] + } ] + }, + "AreaType": 1, + "Joint": { + "JointBL": 2, + "JointBR": 2, + "JointTL": 2, + "JointTR": 2 + }, + "Outline": [ { + "CurveType": 256, + "ptEnd": [ 1800.0, 0.0, 0.0 ], + "ptStart": [ 0.0, 0.0, 0.0 ] + }, { + "CurveType": 256, + "ptEnd": [ 1800.0, 1500.0, 0.0 ], + "ptStart": [ 1800.0, 0.0, 0.0 ] + }, { + "CurveType": 256, + "ptEnd": [ 0.0, 1500.0, 0.0 ], + "ptStart": [ 1800.0, 1500.0, 0.0 ] + }, { + "CurveType": 256, + "ptEnd": [ 0.0, 0.0, 0.0 ], + "ptStart": [ 0.0, 1500.0, 0.0 ] + } ], + "Split": [ { + "CurveType": 256, + "ptEnd": [ 1800.0, 750.0, 0.0 ], + "ptStart": [ 0.0, 750.0, 0.0 ] + } ] + }, + "ProfilePath": "c:\\EgtData\\EgwWindowLua\\Profiles\\Profilo78 - Offset.nge" +} \ No newline at end of file diff --git a/Projects/Rect_TripleVerticalSash_Mullion&French.jwd b/Projects/Rect_TripleVerticalSash_Mullion&French.jwd index 6b84116..32af9ea 100644 --- a/Projects/Rect_TripleVerticalSash_Mullion&French.jwd +++ b/Projects/Rect_TripleVerticalSash_Mullion&French.jwd @@ -88,5 +88,5 @@ "ptStart": [ 600.0, 0.0, 0.0 ] } ] }, - "ProfilePath": "c:\\EgtData\\Window\\Profiles\\Profilo78 - Offset.nge" + "ProfilePath": "c:\\EgtData\\EgwWindowLua\\Profiles\\Profilo78 - Offset.nge" } \ No newline at end of file diff --git a/Projects/Rect_TripleVerticalSash_Mullion.jwd b/Projects/Rect_TripleVerticalSash_Mullion.jwd index 2d8cd7f..195e4ef 100644 --- a/Projects/Rect_TripleVerticalSash_Mullion.jwd +++ b/Projects/Rect_TripleVerticalSash_Mullion.jwd @@ -86,5 +86,5 @@ "ptStart": [ 600.0, 0.0, 0.0 ] } ] }, - "ProfilePath": "c:\\EgtData\\Window\\Profiles\\Profilo78 - Offset.nge" + "ProfilePath": "c:\\EgtData\\EgwWindowLua\\Profiles\\Profilo78 - Offset.nge" } \ No newline at end of file diff --git a/Projects/RoundArc_DoubleVerticalSash.jwd b/Projects/RoundArc_DoubleVerticalSash.jwd index cb57554..1d4fe2f 100644 --- a/Projects/RoundArc_DoubleVerticalSash.jwd +++ b/Projects/RoundArc_DoubleVerticalSash.jwd @@ -63,5 +63,5 @@ "ptStart": [ 900.0, 0.0, 0.0 ] } ] }, - "ProfilePath": "c:\\EgtData\\Window\\Profiles\\Profilo78 - Offset.nge" + "ProfilePath": "c:\\EgtData\\EgwWindowLua\\Profiles\\Profilo78 - Offset.nge" } \ No newline at end of file diff --git a/Projects/RoundArc_FixedGlass_Vertical&HorizontalSplit.jwd b/Projects/RoundArc_FixedGlass_Vertical&HorizontalSplit.jwd index 57809e9..6bb356c 100644 --- a/Projects/RoundArc_FixedGlass_Vertical&HorizontalSplit.jwd +++ b/Projects/RoundArc_FixedGlass_Vertical&HorizontalSplit.jwd @@ -76,5 +76,5 @@ "ptStart": [ 900.0, 0.0, 0.0 ] } ] }, - "ProfilePath": "c:\\EgtData\\Window\\Profiles\\Profilo78 - Offset.nge" + "ProfilePath": "c:\\EgtData\\EgwWindowLua\\Profiles\\Profilo78 - Offset.nge" } \ No newline at end of file diff --git a/Projects/RoundArc_French.jwd b/Projects/RoundArc_French.jwd index fb002f3..af421b3 100644 --- a/Projects/RoundArc_French.jwd +++ b/Projects/RoundArc_French.jwd @@ -65,5 +65,5 @@ "ptStart": [ 900.0, 0.0, 0.0 ] } ] }, - "ProfilePath": "c:\\EgtData\\Window\\Profiles\\Profilo78 - Offset.nge" + "ProfilePath": "c:\\EgtData\\EgwWindowLua\\Profiles\\Profilo78 - Offset.nge" } \ No newline at end of file diff --git a/Projects/RoundArc_Sash.jwd b/Projects/RoundArc_Sash.jwd index 16c921c..2222040 100644 --- a/Projects/RoundArc_Sash.jwd +++ b/Projects/RoundArc_Sash.jwd @@ -39,5 +39,5 @@ "ptStart": [ 0.0, 1500.0, 0.0 ] } ] }, - "ProfilePath": "c:\\EgtData\\Window\\Profiles\\Profilo78 - Offset.nge" + "ProfilePath": "c:\\EgtData\\EgwWindowLua\\Profiles\\Profilo78 - Offset.nge" } \ No newline at end of file diff --git a/Projects/RoundArc_Sash_Vertical&HorizontalSplit.jwd b/Projects/RoundArc_Sash_Vertical&HorizontalSplit.jwd index 4265218..da920e3 100644 --- a/Projects/RoundArc_Sash_Vertical&HorizontalSplit.jwd +++ b/Projects/RoundArc_Sash_Vertical&HorizontalSplit.jwd @@ -84,5 +84,5 @@ "ptStart": [ 0.0, 1500.0, 0.0 ] } ] }, - "ProfilePath": "c:\\EgtData\\Window\\Profiles\\Profilo78 - Offset.nge" + "ProfilePath": "c:\\EgtData\\EgwWindowLua\\Profiles\\Profilo78 - Offset.nge" } \ No newline at end of file diff --git a/Projects/RoundArc_TripleVerticalSash.jwd b/Projects/RoundArc_TripleVerticalSash.jwd index 8210ed5..62d849f 100644 --- a/Projects/RoundArc_TripleVerticalSash.jwd +++ b/Projects/RoundArc_TripleVerticalSash.jwd @@ -87,5 +87,5 @@ "ptStart": [ 600.0, 0.0, 0.0 ] } ] }, - "ProfilePath": "c:\\EgtData\\Window\\Profiles\\Profilo78 - Offset.nge" + "ProfilePath": "c:\\EgtData\\EgwWindowLua\\Profiles\\Profilo78 - Offset.nge" } \ No newline at end of file