Merge branch 'main' of https://gitlab.steamware.net/egalware-cadcam/lua/egwwindowlua
This commit is contained in:
@@ -1,836 +0,0 @@
|
||||
--
|
||||
-- EEEEEEEEEE GGGGGG WW WW WW
|
||||
-- EEEEEEEEEE GGGGGGGGGG WW WW WW
|
||||
-- EEEE GGGG GGGG WW WW WW
|
||||
-- EEEE GGGG WWW WWWW WWW
|
||||
-- EEEEEEE GGGG GGGGGGG WW WWWW WW
|
||||
-- EEEEEEE GGGG GGGGGGG WWW WWWW WWW
|
||||
-- EEEE GGGG GGGG WWWW WWWW
|
||||
-- EEEE GGGG GGGG WWWW WWWW
|
||||
-- EEEEEEEEEE GGGGGGGGGG WWW WWW
|
||||
-- EEEEEEEEEE GGGGGG WW WW
|
||||
--
|
||||
-- by Egalware s.r.l.
|
||||
-- Window project software by Egalware s.r.l. 2023/05/02
|
||||
|
||||
require( 'EgtBase')
|
||||
_ENV = EgtProtectGlobal()
|
||||
EgtEnableDebug( false)
|
||||
|
||||
-- Imposto direttorio per librerie
|
||||
local sBaseDir = EgtGetSourceDir()
|
||||
EgtOutLog("BaseDir=" .. sBaseDir)
|
||||
EgtAddToPackagePath( sBaseDir .. '?.lua')
|
||||
EgtAddToPackagePath( sBaseDir .. 'WinLib\\' .. '?.lua')
|
||||
|
||||
_G.package.loaded.WinConst = nil
|
||||
_G.package.loaded.WinJWDConst = nil
|
||||
_G.package.loaded.WinCreate = nil
|
||||
_G.package.loaded.WinCalculate = nil
|
||||
_G.package.loaded.WinManageProject = nil
|
||||
_G.package.loaded.JSON = nil
|
||||
_G.package.loaded.xml2lua = nil
|
||||
_G.package.loaded.xml2lua_tree = nil
|
||||
|
||||
require( 'WinConst')
|
||||
local WinCreate = require( 'WinCreate')
|
||||
local WinCalculate = require( 'WinCalculate')
|
||||
|
||||
|
||||
------------------------------------------- PARAMETERS -------------------------------------------
|
||||
local WindowWidth = 1500
|
||||
local WindowHeight = 1800
|
||||
|
||||
|
||||
local FrameJointType = WIN_JNT.FULL_H
|
||||
local SashJointType = WIN_JNT.FULL_V
|
||||
local vFrameJoints = { FrameJointType, FrameJointType, FrameJointType, FrameJointType}
|
||||
local vSashJoints = { SashJointType, SashJointType, SashJointType, SashJointType}
|
||||
|
||||
local dFrameDim = 78
|
||||
local dSashDim = 78
|
||||
local vFrameDims = { dFrameDim, dFrameDim, dFrameDim, dFrameDim}
|
||||
local vSashDims = { dSashDim, dSashDim, dSashDim, dSashDim}
|
||||
|
||||
local bDaylight = true -- true = dimensione luce / false = dimensione esterno anta
|
||||
|
||||
local sProfilePath = 'C:\\EgtData\\EgtWindowMaker\\Profiles\\Profilo78.nge'
|
||||
-- local sProfilePath = 'C:\\EgtData\\EgtWindowMaker\\Profiles\\ProfiloSaomad.nge'
|
||||
|
||||
------------------------------------------- ************** -------------------------------------------
|
||||
|
||||
EgtNewFile()
|
||||
EgtStartCounter()
|
||||
|
||||
|
||||
-- importo profilo prescelto
|
||||
WinCreate.ImportProfile( sProfilePath)
|
||||
|
||||
-- creo telaio
|
||||
|
||||
-- local nFrameId = WinCreate.CreateFrame( WIN_FRAME_TYPES.RECT, { WindowWidth, WindowHeight}, vFrameJoints, vFrameDims)
|
||||
-- local nFrameId = WinCreate.CreateFrame( WIN_FRAME_TYPES.CHAMFER_SIDE, { WindowWidth, WindowHeight, WindowHeight + 800}, vFrameJoints, vFrameDims)
|
||||
-- local nFrameId = WinCreate.CreateFrame( WIN_FRAME_TYPES.CHAMFER_SIDE, { WindowWidth, WindowHeight + 500, WindowHeight}, vFrameJoints, vFrameDims)
|
||||
-- local nFrameId = WinCreate.CreateFrame( WIN_FRAME_TYPES.ROUND_ARC, { WindowWidth, WindowHeight}, vFrameJoints, vFrameDims)
|
||||
-- local nFrameId = WinCreate.CreateFrame( WIN_FRAME_TYPES.SEGMENTAL_ARC, { 1500, 1800, 2200}, vFrameJoints, vFrameDims)
|
||||
-- local nFrameId = WinCreate.CreateFrame( WIN_FRAME_TYPES.CHAMFER, { WindowWidth, WindowHeight, WindowHeight + 500}, vFrameJoints, { dFrameDim, dFrameDim, dFrameDim, dFrameDim, dFrameDim})
|
||||
-- local nFrameId = WinCreate.CreateFrame( WIN_FRAME_TYPES.POINTED_ARC, { 1200, 1500, 2400}, vFrameJoints, { dFrameDim, dFrameDim, dFrameDim, dFrameDim, dFrameDim})
|
||||
-- local nFrameId = WinCreate.CreateFrame( WIN_FRAME_TYPES.TRG, { 1500, 1500, 500}, { FrameJointType, FrameJointType, FrameJointType}, { dFrameDim, dFrameDim, dFrameDim})
|
||||
-- local nFrameId = WinCreate.CreateFrame( WIN_FRAME_TYPES.THREE_CENTER_ARC, { 1500, 1500, 1800, 200}, vFrameJoints, { dFrameDim, dFrameDim, dFrameDim, dFrameDim, dFrameDim, dFrameDim})
|
||||
|
||||
|
||||
|
||||
------------------------ Aggiunta split a griglia ------------------------
|
||||
|
||||
-- WinCreate.AddGridSplits( nFrameId, { WIN_MEASURE.ABSOLUTE, WIN_MEASURE.ABSOLUTE, WIN_MEASURE.ABSOLUTE, WIN_MEASURE.ABSOLUTE}, { 150, 300, 150, 900},
|
||||
-- { WIN_MEASURE.ABSOLUTE, WIN_MEASURE.ABSOLUTE, WIN_MEASURE.ABSOLUTE}, { 500, 600, 850}, false)
|
||||
-- WinCreate.AddGridSplits( nFrameId, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 25, 75}, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 30, 20}, false)
|
||||
-- WinCreate.AddGridSplits( nFrameId, { WIN_MEASURE.PROPORTIONAL, WIN_MEASURE.PROPORTIONAL, WIN_MEASURE.PROPORTIONAL, WIN_MEASURE.PROPORTIONAL, WIN_MEASURE.PROPORTIONAL}, { 1, 4, 1, 2, 1},
|
||||
-- { WIN_MEASURE.PROPORTIONAL, WIN_MEASURE.PROPORTIONAL, WIN_MEASURE.PROPORTIONAL, WIN_MEASURE.PROPORTIONAL, WIN_MEASURE.PROPORTIONAL}, { 1, 2, 1, 2, 1}, false)
|
||||
-- WinCreate.AddGridSplits( nFrameId, { WIN_MEASURE.PROPORTIONAL, WIN_MEASURE.PROPORTIONAL, WIN_MEASURE.ABSOLUTE}, { 2, 1, 200},
|
||||
-- { WIN_MEASURE.PROPORTIONAL, WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PROPORTIONAL}, { 1, 50, 1}, false)
|
||||
|
||||
|
||||
|
||||
------------------------ Cambi profilo ------------------------
|
||||
|
||||
-- vetro / anta
|
||||
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50}, { 120})
|
||||
-- WinCreate.AddFill( vAreas[1], WIN_FILLTYPES.GLASS)
|
||||
-- local nSashId = WinCreate.AddSash( vAreas[2], vSashJoints, vSashDims, WIN_OPENING_TYPES.TILTTURN_RIGHT)
|
||||
-- WinCreate.AddFill( nSashId, WIN_FILLTYPES.GLASS)
|
||||
|
||||
-- vetro / anta in orizzontale
|
||||
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.HORIZONTAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50}, { 120})
|
||||
-- local nSashId = WinCreate.AddSash( vAreas[1], vSashJoints, vSashDims, WIN_OPENING_TYPES.TILTTURN_LEFT)
|
||||
-- WinCreate.AddFill( nSashId, WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vAreas[2], WIN_FILLTYPES.GLASS)
|
||||
|
||||
-- anta / vetro
|
||||
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50})
|
||||
-- local nSashId = WinCreate.AddSash( vAreas[1], vSashJoints, vSashDims, WIN_OPENING_TYPES.TILTTURN_LEFT)
|
||||
-- WinCreate.AddFill( nSashId, WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vAreas[2], WIN_FILLTYPES.GLASS)
|
||||
|
||||
-- vetro / anta / vetro
|
||||
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 33.3333, 33.3333, 33.3333}, { 90, 120})
|
||||
-- WinCreate.AddFill( vAreas[1], WIN_FILLTYPES.GLASS)
|
||||
-- local nSashId = WinCreate.AddSash( vAreas[2], vSashJoints, vSashDims)
|
||||
-- WinCreate.AddFill( nSashId, WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vAreas[3], WIN_FILLTYPES.GLASS)
|
||||
|
||||
-- vetro / anta / anta
|
||||
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 33, 33, 34})
|
||||
-- WinCreate.AddFill( vAreas[1], WIN_FILLTYPES.GLASS)
|
||||
-- local nSashId1 = WinCreate.AddSash( vAreas[2], vSashJoints, vSashDims)
|
||||
-- local nSashId2 = WinCreate.AddSash( vAreas[3], vSashJoints, vSashDims)
|
||||
-- WinCreate.AddFill( nSashId1, WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( nSashId2, WIN_FILLTYPES.GLASS)
|
||||
|
||||
-- anta battente / anta ricevente / vetro
|
||||
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 66, 34}, { 90})
|
||||
-- local vSashes = WinCreate.AddSashGroup( vAreas[1], { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50}, bDaylight,
|
||||
-- { vSashJoints, vSashJoints}, { vSashDims, vSashDims}, { WIN_SASHTYPES.ACTIVE, WIN_SASHTYPES.INACTIVE},
|
||||
-- { WIN_OPENING_TYPES.TURNONLY_LEFT, WIN_OPENING_TYPES.TURNONLY_RIGHT})
|
||||
-- WinCreate.AddFill( vSashes[1], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vSashes[2], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vAreas[2], WIN_FILLTYPES.GLASS)
|
||||
|
||||
-- vetro / anta / vetro / anta (1)
|
||||
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50})
|
||||
-- local vAreas2 = WinCreate.AddSplits( vAreas[1], WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50})
|
||||
-- local vAreas3 = WinCreate.AddSplits( vAreas[2], WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50})
|
||||
-- WinCreate.AddFill( vAreas2[1], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vAreas3[1], WIN_FILLTYPES.GLASS)
|
||||
-- local nSashId1 = WinCreate.AddSash( vAreas2[2], vSashJoints)
|
||||
-- local nSashId2 = WinCreate.AddSash( vAreas3[2], vSashJoints)
|
||||
-- WinCreate.AddFill( nSashId1, WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( nSashId2, WIN_FILLTYPES.GLASS)
|
||||
|
||||
-- vetro / anta / vetro / anta (2)
|
||||
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE},
|
||||
-- { 25, 25, 25, 25}, { 90, 120, 90})
|
||||
-- WinCreate.AddFill( vAreas[1], WIN_FILLTYPES.GLASS)
|
||||
-- local nSashId1 = WinCreate.AddSash( vAreas[2], vSashJoints, vSashDims)
|
||||
-- WinCreate.AddFill( nSashId1, WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vAreas[3], WIN_FILLTYPES.GLASS)
|
||||
-- local nSashId2 = WinCreate.AddSash( vAreas[4], vSashJoints, vSashDims)
|
||||
-- WinCreate.AddFill( nSashId2, WIN_FILLTYPES.GLASS)
|
||||
|
||||
-- vetro / vetro / anta / anta
|
||||
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE},
|
||||
-- { 25, 25, 25, 25}, { 90, 90, 90})
|
||||
-- WinCreate.AddFill( vAreas[1], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vAreas[2], WIN_FILLTYPES.GLASS)
|
||||
-- local nSashId1 = WinCreate.AddSash( vAreas[3], vSashJoints, vSashDims)
|
||||
-- WinCreate.AddFill( nSashId1, WIN_FILLTYPES.GLASS)
|
||||
-- local nSashId2 = WinCreate.AddSash( vAreas[4], vSashJoints, vSashDims)
|
||||
-- WinCreate.AddFill( nSashId2, WIN_FILLTYPES.GLASS)
|
||||
|
||||
-- anta / vetro con split
|
||||
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50}, { 90})
|
||||
-- local nSashId = WinCreate.AddSash( vAreas[1], vSashJoints, vSashDims)
|
||||
-- WinCreate.AddFill( nSashId, WIN_FILLTYPES.GLASS)
|
||||
-- local vAreas2 = WinCreate.AddSplits( vAreas[2], WIN_SPLITORIENTATION.HORIZONTAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50}, { 60})
|
||||
-- WinCreate.AddFill( vAreas2[1], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vAreas2[2], WIN_FILLTYPES.GLASS)
|
||||
|
||||
-- anta con split / vetro
|
||||
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50}, { 90})
|
||||
-- local nSashId = WinCreate.AddSash( vAreas[1], vSashJoints, vSashDims)
|
||||
-- local vAreasSash = WinCreate.AddSplits( nSashId, WIN_SPLITORIENTATION.HORIZONTAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50}, { 80})
|
||||
-- WinCreate.AddFill( vAreasSash[1], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vAreasSash[2], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vAreas[2], WIN_FILLTYPES.GLASS)
|
||||
|
||||
-- ante ( divise da split orizzontale) / vetro
|
||||
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50}, { 90})
|
||||
-- local vAreas2 = WinCreate.AddSplits( vAreas[1], WIN_SPLITORIENTATION.HORIZONTAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 30, 70}, { 95})
|
||||
-- local nSashId1 = WinCreate.AddSash( vAreas2[1], vSashJoints, vSashDims)
|
||||
-- WinCreate.AddFill( nSashId1, WIN_FILLTYPES.GLASS)
|
||||
-- local nSashId2 = WinCreate.AddSash( vAreas2[2], vSashJoints, vSashDims)
|
||||
-- WinCreate.AddFill( nSashId2, WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vAreas[2], WIN_FILLTYPES.GLASS)
|
||||
|
||||
|
||||
|
||||
------------------------ Cambi profilo su split ------------------------
|
||||
|
||||
-- sotto: vetro / anta | sopra: vetro
|
||||
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.HORIZONTAL, {WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50}, {})
|
||||
-- local nFill1 = WinCreate.AddFill( vAreas[2], WIN_FILLTYPES.GLASS)
|
||||
-- local vAreas2 = WinCreate.AddSplits( vAreas[1], WIN_SPLITORIENTATION.VERTICAL, {WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50}, {})
|
||||
-- local nFill3 = WinCreate.AddFill( vAreas2[1], WIN_FILLTYPES.GLASS)
|
||||
-- local nSash = WinCreate.AddSash( vAreas2[2], vSashJoints)
|
||||
-- local nFill2 = WinCreate.AddFill( nSash, WIN_FILLTYPES.GLASS)
|
||||
|
||||
-- sotto: vetro / anta / vetro | sopra: anta / vetro
|
||||
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.HORIZONTAL, {WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50})
|
||||
-- local vAreas1 = WinCreate.AddSplits( vAreas[1], WIN_SPLITORIENTATION.VERTICAL, {WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 100/3, 100/3, 100/3})
|
||||
-- local nFill1 = WinCreate.AddFill( vAreas1[1], WIN_FILLTYPES.GLASS)
|
||||
-- local nSash1 = WinCreate.AddSash( vAreas1[2], vSashJoints)
|
||||
-- local nFill2 = WinCreate.AddFill( nSash1, WIN_FILLTYPES.GLASS)
|
||||
-- local nFill3 = WinCreate.AddFill( vAreas1[3], WIN_FILLTYPES.GLASS)
|
||||
-- local vAreas2 = WinCreate.AddSplits( vAreas[2], WIN_SPLITORIENTATION.VERTICAL, {WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50})
|
||||
-- local nSash2 = WinCreate.AddSash( vAreas2[1], vSashJoints)
|
||||
-- local nFill4 = WinCreate.AddFill( nSash2, WIN_FILLTYPES.GLASS)
|
||||
-- local nFill5 = WinCreate.AddFill( vAreas2[2], WIN_FILLTYPES.GLASS)
|
||||
-- -- WinCreate.AddSplits( nFill1, WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 100/3, 100/3, 100/3}, nil, false, false, WIN_MUNTINFILL_SIDES.BOTH)
|
||||
-- -- WinCreate.AddSplits( nFill2, WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 100/3, 100/3, 100/3}, nil, false, false, WIN_MUNTINFILL_SIDES.BOTH)
|
||||
-- -- WinCreate.AddSplits( nFill3, WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 100/3, 100/3, 100/3}, nil, false, false, WIN_MUNTINFILL_SIDES.BOTH)
|
||||
-- -- WinCreate.AddSplits( nFill4, WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 100/3, 100/3, 100/3}, nil, false, false, WIN_MUNTINFILL_SIDES.BOTH)
|
||||
-- -- WinCreate.AddSplits( nFill5, WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 100/3, 100/3, 100/3}, nil, false, false, WIN_MUNTINFILL_SIDES.BOTH)
|
||||
|
||||
-- sotto: vetro / anta / vetro | sopra: vetro / vetro
|
||||
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.HORIZONTAL, {WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 70, 30}, {80})
|
||||
-- local vAreas1 = WinCreate.AddSplits( vAreas[1], WIN_SPLITORIENTATION.VERTICAL, {WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 33.3333, 33.33333, 33.33333}, {80,80})
|
||||
-- local nFill1 = WinCreate.AddFill( vAreas1[1], WIN_FILLTYPES.GLASS)
|
||||
-- local nSash = WinCreate.AddSash( vAreas1[2], vSashJoints)
|
||||
-- local nFill2 = WinCreate.AddFill( nSash, WIN_FILLTYPES.GLASS)
|
||||
-- local nFill3 = WinCreate.AddFill( vAreas1[3], WIN_FILLTYPES.GLASS)
|
||||
-- local vAreas2 = WinCreate.AddSplits( vAreas[2], WIN_SPLITORIENTATION.VERTICAL, {WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50}, {80,80})
|
||||
-- local nFill4 = WinCreate.AddFill( vAreas2[1], WIN_FILLTYPES.GLASS)
|
||||
-- local nFill5 = WinCreate.AddFill( vAreas2[2], WIN_FILLTYPES.GLASS)
|
||||
|
||||
-- sotto: anta-vetro / anta / vetro | sopra: vetro
|
||||
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.HORIZONTAL, {WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 70, 30})
|
||||
-- local vAreas1 = WinCreate.AddSplits( vAreas[1], WIN_SPLITORIENTATION.VERTICAL, {WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 33.3333, 33.33333, 33.33333})
|
||||
-- local vAreas2 = WinCreate.AddSplits( vAreas1[1], WIN_SPLITORIENTATION.HORIZONTAL, {WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50})
|
||||
-- local nFill1 = WinCreate.AddFill( vAreas2[1], WIN_FILLTYPES.GLASS)
|
||||
-- local nSash1 = WinCreate.AddSash( vAreas2[2], vSashJoints)
|
||||
-- local nFill2 = WinCreate.AddFill( nSash1, WIN_FILLTYPES.GLASS)
|
||||
-- local nSash = WinCreate.AddSash( vAreas1[2], vSashJoints)
|
||||
-- local nFill3 = WinCreate.AddFill( nSash, WIN_FILLTYPES.GLASS)
|
||||
-- local nFill4 = WinCreate.AddFill( vAreas1[3], WIN_FILLTYPES.GLASS)
|
||||
-- local nFill5 = WinCreate.AddFill( vAreas[2], WIN_FILLTYPES.GLASS)
|
||||
|
||||
-- sotto: vetro | sopra: anta / vetro - vetro / anta
|
||||
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.HORIZONTAL, {WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 70, 30})
|
||||
-- WinCreate.AddFill( vAreas[1], WIN_FILLTYPES.GLASS)
|
||||
-- local vAreas1 = WinCreate.AddSplits( vAreas[2], WIN_SPLITORIENTATION.VERTICAL, {WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 33.3333, 33.33333, 33.33333}, {80,80})
|
||||
-- local nSash1 = WinCreate.AddSash( vAreas1[1], vSashJoints)
|
||||
-- WinCreate.AddFill( nSash1, WIN_FILLTYPES.GLASS)
|
||||
-- local nSash2 = WinCreate.AddSash( vAreas1[3], vSashJoints)
|
||||
-- WinCreate.AddFill( nSash2, WIN_FILLTYPES.GLASS)
|
||||
-- local vAreas2 = WinCreate.AddSplits( vAreas1[2], WIN_SPLITORIENTATION.HORIZONTAL, {WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50})
|
||||
-- WinCreate.AddFill( vAreas2[2], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vAreas2[1], WIN_FILLTYPES.GLASS)
|
||||
|
||||
-- sotto: vetro / anta | sopra: anta / vetro
|
||||
-- local vAreas = WinCreate.AddGridSplits( nFrameId, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50}, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50}, true)
|
||||
-- WinCreate.AddFill( vAreas[1], WIN_FILLTYPES.GLASS)
|
||||
-- local nSash1 = WinCreate.AddSash( vAreas[2], vSashJoints)
|
||||
-- WinCreate.AddFill( nSash1, WIN_FILLTYPES.GLASS)
|
||||
-- local nSash2 = WinCreate.AddSash( vAreas[3], vSashJoints)
|
||||
-- WinCreate.AddFill( nSash2, WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vAreas[4], WIN_FILLTYPES.GLASS)
|
||||
|
||||
|
||||
|
||||
------------------------ Alzante Scorrevole ------------------------
|
||||
|
||||
-- vFrameDims = { 55, 55, 55, 55}
|
||||
-- vSashDims = { 135, 80, 80, 80}
|
||||
-- local nFrameId = WinCreate.CreateFrame( WIN_FRAME_TYPES.RECT, { WindowWidth, WindowHeight}, vFrameJoints, vFrameDims)
|
||||
-- WinCreate.AddThreshold( nFrameId, 'Threshold')
|
||||
|
||||
-- anta mobile a sx
|
||||
-- local vSash = WinCreate.AddSashGroup( nFrameId, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50}, bDaylight, { vSashJoints, vSashJoints}, { vSashDims, vSashDims},
|
||||
-- { WIN_SASHTYPES.SLIDE_MOVABLE, WIN_SASHTYPES.SLIDE_FIXED}, { WIN_OPENING_TYPES.COPLANARSLIDE_RIGHT, WIN_OPENING_TYPES.FIXED})
|
||||
-- local nFill1 = WinCreate.AddFill( vSash[1], WIN_FILLTYPES.GLASS)
|
||||
-- local nFill2 = WinCreate.AddFill( vSash[2], WIN_FILLTYPES.GLASS)
|
||||
-- -- WinCreate.AddSplits( nFill1, WIN_SPLITORIENTATION.HORIZONTAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50}, nil, false, false, WIN_MUNTINFILL_SIDES.BOTH)
|
||||
-- -- WinCreate.AddSplits( nFill2, WIN_SPLITORIENTATION.HORIZONTAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50}, nil, false, false, WIN_MUNTINFILL_SIDES.BOTH)
|
||||
-- -- local nSashGrpId = EgtGetParent( vSash[1])
|
||||
-- -- WinCreate.AddHardware( nSashGrpId, '000592', 'Sx')
|
||||
|
||||
-- anta mobile a dx
|
||||
-- local vSash = WinCreate.AddSashGroup( nFrameId, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50}, bDaylight, { vSashJoints, vSashJoints}, { vSashDims, vSashDims},
|
||||
-- { WIN_SASHTYPES.SLIDE_FIXED, WIN_SASHTYPES.SLIDE_MOVABLE}, { WIN_OPENING_TYPES.FIXED, WIN_OPENING_TYPES.COPLANARSLIDE_LEFT})
|
||||
-- WinCreate.AddFill( vSash[1], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vSash[2], WIN_FILLTYPES.GLASS)
|
||||
-- -- local nSashGrpId = EgtGetParent( vSash[1])
|
||||
-- -- WinCreate.AddHardware( nSashGrpId, '000592', 'Dx')
|
||||
|
||||
-- 2 ante mobili, sx davanti
|
||||
-- local vSash = WinCreate.AddSashGroup( nFrameId, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50}, bDaylight, { vSashJoints, vSashJoints}, { vSashDims, vSashDims},
|
||||
-- { WIN_SASHTYPES.SLIDE_MOVABLE, WIN_SASHTYPES.SLIDE_MOVABLE_BACK}, { WIN_OPENING_TYPES.COPLANARSLIDE_RIGHT, WIN_OPENING_TYPES.COPLANARSLIDE_LEFT})
|
||||
-- WinCreate.AddFill( vSash[1], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vSash[2], WIN_FILLTYPES.GLASS)
|
||||
-- -- local nSashGrpId = EgtGetParent( vSash[1])
|
||||
-- -- WinCreate.AddHardware( nSashGrpId, '000593', 'Sx')
|
||||
|
||||
-- 2 ante mobili, dx davanti
|
||||
-- local vSash = WinCreate.AddSashGroup( nFrameId, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50}, bDaylight, { vSashJoints, vSashJoints}, { vSashDims, vSashDims},
|
||||
-- { WIN_SASHTYPES.SLIDE_MOVABLE_BACK, WIN_SASHTYPES.SLIDE_MOVABLE}, { WIN_OPENING_TYPES.COPLANARSLIDE_RIGHT, WIN_OPENING_TYPES.COPLANARSLIDE_LEFT})
|
||||
-- WinCreate.AddFill( vSash[1], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vSash[2], WIN_FILLTYPES.GLASS)
|
||||
-- local nSashGrpId = EgtGetParent( vSash[1])
|
||||
-- WinCreate.AddHardware( nSashGrpId, '000593', 'Dx')
|
||||
|
||||
-- 4 ante, le centrali sono mobili
|
||||
-- local nFrameId = WinCreate.CreateFrame( WIN_FRAME_TYPES.RECT, { 4500, 2100}, vFrameJoints, vFrameDims)
|
||||
-- WinCreate.AddThreshold( nFrameId, 'Threshold')
|
||||
-- local vSash = WinCreate.AddSashGroup( nFrameId, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 25, 25, 25, 25}, bDaylight,
|
||||
-- { vSashJoints, vSashJoints, vSashJoints, vSashJoints}, { vSashDims, vSashDims, vSashDims, vSashDims},
|
||||
-- { WIN_SASHTYPES.SLIDE_FIXED, WIN_SASHTYPES.SLIDE_MOVABLE, WIN_SASHTYPES.SLIDE_MOVABLE, WIN_SASHTYPES.SLIDE_FIXED},
|
||||
-- { WIN_OPENING_TYPES.FIXED, WIN_OPENING_TYPES.COPLANARSLIDE_LEFT, WIN_OPENING_TYPES.COPLANARSLIDE_RIGHT, WIN_OPENING_TYPES.FIXED})
|
||||
-- WinCreate.AddFill( vSash[1], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vSash[2], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vSash[3], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vSash[4], WIN_FILLTYPES.GLASS)
|
||||
-- -- local nSashGrpId = EgtGetParent( vSash[1])
|
||||
-- -- WinCreate.AddHardware( nSashGrpId, '000594', 'Dx')
|
||||
|
||||
-- 4 ante mobili
|
||||
-- local nFrameId = WinCreate.CreateFrame( WIN_FRAME_TYPES.RECT, { 4500, 2100}, vFrameJoints, vFrameDims)
|
||||
-- -- WinCreate.AddThreshold( nFrameId, 'Threshold')
|
||||
-- local vSash = WinCreate.AddSashGroup( nFrameId, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 25, 25, 25, 25}, bDaylight,
|
||||
-- { vSashJoints, vSashJoints, vSashJoints, vSashJoints}, { vSashDims, vSashDims, vSashDims, vSashDims},
|
||||
-- { WIN_SASHTYPES.SLIDE_MOVABLE_BACK, WIN_SASHTYPES.SLIDE_MOVABLE, WIN_SASHTYPES.SLIDE_MOVABLE, WIN_SASHTYPES.SLIDE_MOVABLE_BACK},
|
||||
-- { WIN_OPENING_TYPES.COPLANARSLIDE_RIGHT, WIN_OPENING_TYPES.COPLANARSLIDE_LEFT, WIN_OPENING_TYPES.COPLANARSLIDE_RIGHT, WIN_OPENING_TYPES.COPLANARSLIDE_LEFT})
|
||||
-- local nFill1 = WinCreate.AddFill( vSash[1], WIN_FILLTYPES.GLASS)
|
||||
-- local nFill2 = WinCreate.AddFill( vSash[2], WIN_FILLTYPES.GLASS)
|
||||
-- local nFill3 = WinCreate.AddFill( vSash[3], WIN_FILLTYPES.GLASS)
|
||||
-- local nFill4 = WinCreate.AddFill( vSash[4], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddGridSplits( nFill1, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50},
|
||||
-- { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 33.333, 33.333, 33.333}, true, nil, nil, WIN_MUNTINFILL_SIDES.BOTH)
|
||||
-- WinCreate.AddGridSplits( nFill2, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50},
|
||||
-- { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 33.333, 33.333, 33.333}, true, nil, nil, WIN_MUNTINFILL_SIDES.BOTH)
|
||||
-- WinCreate.AddGridSplits( nFill3, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50},
|
||||
-- { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 33.333, 33.333, 33.333}, true, nil, nil, WIN_MUNTINFILL_SIDES.BOTH)
|
||||
-- WinCreate.AddGridSplits( nFill4, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50},
|
||||
-- { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 33.333, 33.333, 33.333}, true, nil, nil, WIN_MUNTINFILL_SIDES.BOTH)
|
||||
-- -- local nSashGrpId = EgtGetParent( vSash[1])
|
||||
-- -- WinCreate.AddHardware( nSashGrpId, '000595', 'Dx')
|
||||
|
||||
|
||||
|
||||
------------------------ Finestre vetro fisso ------------------------
|
||||
|
||||
-- standard
|
||||
-- WinCreate.AddBottomRail( nFrameId, 2, { 90, 78})
|
||||
-- WinCreate.AddFill( nFrameId, WIN_FILLTYPES.GLASS)
|
||||
|
||||
-- divisione orizzontale / verticale
|
||||
-- WinCreate.AddBottomRail( nFrameId, 3, {})
|
||||
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.HORIZONTAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 70, 30}, { 70})
|
||||
-- -- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 70, 30}, { 60})
|
||||
-- WinCreate.AddFill( vAreas[1], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vAreas[2], WIN_FILLTYPES.GLASS)
|
||||
|
||||
-- divisione verticale ed orizzontale (1)
|
||||
-- WinCreate.AddBottomRail( nFrameId, 1, { 60})
|
||||
-- local vAreas1 = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50}, { 100})
|
||||
-- local vAreas2 = WinCreate.AddSplits( vAreas1[1], WIN_SPLITORIENTATION.HORIZONTAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50}, { 60})
|
||||
-- local vAreas3 = WinCreate.AddSplits( vAreas1[2], WIN_SPLITORIENTATION.HORIZONTAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50}, { 60})
|
||||
-- WinCreate.AddFill( vAreas2[1], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vAreas2[2], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vAreas3[1], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vAreas3[2], WIN_FILLTYPES.GLASS)
|
||||
|
||||
-- divisione verticale ed orizzontale (2)
|
||||
-- WinCreate.AddBottomRail( nFrameId, 2)
|
||||
-- local vAreas = WinCreate.AddGridSplits( nFrameId, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50}, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 70, 30},
|
||||
-- true, { 100}, { 60})
|
||||
-- WinCreate.AddFill( vAreas[1], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vAreas[2], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vAreas[3], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vAreas[4], WIN_FILLTYPES.GLASS)
|
||||
|
||||
|
||||
|
||||
------------------------ Finestre con anta singola ------------------------
|
||||
|
||||
-- standard
|
||||
-- WinCreate.AddThreshold( nFrameId, 'Threshold')
|
||||
-- local nSashId = WinCreate.AddSash( nFrameId, vSashJoints, vSashDims, WIN_OPENING_TYPES.TILTTURN_LEFT)
|
||||
-- WinCreate.AddBottomRail( nSashId, 2, { 90, 60})
|
||||
-- WinCreate.AddFill( nSashId, WIN_FILLTYPES.GLASS)
|
||||
|
||||
-- divisione orizzontale / verticale
|
||||
-- local nSashId = WinCreate.AddSash( nFrameId, vSashJoints, vSashDims, WIN_OPENING_TYPES.TILTTURN_LEFT)
|
||||
-- WinCreate.AddBottomRail( nSashId, 1, { 100})
|
||||
-- -- local vAreas = WinCreate.AddSplits( nSashId, WIN_SPLITORIENTATION.HORIZONTAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 70, 30})
|
||||
-- local vAreas = WinCreate.AddSplits( nSashId, WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50})
|
||||
-- WinCreate.AddFill( vAreas[1], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vAreas[2], WIN_FILLTYPES.GLASS)
|
||||
|
||||
-- divisione verticale e orizzontale
|
||||
-- local nSashId = WinCreate.AddSash( nFrameId, vSashJoints, vSashDims, WIN_OPENING_TYPES.TILTTURN_LEFT)
|
||||
-- local vAreas1 = WinCreate.AddSplits( nSashId, WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50}, { 100})
|
||||
-- local vAreas2 = WinCreate.AddSplits( vAreas1[1], WIN_SPLITORIENTATION.HORIZONTAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50}, { 60})
|
||||
-- local vAreas3 = WinCreate.AddSplits( vAreas1[2], WIN_SPLITORIENTATION.HORIZONTAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50}, { 60})
|
||||
-- WinCreate.AddFill( vAreas2[1], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vAreas2[2], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vAreas3[1], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vAreas3[2], WIN_FILLTYPES.GLASS)
|
||||
|
||||
|
||||
|
||||
------------------------ Finestre con più ante singole ------------------------
|
||||
|
||||
-- due ante divisione verticale
|
||||
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50}, { 120})
|
||||
-- local nSash1Id = WinCreate.AddSash( vAreas[1], vSashJoints, vSashDims, WIN_OPENING_TYPES.TILTTURN_LEFT)
|
||||
-- WinCreate.AddFill( nSash1Id, WIN_FILLTYPES.GLASS)
|
||||
-- local nSash2Id = WinCreate.AddSash( vAreas[2], vSashJoints, vSashDims, WIN_OPENING_TYPES.TILTTURN_RIGHT)
|
||||
-- WinCreate.AddFill( nSash2Id, WIN_FILLTYPES.GLASS)
|
||||
|
||||
-- due ante divisione orizzontale
|
||||
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.HORIZONTAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50}, { 120})
|
||||
-- local nSash1Id = WinCreate.AddSash( vAreas[1], vSashJoints, vSashDims, WIN_OPENING_TYPES.TILTONLY_TOP)
|
||||
-- WinCreate.AddFill( nSash1Id, WIN_FILLTYPES.GLASS)
|
||||
-- local nSash2Id = WinCreate.AddSash( vAreas[2], vSashJoints, vSashDims, WIN_OPENING_TYPES.TILTONLY_TOP)
|
||||
-- WinCreate.AddFill( nSash2Id, WIN_FILLTYPES.GLASS)
|
||||
|
||||
-- tre ante
|
||||
-- -- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.ABSOLUTE, WIN_MEASURE.ABSOLUTE, WIN_MEASURE.PROPORTIONAL}, { 500, 200, 1}, { 95, 95})
|
||||
-- -- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PROPORTIONAL, WIN_MEASURE.PROPORTIONAL, WIN_MEASURE.PROPORTIONAL}, { 1, 1, 1}, { 95, 95})
|
||||
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 33.333, 33.333, 33.333}, { 95, 95})
|
||||
-- local nSash1Id = WinCreate.AddSash( vAreas[1], vSashJoints, vSashDims)
|
||||
-- WinCreate.AddFill( nSash1Id, WIN_FILLTYPES.GLASS)
|
||||
-- local nSash2Id = WinCreate.AddSash( vAreas[2], vSashJoints, vSashDims)
|
||||
-- WinCreate.AddFill( nSash2Id, WIN_FILLTYPES.GLASS)
|
||||
-- local nSash3Id = WinCreate.AddSash( vAreas[3], vSashJoints, vSashDims)
|
||||
-- WinCreate.AddFill( nSash3Id, WIN_FILLTYPES.GLASS)
|
||||
|
||||
-- tre ante : una sopra e due sotto
|
||||
-- local vAreas1 = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.HORIZONTAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50}, { 115})
|
||||
-- local vAreas2 = WinCreate.AddSplits( vAreas1[1], WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50}, { 95})
|
||||
-- local nSash1Id = WinCreate.AddSash( vAreas1[2], vSashJoints, vSashDims, WIN_OPENING_TYPES.FIXED)
|
||||
-- WinCreate.AddFill( nSash1Id, WIN_FILLTYPES.GLASS)
|
||||
-- local nSash2Id = WinCreate.AddSash( vAreas2[1], vSashJoints, vSashDims, WIN_OPENING_TYPES.TILTTURN_LEFT)
|
||||
-- WinCreate.AddFill( nSash2Id, WIN_FILLTYPES.GLASS)
|
||||
-- local nSash3Id = WinCreate.AddSash( vAreas2[2], vSashJoints, vSashDims, WIN_OPENING_TYPES.TILTTURN_RIGHT)
|
||||
-- WinCreate.AddFill( nSash3Id, WIN_FILLTYPES.GLASS)
|
||||
|
||||
-- sei ante (1)
|
||||
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.HORIZONTAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50}, { 105})
|
||||
-- local vAreas1 = WinCreate.AddSplits( vAreas[1], WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 33.333, 33.333, 33.333}, { 95, 95})
|
||||
-- local vAreas2 = WinCreate.AddSplits( vAreas[2], WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 33.333, 33.333, 33.333}, { 95, 95})
|
||||
-- local nSash1Id = WinCreate.AddSash( vAreas1[1], vSashJoints, vSashDims)
|
||||
-- WinCreate.AddFill( nSash1Id, WIN_FILLTYPES.GLASS)
|
||||
-- local nSash2Id = WinCreate.AddSash( vAreas1[2], vSashJoints, vSashDims)
|
||||
-- WinCreate.AddFill( nSash2Id, WIN_FILLTYPES.GLASS)
|
||||
-- local nSash3Id = WinCreate.AddSash( vAreas1[3], vSashJoints, vSashDims)
|
||||
-- WinCreate.AddFill( nSash3Id, WIN_FILLTYPES.GLASS)
|
||||
-- local nSash4Id = WinCreate.AddSash( vAreas2[1], vSashJoints, vSashDims)
|
||||
-- WinCreate.AddFill( nSash4Id, WIN_FILLTYPES.GLASS)
|
||||
-- local nSash5Id = WinCreate.AddSash( vAreas2[2], vSashJoints, vSashDims)
|
||||
-- WinCreate.AddFill( nSash5Id, WIN_FILLTYPES.GLASS)
|
||||
-- local nSash6Id = WinCreate.AddSash( vAreas2[3], vSashJoints, vSashDims)
|
||||
-- WinCreate.AddFill( nSash6Id, WIN_FILLTYPES.GLASS)
|
||||
|
||||
-- sei ante (2)
|
||||
-- local vAreas = WinCreate.AddGridSplits( nFrameId, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 33.333, 33.333, 33.333},
|
||||
-- { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50}, false, { 100, 85}, { 120})
|
||||
-- local nSash1Id = WinCreate.AddSash( vAreas[1], vSashJoints, vSashDims)
|
||||
-- WinCreate.AddFill( nSash1Id, WIN_FILLTYPES.GLASS)
|
||||
-- local nSash2Id = WinCreate.AddSash( vAreas[2], vSashJoints, vSashDims)
|
||||
-- WinCreate.AddFill( nSash2Id, WIN_FILLTYPES.GLASS)
|
||||
-- local nSash3Id = WinCreate.AddSash( vAreas[3], vSashJoints, vSashDims)
|
||||
-- WinCreate.AddFill( nSash3Id, WIN_FILLTYPES.GLASS)
|
||||
-- local nSash4Id = WinCreate.AddSash( vAreas[4], vSashJoints, vSashDims)
|
||||
-- WinCreate.AddFill( nSash4Id, WIN_FILLTYPES.GLASS)
|
||||
-- local nSash5Id = WinCreate.AddSash( vAreas[5], vSashJoints, vSashDims)
|
||||
-- WinCreate.AddFill( nSash5Id, WIN_FILLTYPES.GLASS)
|
||||
-- local nSash6Id = WinCreate.AddSash( vAreas[6], vSashJoints, vSashDims)
|
||||
-- WinCreate.AddFill( nSash6Id, WIN_FILLTYPES.GLASS)
|
||||
|
||||
|
||||
|
||||
------------------------ Finestre con ante battenti e riceventi ------------------------
|
||||
|
||||
-- battente / ricevente
|
||||
-- local vSashes = WinCreate.AddSashGroup( nFrameId, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50}, bDaylight,
|
||||
-- { vSashJoints, vSashJoints}, { vSashDims, vSashDims}, { WIN_SASHTYPES.ACTIVE, WIN_SASHTYPES.INACTIVE},
|
||||
-- { WIN_OPENING_TYPES.TURNONLY_LEFT, WIN_OPENING_TYPES.TURNONLY_RIGHT})
|
||||
-- WinCreate.AddFill( vSashes[1], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vSashes[2], WIN_FILLTYPES.GLASS)
|
||||
|
||||
-- battente / ricevente / ricevente
|
||||
-- local vSashes = WinCreate.AddSashGroup( nFrameId, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 100/3, 100/3, !00/3}, bDaylight,
|
||||
-- { vSashJoints, vSashJoints, vSashJoints}, { vSashDims, vSashDims, vSashDims},
|
||||
-- { WIN_SASHTYPES.ACTIVE, WIN_SASHTYPES.INACTIVE_IN, WIN_SASHTYPES.INACTIVE_OUT},
|
||||
-- { WIN_OPENING_TYPES.TURNONLY_LEFT, WIN_OPENING_TYPES.TURNONLY_RIGHT, WIN_OPENING_TYPES.TURNONLY_RIGHT})
|
||||
-- WinCreate.AddFill( vSashes[1], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vSashes[2], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vSashes[3], WIN_FILLTYPES.GLASS)
|
||||
|
||||
-- battente / battente / ricevente
|
||||
-- local vSashes = WinCreate.AddSashGroup( nFrameId, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 33.333, 33.333, 33.333}, bDaylight,
|
||||
-- { vSashJoints, vSashJoints, vSashJoints}, { vSashDims, vSashDims, vSashDims},
|
||||
-- { WIN_SASHTYPES.ACTIVE_OUT, WIN_SASHTYPES.ACTIVE_IN, WIN_SASHTYPES.INACTIVE},
|
||||
-- { WIN_OPENING_TYPES.TURNONLY_LEFT, WIN_OPENING_TYPES.TURNONLY_LEFT, WIN_OPENING_TYPES.TURNONLY_RIGHT})
|
||||
-- WinCreate.AddFill( vSashes[1], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vSashes[2], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vSashes[3], WIN_FILLTYPES.GLASS)
|
||||
|
||||
-- battente / battente / ricevente / ricevente
|
||||
-- local vSashes = WinCreate.AddSashGroup( nFrameId, { WIN_MEASURE.PROPORTIONAL, WIN_MEASURE.PROPORTIONAL, WIN_MEASURE.PROPORTIONAL, WIN_MEASURE.PROPORTIONAL}, { 1, 1, 1, 1}, bDaylight,
|
||||
-- { vSashJoints, vSashJoints, vSashJoints, vSashJoints}, { vSashDims, vSashDims, vSashDims, vSashDims},
|
||||
-- { WIN_SASHTYPES.ACTIVE_OUT, WIN_SASHTYPES.ACTIVE_IN, WIN_SASHTYPES.INACTIVE_IN, WIN_SASHTYPES.INACTIVE_OUT},
|
||||
-- { WIN_OPENING_TYPES.TURNONLY_LEFT, WIN_OPENING_TYPES.TURNONLY_LEFT, WIN_OPENING_TYPES.TURNONLY_RIGHT, WIN_OPENING_TYPES.TURNONLY_RIGHT})
|
||||
-- WinCreate.AddFill( vSashes[1], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vSashes[2], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vSashes[3], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vSashes[4], WIN_FILLTYPES.GLASS)
|
||||
|
||||
|
||||
|
||||
------------------------ Finestre con ante singole e ante battenti/riceventi ------------------------
|
||||
|
||||
-- tre ante : singola / ricevente / battente
|
||||
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 33, 67}, { 115})
|
||||
-- local nSash1Id = WinCreate.AddSash( vAreas[1], vSashJoints, vSashDims, WIN_OPENING_TYPES.TILTTURN_LEFT)
|
||||
-- WinCreate.AddFill( nSash1Id, WIN_FILLTYPES.GLASS)
|
||||
-- local vSashes = WinCreate.AddSashGroup( vAreas[2], { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50}, bDaylight,
|
||||
-- { vSashJoints, vSashJoints}, { vSashDims, vSashDims}, { WIN_SASHTYPES.INACTIVE, WIN_SASHTYPES.ACTIVE},
|
||||
-- { WIN_OPENING_TYPES.TURNONLY_LEFT, WIN_OPENING_TYPES.TURNONLY_RIGHT})
|
||||
-- WinCreate.AddFill( vSashes[1], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vSashes[2], WIN_FILLTYPES.GLASS)
|
||||
|
||||
-- tre ante ( singola / ricevente/ battente) con split nelle ante
|
||||
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 33, 67}, { 95})
|
||||
-- local nSash1Id = WinCreate.AddSash( vAreas[1], vSashJoints, vSashDims, WIN_OPENING_TYPES.TILTTURN_LEFT)
|
||||
-- local vAreasSash1 = WinCreate.AddSplits( nSash1Id, WIN_SPLITORIENTATION.HORIZONTAL, { WIN_MEASURE.ABSOLUTE, WIN_MEASURE.PROPORTIONAL}, { WindowHeight / 5, 1}, { 60})
|
||||
-- WinCreate.AddFill( vAreasSash1[1], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vAreasSash1[2], WIN_FILLTYPES.GLASS)
|
||||
-- local vSashes2 = WinCreate.AddSashGroup( vAreas[2], { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50}, bDaylight,
|
||||
-- { vSashJoints, vSashJoints}, { vSashDims, vSashDims}, { WIN_SASHTYPES.INACTIVE, WIN_SASHTYPES.ACTIVE},
|
||||
-- { WIN_OPENING_TYPES.TURNONLY_LEFT, WIN_OPENING_TYPES.TURNONLY_RIGHT})
|
||||
-- local vAreasSash2 = WinCreate.AddSplits( vSashes2[1], WIN_SPLITORIENTATION.HORIZONTAL, { WIN_MEASURE.ABSOLUTE, WIN_MEASURE.PROPORTIONAL}, { WindowHeight / 5, 1}, { 60})
|
||||
-- WinCreate.AddFill( vAreasSash2[1], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vAreasSash2[2], WIN_FILLTYPES.GLASS)
|
||||
-- local vAreasSash3 = WinCreate.AddSplits( vSashes2[2], WIN_SPLITORIENTATION.HORIZONTAL, { WIN_MEASURE.ABSOLUTE, WIN_MEASURE.PROPORTIONAL}, { WindowHeight / 5, 1}, { 60})
|
||||
-- WinCreate.AddFill( vAreasSash3[1], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vAreasSash3[2], WIN_FILLTYPES.GLASS)
|
||||
|
||||
-- 3 ante : sopra battente / ricevente, sotto singola
|
||||
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.HORIZONTAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 30, 70}, { 105})
|
||||
-- local nSash0Id = WinCreate.AddSash( vAreas[1], vSashJoints, vSashDims, WIN_OPENING_TYPES.FIXED)
|
||||
-- WinCreate.AddFill( nSash0Id, WIN_FILLTYPES.GLASS)
|
||||
-- local vSashes = WinCreate.AddSashGroup( vAreas[2], { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50}, bDaylight,
|
||||
-- { vSashJoints, vSashJoints}, { vSashDims, vSashDims}, { WIN_SASHTYPES.ACTIVE, WIN_SASHTYPES.INACTIVE},
|
||||
-- { WIN_OPENING_TYPES.TURNONLY_LEFT, WIN_OPENING_TYPES.TURNONLY_RIGHT})
|
||||
-- WinCreate.AddFill( vSashes[1], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vSashes[2], WIN_FILLTYPES.GLASS)
|
||||
|
||||
-- 4 ante : sopra anta singola e sotto singola ( con split) / battente / ricevente
|
||||
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.HORIZONTAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 70, 30}, { 95})
|
||||
-- local vAreas1 = WinCreate.AddSplits( vAreas[1], WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 30, 70}, { 95})
|
||||
-- local nSash0Id = WinCreate.AddSash( vAreas[2], vSashJoints, vSashDims, WIN_OPENING_TYPES.TILTONLY_TOP)
|
||||
-- WinCreate.AddFill( nSash0Id, WIN_FILLTYPES.GLASS)
|
||||
-- local nSash1Id = WinCreate.AddSash( vAreas1[1], vSashJoints, vSashDims, WIN_OPENING_TYPES.TILTTURN_LEFT)
|
||||
-- local vSashAreas = WinCreate.AddSplits( nSash1Id, WIN_SPLITORIENTATION.HORIZONTAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 60, 40}, { 60})
|
||||
-- WinCreate.AddFill( vSashAreas[1], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vSashAreas[2], WIN_FILLTYPES.GLASS)
|
||||
-- local vSashes = WinCreate.AddSashGroup( vAreas1[2], { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50}, bDaylight,
|
||||
-- { vSashJoints, vSashJoints}, { vSashDims, vSashDims}, { WIN_SASHTYPES.ACTIVE, WIN_SASHTYPES.INACTIVE},
|
||||
-- { WIN_OPENING_TYPES.TURNONLY_LEFT, WIN_OPENING_TYPES.TURNONLY_RIGHT})
|
||||
-- WinCreate.AddFill( vSashes[1], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vSashes[2], WIN_FILLTYPES.GLASS)
|
||||
|
||||
-- sei ante : divisione orizzontale e per ogni divisione anta singola / battente/ ricevente
|
||||
-- local vAreas = WinCreate.AddGridSplits( nFrameId, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 33, 67}, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50}, false, { 95}, { 115})
|
||||
-- local nSash1Id = WinCreate.AddSash( vAreas[1], vSashJoints, vSashDims,WIN_OPENING_TYPES.TILTTURN_LEFT)
|
||||
-- WinCreate.AddFill( nSash1Id, WIN_FILLTYPES.GLASS)
|
||||
-- local nSash2Id = WinCreate.AddSash( vAreas[3], vSashJoints, vSashDims, WIN_OPENING_TYPES.TILTTURN_LEFT)
|
||||
-- WinCreate.AddFill( nSash2Id, WIN_FILLTYPES.GLASS)
|
||||
-- local vSashes1 = WinCreate.AddSashGroup( vAreas[2], { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50}, bDaylight,
|
||||
-- { vSashJoints, vSashJoints}, { vSashDims, vSashDims}, { WIN_SASHTYPES.ACTIVE, WIN_SASHTYPES.INACTIVE},
|
||||
-- { WIN_OPENING_TYPES.TURNONLY_LEFT, WIN_OPENING_TYPES.TURNONLY_RIGHT})
|
||||
-- WinCreate.AddFill( vSashes1[1], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vSashes1[2], WIN_FILLTYPES.GLASS)
|
||||
-- local vSashes2 = WinCreate.AddSashGroup( vAreas[4], { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50}, bDaylight,
|
||||
-- { vSashJoints, vSashJoints}, { vSashDims, vSashDims}, { WIN_SASHTYPES.ACTIVE, WIN_SASHTYPES.INACTIVE},
|
||||
-- { WIN_OPENING_TYPES.TURNONLY_LEFT, WIN_OPENING_TYPES.TURNONLY_RIGHT})
|
||||
-- WinCreate.AddFill( vSashes2[1], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vSashes2[2], WIN_FILLTYPES.GLASS)
|
||||
|
||||
|
||||
|
||||
------------------------ Inglesine ------------------------
|
||||
|
||||
-- vetro fisso con inglesina interna
|
||||
-- WinCreate.AddBottomRail( nFrameId, 2, { 90, 78})
|
||||
-- local nFill = WinCreate.AddFill( nFrameId, WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddSplits( nFill, WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 33.3333, 33.3333, 33.33333},
|
||||
-- nil, false, false, WIN_MUNTINFILL_SIDES.IN)
|
||||
|
||||
-- vetro fisso con inglesine a griglia (1)
|
||||
-- WinCreate.AddBottomRail( nFrameId, 2)
|
||||
-- local nFill = WinCreate.AddFill( nFrameId, WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddGridSplits( nFill, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50},
|
||||
-- { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 33.333, 33.333, 33.333}, true, { 50}, { 30, 30}, WIN_MUNTINFILL_SIDES.BOTH)
|
||||
|
||||
-- vetro fisso con inglesine a griglia (2)
|
||||
-- WinCreate.AddBottomRail( nFrameId, 2)
|
||||
-- local nFill = WinCreate.AddFill( nFrameId, WIN_FILLTYPES.GLASS)
|
||||
-- local vAreas = WinCreate.AddSplits( nFill, WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50}, nil, false, false, 3)
|
||||
-- WinCreate.AddSplits( vAreas[1], WIN_SPLITORIENTATION.HORIZONTAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 33.3333, 33.3333, 33.3333},
|
||||
-- nil, false, false, WIN_MUNTINFILL_SIDES.BOTH)
|
||||
-- WinCreate.AddSplits( vAreas[2], WIN_SPLITORIENTATION.HORIZONTAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 33.3333, 33.3333, 33.3333},
|
||||
-- nil, false, false, WIN_MUNTINFILL_SIDES.BOTH)
|
||||
|
||||
-- 4 vetri fissi con inglesine
|
||||
-- local vAreas = WinCreate.AddGridSplits( nFrameId, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50},
|
||||
-- { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50}, true)
|
||||
-- local nFill1 = WinCreate.AddFill( vAreas[1], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddGridSplits( nFill1, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50},
|
||||
-- { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50}, false, nil, nil, WIN_MUNTINFILL_SIDES.BOTH)
|
||||
-- local nFill2 = WinCreate.AddFill( vAreas[2], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddSplits( nFill2, WIN_SPLITORIENTATION.HORIZONTAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 33.3333, 33.3333, 33.33333},
|
||||
-- { 40, 50}, false, false, WIN_MUNTINFILL_SIDES.IN)
|
||||
-- local nFill3 = WinCreate.AddFill( vAreas[3], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddGridSplits( nFill3, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50},
|
||||
-- { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50},
|
||||
-- true, nil, nil, WIN_MUNTINFILL_SIDES.BOTH)
|
||||
-- local nFill4 = WinCreate.AddFill( vAreas[4], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddSplits( nFill4, WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 33.3333, 33.3333, 33.33333},
|
||||
-- nil, false, false, WIN_MUNTINFILL_SIDES.OUT)
|
||||
|
||||
-- anta con inglesine
|
||||
-- local nSash = WinCreate.AddSash( nFrameId, vSashJoints, vSashDims)
|
||||
-- local nFill = WinCreate.AddFill( nSash, WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddSplits( nFill, WIN_SPLITORIENTATION.HORIZONTAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE},
|
||||
-- { 33.3333, 33.3333, 33.33333}, nil, false, false, WIN_MUNTINFILL_SIDES.BOTH)
|
||||
|
||||
|
||||
|
||||
------------------------ Ferramenta ------------------------
|
||||
|
||||
-- local nFrameId = WinCreate.CreateFrame( WIN_FRAME_TYPES.RECT, { 1500, 2100}, vFrameJoints, vFrameDims)
|
||||
-- local nFrameId = WinCreate.CreateFrame( WIN_FRAME_TYPES.ROUND_ARC, { 1500, 2100}, vFrameJoints, vFrameDims)
|
||||
-- local nFrameId = WinCreate.CreateFrame( WIN_FRAME_TYPES.SEGMENTAL_ARC, { 1500, 1500, 1700}, vFrameJoints, vFrameDims)
|
||||
-- local nFrameId = WinCreate.CreateFrame( WIN_FRAME_TYPES.CHAMFER_SIDE, { 1500, 1800 + 1200, 1800}, vFrameJoints, vFrameDims)
|
||||
-- local nFrameId = WinCreate.CreateFrame( WIN_FRAME_TYPES.CHAMFER, { 1500, 1500, 1800}, vFrameJoints, vFrameDims)
|
||||
|
||||
-- anta singola
|
||||
-- local nSashId = WinCreate.AddSash( nFrameId, vSashJoints, vSashDims, WIN_OPENING_TYPES.TILTTURN_LEFT)
|
||||
-- WinCreate.AddFill( nSashId, WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddHardware( nSashId, '000558', 'Sx')
|
||||
-- WinCreate.AddHardware( nSashId, '000545', 'Sx') -- aria 4, errato ma crea alcune lavorazioni in più
|
||||
-- -- WinCreate.AddHardware( nSashId, '000596', 'Sx') -- arco a tutto sesto
|
||||
-- -- WinCreate.AddHardware( nSashId, '000597', 'Sx') -- arco ribassato
|
||||
-- -- WinCreate.AddHardware( nSashId, '000604', 'Sx') -- trapezio
|
||||
|
||||
-- 2 ante singole
|
||||
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50}, { 95})
|
||||
-- local nSash1Id = WinCreate.AddSash( vAreas[1], vSashJoints, vSashDims, WIN_OPENING_TYPES.TILTTURN_LEFT)
|
||||
-- local nSash2Id = WinCreate.AddSash( vAreas[2], vSashJoints, vSashDims, WIN_OPENING_TYPES.TILTTURN_RIGHT)
|
||||
-- WinCreate.AddFill( nSash1Id, WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( nSash2Id, WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddHardware( nSash1Id, '000558', 'Sx')
|
||||
-- WinCreate.AddHardware( nSash2Id, '000558', 'Dx')
|
||||
-- -- WinCreate.AddHardware( nSash1Id, '000610', 'Sx') -- arco a tutto sesto
|
||||
-- -- WinCreate.AddHardware( nSash2Id, '000610', 'Dx')
|
||||
-- -- WinCreate.AddHardware( nSash1Id, '000611', 'Sx') -- arco ribassato
|
||||
-- -- WinCreate.AddHardware( nSash2Id, '000611', 'Dx')
|
||||
-- -- WinCreate.AddHardware( nSash1Id, '000604', 'Sx') -- trapezio
|
||||
-- -- WinCreate.AddHardware( nSash2Id, '000604', 'Dx')
|
||||
|
||||
-- 2 ante singole con apertura sul montante
|
||||
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.VERTICAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50}, { 120})
|
||||
-- local nSash1Id = WinCreate.AddSash( vAreas[1], vSashJoints, vSashDims, WIN_OPENING_TYPES.TILTTURN_LEFT)
|
||||
-- local nSash2Id = WinCreate.AddSash( vAreas[2], vSashJoints, vSashDims, WIN_OPENING_TYPES.TILTTURN_LEFT)
|
||||
-- WinCreate.AddFill( nSash1Id, WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( nSash2Id, WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddHardware( nSash1Id, '000558', 'Sx')
|
||||
-- WinCreate.AddHardware( nSash2Id, '000558', 'Sx')
|
||||
|
||||
-- 3 ante : sotto singola, sopra battente / ricevente
|
||||
-- local vAreas = WinCreate.AddSplits( nFrameId, WIN_SPLITORIENTATION.HORIZONTAL, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 60, 40}, { 95})
|
||||
-- local nSash1Id = WinCreate.AddSash( vAreas[1], vSashJoints, vSashDims, WIN_OPENING_TYPES.TILTTURN_LEFT)
|
||||
-- WinCreate.AddFill( nSash1Id, WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddHardware( nSash1Id, '000558', 'Sx')
|
||||
-- local vSashes = WinCreate.AddSashGroup( vAreas[2], { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50}, bDaylight,
|
||||
-- { vSashJoints, vSashJoints}, { vSashDims, vSashDims}, { WIN_SASHTYPES.ACTIVE, WIN_SASHTYPES.INACTIVE},
|
||||
-- { WIN_OPENING_TYPES.TURNONLY_LEFT, WIN_OPENING_TYPES.TURNONLY_RIGHT})
|
||||
-- WinCreate.AddFill( vSashes[1], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vSashes[2], WIN_FILLTYPES.GLASS)
|
||||
-- local nSashGrpId = EgtGetParent( vSashes[1])
|
||||
-- WinCreate.AddHardware( nSashGrpId, '000559', 'Sx')
|
||||
|
||||
-- 2 ante : battente / ricevente
|
||||
-- local vSashes = WinCreate.AddSashGroup( nFrameId, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50}, bDaylight,
|
||||
-- { vSashJoints, vSashJoints}, { vSashDims, vSashDims}, { WIN_SASHTYPES.ACTIVE, WIN_SASHTYPES.INACTIVE},
|
||||
-- { WIN_OPENING_TYPES.TURNONLY_LEFT, WIN_OPENING_TYPES.TURNONLY_RIGHT})
|
||||
-- WinCreate.AddFill( vSashes[1], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vSashes[2], WIN_FILLTYPES.GLASS)
|
||||
-- local nSashGrpId = EgtGetParent( vSashes[1])
|
||||
-- WinCreate.AddHardware( nSashGrpId, '000559', 'Sx')
|
||||
-- -- WinCreate.AddHardware( nSashGrpId, '000598', 'Sx') -- arco tutto sesto
|
||||
-- -- WinCreate.AddHardware( nSashGrpId, '000599', 'Sx') -- arco ribassato
|
||||
|
||||
-- 2 ante : ricevente / battente
|
||||
-- local vSashes = WinCreate.AddSashGroup( nFrameId, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 50, 50}, bDaylight,
|
||||
-- { vSashJoints, vSashJoints}, { vSashDims, vSashDims}, { WIN_SASHTYPES.INACTIVE, WIN_SASHTYPES.ACTIVE},
|
||||
-- { WIN_OPENING_TYPES.TURNONLY_LEFT, WIN_OPENING_TYPES.TURNONLY_RIGHT})
|
||||
-- WinCreate.AddFill( vSashes[1], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vSashes[2], WIN_FILLTYPES.GLASS)
|
||||
-- local nSashGrpId = EgtGetParent( vSashes[1])
|
||||
-- WinCreate.AddHardware( nSashGrpId, '000559', 'Dx')
|
||||
|
||||
-- 3 ante : battente / battente / ricevente
|
||||
-- local vSashes = WinCreate.AddSashGroup( nFrameId, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 33.333, 33.333, 33.333}, bDaylight,
|
||||
-- { vSashJoints, vSashJoints, vSashJoints}, { vSashDims, vSashDims, vSashDims},
|
||||
-- { WIN_SASHTYPES.ACTIVE_OUT, WIN_SASHTYPES.ACTIVE_IN, WIN_SASHTYPES.INACTIVE},
|
||||
-- { WIN_OPENING_TYPES.TURNONLY_LEFT, WIN_OPENING_TYPES.TURNONLY_LEFT, WIN_OPENING_TYPES.TURNONLY_RIGHT})
|
||||
-- WinCreate.AddFill( vSashes[1], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vSashes[2], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vSashes[3], WIN_FILLTYPES.GLASS)
|
||||
-- local nSashGrpId = EgtGetParent( vSashes[1])
|
||||
-- WinCreate.AddHardware( nSashGrpId, '000564', 'Sx')
|
||||
|
||||
-- 3 ante : ricevente / battente / battente
|
||||
-- local vSashes = WinCreate.AddSashGroup( nFrameId, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 33.333, 33.333, 33.333}, bDaylight,
|
||||
-- { vSashJoints, vSashJoints, vSashJoints}, { vSashDims, vSashDims, vSashDims},
|
||||
-- { WIN_SASHTYPES.INACTIVE, WIN_SASHTYPES.ACTIVE_IN, WIN_SASHTYPES.ACTIVE_OUT},
|
||||
-- { WIN_OPENING_TYPES.TURNONLY_LEFT, WIN_OPENING_TYPES.TURNONLY_RIGHT, WIN_OPENING_TYPES.TURNONLY_RIGHT})
|
||||
-- WinCreate.AddFill( vSashes[1], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vSashes[2], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vSashes[3], WIN_FILLTYPES.GLASS)
|
||||
-- local nSashGrpId = EgtGetParent( vSashes[1])
|
||||
-- WinCreate.AddHardware( nSashGrpId, '000564', 'Dx')
|
||||
|
||||
-- 3 ante : battente / ricevente / ricevente
|
||||
-- local vSashes = WinCreate.AddSashGroup( nFrameId, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 33.33333, 33.33333, 33.3333}, bDaylight,
|
||||
-- { vSashJoints, vSashJoints, vSashJoints}, { vSashDims, vSashDims, vSashDims},
|
||||
-- { WIN_SASHTYPES.ACTIVE, WIN_SASHTYPES.INACTIVE_IN, WIN_SASHTYPES.INACTIVE_OUT},
|
||||
-- { WIN_OPENING_TYPES.TURNONLY_LEFT, WIN_OPENING_TYPES.TURNONLY_RIGHT, WIN_OPENING_TYPES.TURNONLY_RIGHT})
|
||||
-- WinCreate.AddFill( vSashes[1], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vSashes[2], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vSashes[3], WIN_FILLTYPES.GLASS)
|
||||
-- local nSashGrpId = EgtGetParent( vSashes[1])
|
||||
-- WinCreate.AddHardware( nSashGrpId, '000565', 'Sx')
|
||||
|
||||
-- 3 ante : ricevente / ricevente / battente
|
||||
-- local vSashes = WinCreate.AddSashGroup( nFrameId, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 33.333, 33.333, 33.333}, bDaylight,
|
||||
-- { vSashJoints, vSashJoints, vSashJoints}, { vSashDims, vSashDims, vSashDims},
|
||||
-- { WIN_SASHTYPES.INACTIVE_OUT, WIN_SASHTYPES.INACTIVE_IN, WIN_SASHTYPES.ACTIVE},
|
||||
-- { WIN_OPENING_TYPES.TURNONLY_LEFT, WIN_OPENING_TYPES.TURNONLY_LEFT, WIN_OPENING_TYPES.TURNONLY_RIGHT})
|
||||
-- WinCreate.AddFill( vSashes[1], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vSashes[2], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vSashes[3], WIN_FILLTYPES.GLASS)
|
||||
-- local nSashGrpId = EgtGetParent( vSashes[1])
|
||||
-- WinCreate.AddHardware( nSashGrpId, '000565', 'Dx')
|
||||
|
||||
-- 4 ante : battente / battente / ricevente / ricevente
|
||||
-- local vSashes = WinCreate.AddSashGroup( nFrameId, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 25, 25, 25, 25}, bDaylight,
|
||||
-- { vSashJoints, vSashJoints, vSashJoints, vSashJoints}, { vSashDims, vSashDims, vSashDims, vSashDims},
|
||||
-- { WIN_SASHTYPES.ACTIVE_OUT, WIN_SASHTYPES.ACTIVE_IN, WIN_SASHTYPES.INACTIVE_IN, WIN_SASHTYPES.INACTIVE_OUT},
|
||||
-- { WIN_OPENING_TYPES.TURNONLY_LEFT, WIN_OPENING_TYPES.TURNONLY_LEFT, WIN_OPENING_TYPES.TURNONLY_RIGHT, WIN_OPENING_TYPES.TURNONLY_RIGHT})
|
||||
-- WinCreate.AddFill( vSashes[1], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vSashes[2], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vSashes[3], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vSashes[4], WIN_FILLTYPES.GLASS)
|
||||
-- local nSashGrpId = EgtGetParent( vSashes[1])
|
||||
-- WinCreate.AddHardware( nSashGrpId, '000575', 'Sx')
|
||||
|
||||
-- 4 ante : ricevente / ricevente / battente / battente
|
||||
-- local vSashes = WinCreate.AddSashGroup( nFrameId, { WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE, WIN_MEASURE.PERCENTAGE}, { 25, 25, 25, 25}, bDaylight,
|
||||
-- { vSashJoints, vSashJoints, vSashJoints, vSashJoints}, { vSashDims, vSashDims, vSashDims, vSashDims},
|
||||
-- { WIN_SASHTYPES.INACTIVE_OUT, WIN_SASHTYPES.INACTIVE_IN, WIN_SASHTYPES.ACTIVE_IN, WIN_SASHTYPES.ACTIVE_OUT},
|
||||
-- { WIN_OPENING_TYPES.TURNONLY_LEFT, WIN_OPENING_TYPES.TURNONLY_LEFT, WIN_OPENING_TYPES.TURNONLY_RIGHT, WIN_OPENING_TYPES.TURNONLY_RIGHT})
|
||||
-- WinCreate.AddFill( vSashes[1], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vSashes[2], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vSashes[3], WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddFill( vSashes[4], WIN_FILLTYPES.GLASS)
|
||||
-- local nSashGrpId = EgtGetParent( vSashes[1])
|
||||
-- WinCreate.AddHardware( nSashGrpId, '000575', 'Dx')
|
||||
|
||||
-- vasistas
|
||||
-- local nSashId = WinCreate.AddSash( nFrameId, vSashJoints, vSashDims, WIN_OPENING_TYPES.TILTONLY_TOP)
|
||||
-- WinCreate.AddFill( nSashId, WIN_FILLTYPES.GLASS)
|
||||
-- WinCreate.AddHardware( nSashId, '000573', 'Sx')
|
||||
|
||||
|
||||
|
||||
-----------------------------------------------------------------------------------
|
||||
|
||||
-- imposto se calcolare solidi/preview o meno
|
||||
WinCalculate.SetCalcSolid( true)
|
||||
WinCalculate.SetCalcPreview( true)
|
||||
|
||||
-- creo i pezzi
|
||||
WinCalculate.CreatePartFromArea( nFrameId)
|
||||
-- WinCalculate.AddHardware( nFrameId, true, false, false, false)
|
||||
-- WinCalculate.AddAccessories( nFrameId, true)
|
||||
|
||||
|
||||
-- tronchetti
|
||||
-- local nLogsNbr = 7
|
||||
-- local vSections = { 100, 150, 80, 130, 120, 180}
|
||||
-- local nLogsNbr = 0 -- numero minimo
|
||||
-- local vSections = { 120}
|
||||
-- local bAlign = false
|
||||
-- local dOverMatOut = 10
|
||||
-- local dOverMatIn = 7
|
||||
-- local dOverMatExt = 5
|
||||
-- local dOverMatInt = 3
|
||||
-- local bCutExtremities = true
|
||||
-- -- cerco i pezzi ad arco
|
||||
-- local vParts = EgtGetAllInGroup( 0)
|
||||
-- for i = 1, #vParts do
|
||||
-- local nOutline = EgtGetInfo( vParts[i], WIN_REF_OUTLINE, 'i') or GDB_ID.NULL
|
||||
-- if EgtGetType( nOutline) == GDB_TY.CRV_ARC then
|
||||
-- -- se anta richiedo allineamento con telaio
|
||||
-- local nAreaId = EgtGetParent( EgtGetParent( nOutline))
|
||||
-- local nAreaType = EgtGetInfo( nAreaId, WIN_AREATYPE, 'i')
|
||||
-- if nAreaType == WIN_AREATYPES.SASH then
|
||||
-- bAlign = true
|
||||
-- nLogsNbr = 0
|
||||
-- end
|
||||
-- WinCalculate.CreateArcLogs( vParts[i], nLogsNbr, vSections, bAlign, dOverMatOut, dOverMatIn, dOverMatExt, dOverMatInt, bCutExtremities)
|
||||
-- end
|
||||
-- end
|
||||
|
||||
|
||||
|
||||
EgtZoom( SCE_ZM.ALL)
|
||||
|
||||
-- riporto tempi di esecuzione
|
||||
local sOut = string.format( ' ExecTime = %.2f ms', EgtStopCounter())
|
||||
EgtOutLog( sOut)
|
||||
+10
-2
@@ -453,7 +453,7 @@ WIN_PRC_PROFILE_IN = 'PROFILE_IN'
|
||||
WIN_PRC_PROFILE_OUT = 'PROFILE_OUT'
|
||||
WIN_PRC_PROFILE_LEFT = 'PROFILE_LEFT'
|
||||
WIN_PRC_PROFILE_RIGHT = 'PROFILE_RIGHT'
|
||||
|
||||
WIN_PRC_HDW = 'Hardware'
|
||||
|
||||
-- SPINE
|
||||
WIN_DOWEL = 'Dowel'
|
||||
@@ -490,7 +490,6 @@ WIN_HDW_FRAME = 'HdwFrame'
|
||||
WIN_HDW_HANDLE_HEIGHT = 'HMan'
|
||||
WIN_HDW_OPTIONS = 'HdwOptions'
|
||||
WIN_HDW_HINGES = 'HdwHinges'
|
||||
|
||||
-- Return mode
|
||||
WIN_HDW_RETURNMODE = {
|
||||
HARDWARELIST = 1,
|
||||
@@ -498,5 +497,14 @@ WIN_HDW_RETURNMODE = {
|
||||
MACHININGLIST = 4,
|
||||
OPTIONLIST = 8
|
||||
}
|
||||
|
||||
---------------------------------------------------------------------
|
||||
|
||||
WIN_COLOR_PART = Color3d( 204, 102, 0)
|
||||
WIN_COLOR_GLASS = Color3d( 71, 161, 255)
|
||||
WIN_COLOR_WOOD = Color3d( 194, 148, 103)
|
||||
WIN_COLOR_HDW = Color3d( 128, 128, 128)
|
||||
WIN_COLOR_ACCESSORY = Color3d( 128, 128, 128)
|
||||
|
||||
---------------------------------------------------------------------
|
||||
return WinConst
|
||||
|
||||
+175
-389
@@ -3710,7 +3710,7 @@ local function CreateOutlinePart( nOutlineId, sName, dDim, nBottomRail)
|
||||
EgtSetName( nPartId, sPartName)
|
||||
|
||||
-- imposto colore
|
||||
EgtSetColor( nPartId, Color3d( 204, 102, 0))
|
||||
EgtSetColor( nPartId, WIN_COLOR_PART)
|
||||
--if sOutlineName == WIN_BOTTOM or sOutlineName == WIN_TOP or nBottomRail then
|
||||
-- EgtSetColor( nPartId, Color3d( 204, 102, 0))
|
||||
--elseif sOutlineName == WIN_RIGHT or sOutlineName == WIN_LEFT then
|
||||
@@ -3762,11 +3762,11 @@ local function CreateFillPartFromArea( nAreaId, sName)
|
||||
-- imposto colore e tipologia
|
||||
local nFillType = EgtGetInfo( nAreaId, WIN_FILLTYPE, 'i')
|
||||
if nFillType == WIN_FILLTYPES.GLASS then
|
||||
EgtSetColor( nPartId, Color3d( 71, 161, 255))
|
||||
EgtSetColor( nPartId, WIN_COLOR_GLASS)
|
||||
EgtSetAlpha( nPartId, 30)
|
||||
EgtSetInfo( nPartId, WIN_FILLTYPE, WIN_GLASS)
|
||||
elseif nFillType == WIN_FILLTYPES.WOOD then
|
||||
EgtSetColor( nPartId, Color3d( 194, 148, 103))
|
||||
EgtSetColor( nPartId, WIN_COLOR_WOOD)
|
||||
EgtSetInfo( nPartId, WIN_FILLTYPE, WIN_WOOD)
|
||||
end
|
||||
|
||||
@@ -6844,7 +6844,6 @@ local function CreateDowel( nOrigDowelId, nLayerId, frOrig, frDest, vtDir, nTest
|
||||
-- vtDir rivolta verso interno del pezzo
|
||||
|
||||
local nDowelId = EgtCopyGlob( nOrigDowelId, nLayerId)
|
||||
EgtSetColor( nDowelId, Color3d( 128, 128, 128))
|
||||
|
||||
-- posiziono il dowel
|
||||
PositionDowel( nDowelId, frOrig, frDest, vtDir, nTestSurfId)
|
||||
@@ -7979,7 +7978,7 @@ local function CalcLogParts( nOrigPartId, bFinishedLogs)
|
||||
-- creo il pezzo per il trochetto
|
||||
local nPartId = EgtGroup( GDB_ID.ROOT)
|
||||
EgtSetName( nPartId, WIN_LOGS)
|
||||
EgtSetColor( nPartId, Color3d( 204, 102, 0))
|
||||
EgtSetColor( nPartId, WIN_COLOR_PART)
|
||||
EgtSetStatus( nPartId, GDB_ST.OFF)
|
||||
table.insert( vLogs, nPartId)
|
||||
|
||||
@@ -8285,294 +8284,171 @@ end
|
||||
---------------------------------- FERRAMENTA ----------------------------------
|
||||
----------------------------------------------------------------------------------
|
||||
-- funzione che disegna le cerniere
|
||||
local function DrawHingesStd( nOutlineId, nSolidLayerId)
|
||||
|
||||
-- dimensioni cerniere
|
||||
local dDimH = 16
|
||||
local dDimV = 70
|
||||
local dFilletRad = 5
|
||||
|
||||
local nFrameOutlineId = abs( EgtGetInfo( nOutlineId, WIN_SOU_OUTLINE, 'i'))
|
||||
local dDelta = ( EgtSP( nOutlineId) - EgtSP( nFrameOutlineId)) * Z_AX()
|
||||
if dDelta < GEO.EPS_SMALL then
|
||||
return
|
||||
end
|
||||
local vtDir = EgtSV( nOutlineId)
|
||||
local vtDirIn = Vector3d( vtDir)
|
||||
vtDirIn:rotate( Z_AX(), -90)
|
||||
|
||||
-- prima cerniera
|
||||
local pt1 = EgtSP( nOutlineId) - dDelta * Z_AX()
|
||||
local nCompo = EgtCurveCompoFromPoints( nSolidLayerId, { pt1 + dFilletRad * vtDir, pt1 + ( dDimV - dFilletRad) * vtDir})
|
||||
EgtAddCurveCompoArcTg( nCompo, pt1 + dDimV * vtDir + dFilletRad * vtDirIn)
|
||||
EgtAddCurveCompoLine( nCompo, pt1 + dDimV * vtDir + ( dDimH - dFilletRad) * vtDirIn)
|
||||
EgtAddCurveCompoArcTg( nCompo, pt1 + ( dDimV - dFilletRad) * vtDir + dDimH * vtDirIn)
|
||||
EgtAddCurveCompoLine( nCompo, pt1 + dFilletRad * vtDir + dDimH * vtDirIn)
|
||||
EgtAddCurveCompoArcTg( nCompo, pt1 + ( dDimH - dFilletRad) * vtDirIn)
|
||||
EgtAddCurveCompoLine( nCompo, pt1 + dFilletRad * vtDirIn)
|
||||
EgtAddCurveCompoArcTg( nCompo, EgtSP( nCompo))
|
||||
local nStm1 = EgtSurfTmByRegionExtrusion( nSolidLayerId, nCompo, dDelta * Z_AX())
|
||||
EgtSetColor( nStm1, Color3d( 128, 128, 128))
|
||||
EgtSetName( nStm1, WIN_HDW_HINGES)
|
||||
EgtErase( nCompo)
|
||||
|
||||
-- seconda cerniera
|
||||
local pt2 = EgtEP( nOutlineId) - dDelta * Z_AX() - dDimV * vtDir
|
||||
local nStm2 = EgtCopyGlob( nStm1, nSolidLayerId)
|
||||
EgtMove( nStm2, pt2 - pt1)
|
||||
|
||||
-- correzioni per telai non rettangolari
|
||||
local nFrameAreaId = EgtGetFirstNameInGroup( GDB_ID.ROOT, WIN_AREA .. '*')
|
||||
local nFrameType = EgtGetInfo( nFrameAreaId, WIN_FRAME_TYPE, 'i')
|
||||
|
||||
-- a) arco
|
||||
if nFrameType == WIN_FRAME_TYPES.ROUND_ARC or nFrameType == WIN_FRAME_TYPES.SEGMENTAL_ARC then
|
||||
local sName = EgtGetName( nOutlineId)
|
||||
-- calcolo il delta da applicare ( euristico, calcolato in base ai risultati ferramenta)
|
||||
local dDelta = 24 -- caso di arco a tutto sesto
|
||||
local dDeltaSegArc = 54.7 -- caso di arco ribassato
|
||||
if nFrameType == WIN_FRAME_TYPES.SEGMENTAL_ARC then
|
||||
-- nel caso di arco ribassato il delta va calcolato rispetto al frame della ferramenta
|
||||
local nAreaId = EgtGetParent( EgtGetParent( nOutlineId))
|
||||
local nHdwFramesId = EgtGetFirstNameInGroup( nAreaId, WIN_HDW_FRAME)
|
||||
local sFrameName = EgtIf( sName == WIN_LEFT, 'B*', 'C*')
|
||||
local nFrameId = EgtGetFirstNameInGroup( nHdwFramesId, sFrameName)
|
||||
if sName == WIN_LEFT then
|
||||
dDelta = ( EgtSP( nFrameId) - EgtSP( nOutlineId)) * vtDir
|
||||
else
|
||||
dDelta = ( EgtEP( nOutlineId) - EgtSP( nFrameId)) * vtDir
|
||||
end
|
||||
dDelta = dDelta + dDeltaSegArc
|
||||
end
|
||||
|
||||
-- traslazione
|
||||
if sName == WIN_LEFT then
|
||||
EgtMove( nStm1, dDelta * vtDir)
|
||||
else
|
||||
EgtMove( nStm2, - dDelta * vtDir)
|
||||
end
|
||||
|
||||
-- b) trapezio
|
||||
elseif nFrameType == WIN_FRAME_TYPES.CHAMFER_SIDE then
|
||||
-- calcolo il delta da applicare. Euristico. Dal calcolo della ferramenta si vede che la cerniera si trova circa nel punto di intersezione tra nOutlineId e una retta inclinata
|
||||
-- come il top e passante per il frame della ferramenta
|
||||
local sName = EgtGetName( nOutlineId)
|
||||
local nOutlineLayId = EgtGetParent( nOutlineId)
|
||||
local nAreaId = EgtGetParent( nOutlineLayId)
|
||||
local nHdwFramesId = EgtGetFirstNameInGroup( nAreaId, WIN_HDW_FRAME)
|
||||
local sFrameName = EgtIf( sName == WIN_LEFT, 'B*', 'C*')
|
||||
local nFrameId = EgtGetFirstNameInGroup( nHdwFramesId , sFrameName)
|
||||
local nTopId = EgtGetFirstNameInGroup( nOutlineLayId, WIN_TOP)
|
||||
local vtTop = EgtSV( nTopId)
|
||||
local ptRef = EgtIf( sName == WIN_LEFT, EgtSP( nOutlineId), EgtEP( nOutlineId))
|
||||
local vtDist = EgtSP( nFrameId) - ptRef
|
||||
local dDelta = ( vtDist ^ vtTop):len() / ( vtTop ^ vtDir):len()
|
||||
|
||||
if sName == WIN_LEFT then
|
||||
EgtMove( nStm1, dDelta * vtDir)
|
||||
else
|
||||
EgtMove( nStm2, - dDelta * vtDir)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
-- funzione che disegna le cerniere per la preview ( posizionamento più grossolano e disegno 2d)
|
||||
local function DrawHingesPreview( nOutlineId, nLayerId)
|
||||
|
||||
-- dimensioni cerniere
|
||||
local dDimL = 80
|
||||
local dDimW = 20
|
||||
|
||||
local nFrameOutlineId = abs( EgtGetInfo( nOutlineId, WIN_SOU_OUTLINE, 'i'))
|
||||
local dDelta = ( EgtSP( nOutlineId) - EgtSP( nFrameOutlineId)) * Z_AX()
|
||||
if dDelta < GEO.EPS_SMALL then
|
||||
return
|
||||
end
|
||||
|
||||
local vtDir = EgtSV( nOutlineId)
|
||||
local vtDirIn = Vector3d( vtDir)
|
||||
vtDirIn:rotate( Z_AX(), -90)
|
||||
-- alzo leggermente la quota in z per evitare sovrapposizioni problematiche nell'eportazione svg
|
||||
local frHinge = Frame3d( EgtSP( nOutlineId) + Z_AX(), vtDir, vtDirIn, - Z_AX())
|
||||
|
||||
-- prima cerniera
|
||||
local nSfr1 = EgtSurfFrStadium( nLayerId, ORIG(), Point3d( dDimL, dDimW, 0))
|
||||
EgtSetColor( nSfr1, Color3d( 128, 128, 128))
|
||||
EgtTransform( nSfr1, frHinge)
|
||||
EgtInvertSurf( nSfr1)
|
||||
|
||||
-- seconda cerniera
|
||||
local pt2 = EgtEP( nOutlineId) - dDimL * vtDir
|
||||
local nSfr2 = EgtCopyGlob( nSfr1, nLayerId)
|
||||
EgtMove( nSfr2, pt2 - EgtSP( nOutlineId))
|
||||
|
||||
-- contorni
|
||||
local nLoop1 = EgtExtractSurfFrChunkLoops( nSfr1, 0, nLayerId)
|
||||
EgtSetColor( nLoop1, EgtStdColor( 'BLACK'))
|
||||
local nLoop2 = EgtExtractSurfFrChunkLoops( nSfr2, 0, nLayerId)
|
||||
EgtSetColor( nLoop2, EgtStdColor( 'BLACK'))
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
local function DrawHinges( nOutlineId, nLayerId, bPreview)
|
||||
if bPreview then
|
||||
DrawHingesPreview( nOutlineId, nLayerId)
|
||||
else
|
||||
DrawHingesStd( nOutlineId, nLayerId)
|
||||
|
||||
local nFrameOutlineId = abs( EgtGetInfo( nOutlineId, WIN_SOU_OUTLINE, 'i'))
|
||||
local dDelta = ( EgtSP( nOutlineId) - EgtSP( nFrameOutlineId)) * Z_AX()
|
||||
if dDelta < GEO.EPS_SMALL then
|
||||
return
|
||||
end
|
||||
|
||||
local vtDir = EgtSV( nFrameOutlineId)
|
||||
local ptRef = EgtSP( nFrameOutlineId)
|
||||
-- calcolo il versore diretto dall'anta al telaio
|
||||
local vtDirIn = ( ptRef - EgtSP( nOutlineId))
|
||||
vtDirIn = vtDirIn - ( vtDirIn * vtDir) * vtDir
|
||||
vtDirIn[3] = 0
|
||||
vtDirIn:normalize()
|
||||
-- recupero dimensione profilo anta
|
||||
local nProfileId = GetOutlineProfileId( nOutlineId)
|
||||
local b3Profile = GetProfileLocalBox( nProfileId)
|
||||
|
||||
-- recupero dal telaio le lavorazioni delle cerniere ( lavorazioni di tipologia foro su faccia top)
|
||||
local nFramePartId = EgtGetInfo( nFrameOutlineId, WIN_REF_PART, 'i')
|
||||
local nPrcLayerId = EgtGetFirstNameInGroup( nFramePartId, WIN_PRC)
|
||||
local vPrcHdw = EgtGetNameInGroup( nPrcLayerId, WIN_PRC_HDW)
|
||||
local tPrc = {}
|
||||
for i = 1, #vPrcHdw do
|
||||
if AreSameVectorApprox( EgtCurveExtrusion( vPrcHdw[i]), Z_AX()) then
|
||||
local nType = EgtGetInfo( vPrcHdw[i], WIN_PRC_FEATURE_TYPE)
|
||||
if nType == WIN_PRC_TYPE.HOLE then
|
||||
local ptC = EgtCP( vPrcHdw[i])
|
||||
local dDist = ( ptC - ptRef) * vtDir
|
||||
table.insert( tPrc, { nId = vPrcHdw[i], ptC = ptC, dDist = dDist})
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
-- ordino le lavorazioni e le scorro a coppie per costruire le cerniere
|
||||
table.sort( tPrc, function ( a, b) return a.dDist < b.dDist end)
|
||||
for i = 1, #tPrc, 2 do
|
||||
local dRad = EgtArcRadius( tPrc[i].nId)
|
||||
local dDim = ( tPrc[i].ptC - EgtSP( nOutlineId)) * vtDirIn - b3Profile:getMax():getX()
|
||||
local dFilletRad = ( dDim + dRad) / 3
|
||||
local pt1 = tPrc[i].ptC - dRad * vtDir - dDim * vtDirIn
|
||||
local pt2 = tPrc[i+1].ptC + dRad * vtDir - dDim * vtDirIn
|
||||
|
||||
local nCompo = EgtCurveCompoFromPoints( nLayerId, { pt1, pt2})
|
||||
EgtAddCurveCompoArcTg( nCompo, pt2 + dFilletRad * vtDir + dFilletRad * vtDirIn)
|
||||
EgtAddCurveCompoLineTg( nCompo, dFilletRad)
|
||||
EgtAddCurveCompoArcTg( nCompo, pt2 + ( dRad + dDim) * vtDirIn)
|
||||
EgtAddCurveCompoLine( nCompo, pt1 + ( dRad + dDim) * vtDirIn)
|
||||
EgtAddCurveCompoArcTg( nCompo, pt1 - dFilletRad * vtDir + 2 * dFilletRad * vtDirIn)
|
||||
EgtAddCurveCompoLineTg( nCompo, dFilletRad)
|
||||
EgtAddCurveCompoArcTg( nCompo, pt1)
|
||||
|
||||
if bPreview then
|
||||
-- piccolo spostamento per evitare sovrapposizione con pezzo del telaio
|
||||
EgtMove( nCompo, Z_AX())
|
||||
local nSfr = EgtSurfFlatRegion( nLayerId, nCompo)
|
||||
if AreOppositeVectorApprox( EgtSurfFrNormVersor( nSfr), Z_AX()) then
|
||||
EgtInvertSurf( nSfr)
|
||||
end
|
||||
EgtSetColor( nSfr, WIN_COLOR_HDW)
|
||||
EgtSetColor( nCompo, EgtStdColor( 'BLACK'))
|
||||
|
||||
else
|
||||
local nStm = EgtSurfTmByRegionExtrusion( nLayerId, nCompo, dDelta * Z_AX())
|
||||
EgtSetColor( nStm, WIN_COLOR_HDW)
|
||||
EgtSetName( nStm, WIN_HDW_HINGES)
|
||||
EgtSurfTmSetShowEdges( nStm, true)
|
||||
EgtErase( nCompo)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
-- funzione che disegna la maniglia
|
||||
local function DrawHandleStd( nOutlineId, sHandleSide, dHandleH, nSolidLayerId, bSlide)
|
||||
local function DrawHandle( nOutlineId, sHandleSide, nLayerId, bSlide, bPreview)
|
||||
|
||||
local vtDir = EgtIf( sHandleSide == 'Sx', EgtSV( nOutlineId), - EgtEV( nOutlineId))
|
||||
local ptRef = EgtIf( sHandleSide == 'Sx', EgtSP( nOutlineId), EgtEP( nOutlineId))
|
||||
local vtDirIn = VectorFromRotated( vtDir, Z_AX(), 90)
|
||||
|
||||
-- recupero dall'anta le lavorazioni della maniglia ( lavorazioni di tipo foro sulla faccia top)
|
||||
local nPartId = EgtGetInfo( nOutlineId, WIN_REF_PART, 'i')
|
||||
local nPrcLayerId = EgtGetFirstNameInGroup( nPartId, WIN_PRC)
|
||||
local vPrcHdw = EgtGetNameInGroup( nPrcLayerId, WIN_PRC_HDW)
|
||||
local tPrc = {}
|
||||
for i = 1, #vPrcHdw do
|
||||
if AreSameVectorApprox( EgtCurveExtrusion( vPrcHdw[i]), Z_AX()) then
|
||||
local nType = EgtGetInfo( vPrcHdw[i], WIN_PRC_FEATURE_TYPE)
|
||||
if nType == WIN_PRC_TYPE.HOLE then
|
||||
local ptC = EgtCP( vPrcHdw[i])
|
||||
local dDist = ( ptC - ptRef) * vtDir
|
||||
table.insert( tPrc, { nId = vPrcHdw[i], ptC = ptC, dDist = dDist})
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
if #tPrc ~= 3 and #tPrc ~= 5 then
|
||||
return false
|
||||
end
|
||||
|
||||
-- ordino le lavorazioni
|
||||
table.sort( tPrc, function ( a, b) return a.dDist < b.dDist end)
|
||||
|
||||
-- elemento di riferimento per la maniglia
|
||||
local nRefIdx = EgtIf( #tPrc == 3, 2, 4)
|
||||
local ptC = EgtCP( tPrc[nRefIdx].nId)
|
||||
local dRad = EgtArcRadius( tPrc[nRefIdx].nId)
|
||||
|
||||
-- dati della maniglia
|
||||
local dBase1T = 40
|
||||
local dBase1B = 40
|
||||
local dBase2 = 18
|
||||
local dH = 9
|
||||
local dExtraH = dRad + 3
|
||||
local dExtraV = dRad + 10
|
||||
local dLen1 = 53
|
||||
local dLen2 = 115
|
||||
local dRadH = 12.5
|
||||
local dLen3 = 150
|
||||
local dFillet = 10
|
||||
local dExtraGapDelta = 15
|
||||
if bSlide then
|
||||
dBase1T = 50
|
||||
dBase1B = 100
|
||||
dBase2 = 18
|
||||
dLen2 = 155
|
||||
dRadH = 10
|
||||
dExtraGapDelta = 35.5
|
||||
end
|
||||
|
||||
local nPartId = EgtGetInfo( nOutlineId, WIN_REF_PART, 'i')
|
||||
local ptRef = EgtIf( sHandleSide == 'Sx', EgtSP( nOutlineId), EgtEP( nOutlineId))
|
||||
local vtDir = EgtIf( sHandleSide == 'Sx', EgtSV( nOutlineId), - EgtEV( nOutlineId))
|
||||
local vtDirIn = Vector3d( vtDir)
|
||||
vtDirIn:rotate( Z_AX(), EgtIf( sHandleSide == 'Sx', 90, -90))
|
||||
|
||||
-- recupero il riferimento rispetto a cui leggere l'altezza maniglia
|
||||
local nProfileLayId = EgtGetFirstNameInGroup( nPartId, WIN_PROFILE)
|
||||
local nProfileId = EgtGetFirstNameInGroup( nProfileLayId, EgtIf( sHandleSide == 'Sx', WIN_PRF_START, WIN_PRF_END))
|
||||
local dGapHardware = EgtGetInfo( nProfileId, WIN_GAPDELTA, 'd')
|
||||
-- recupero di quanto spostare la maniglia rispetto all'outline
|
||||
local nMainProfileId = EgtGetFirstNameInGroup( nProfileLayId, WIN_PRF_MAIN)
|
||||
local dGapDelta = EgtGetInfo( nMainProfileId, WIN_GAPDELTA, 'd')
|
||||
local dDeltaIn = dGapDelta + dExtraGapDelta
|
||||
|
||||
-- punto su cui centrare la maniglia
|
||||
local ptC = ptRef + ( dHandleH + dGapHardware) * vtDir + dDeltaIn * vtDirIn
|
||||
|
||||
local nCrv1 = EgtRectangle2P( nSolidLayerId, ptC - dBase1B * vtDir - dBase2 * vtDirIn, ptC + dBase1T * vtDir + dBase2 * vtDirIn)
|
||||
local nStm1 = EgtSurfTmByRegionExtrusion( nSolidLayerId, {nCrv1}, dH * Z_AX())
|
||||
-- base della maniglia
|
||||
local pt1 = EgtCP( tPrc[1].nId)
|
||||
local pt2 = EgtCP( tPrc[#tPrc].nId)
|
||||
local nCrv1 = EgtRectangle2P( nLayerId, pt1 - dExtraV * vtDir - dExtraH * vtDirIn, pt2 + dExtraV * vtDir + dExtraH * vtDirIn)
|
||||
|
||||
local nCrv2 = EgtLinePVL( nSolidLayerId, ORIG(), X_AX(), dLen1 - dFillet)
|
||||
local nCrv4 = EgtLinePVL( nSolidLayerId, Point3d( dLen1, -dFillet, 0), - Y_AX(), dLen2 - dFillet)
|
||||
local nCrv3 = EgtArc2PR( nSolidLayerId, EgtEP( nCrv2), EgtSP( nCrv4), dFillet, false)
|
||||
local nGuide = EgtCurveCompo( nSolidLayerId, { nCrv2, nCrv3, nCrv4})
|
||||
local frTransf = Frame3d( ptC, Z_AX(), vtDir, Z_AX() ^ vtDir)
|
||||
EgtTransform( nGuide, frTransf)
|
||||
local nSection = EgtCircle( nSolidLayerId, EgtSP( nGuide), dRadH)
|
||||
local nStm2 = EgtSurfTmSwept( nSolidLayerId, nSection, nGuide, true)
|
||||
|
||||
EgtSurfTmAdd( nStm1, nStm2)
|
||||
EgtSetName( nStm1, WIN_HDW_HANDLE)
|
||||
EgtSetColor( nStm1, Color3d( 128, 128, 128))
|
||||
EgtErase( { nCrv1, nGuide, nSection, nStm2})
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
-- disegno della maniglia per preview
|
||||
local function DrawHandlePreview( nOutlineId, sHandleSide, dHandleH, nLayerId, bSlide)
|
||||
|
||||
-- dati della maniglia
|
||||
local dRad = 20
|
||||
local dDimW = 20
|
||||
local dDimH = 100
|
||||
|
||||
local ptRef = EgtIf( sHandleSide == 'Sx', EgtSP( nOutlineId), EgtEP( nOutlineId))
|
||||
local vtDir = EgtIf( sHandleSide == 'Sx', - EgtSV( nOutlineId), EgtEV( nOutlineId))
|
||||
local vtDirIn = Vector3d( vtDir)
|
||||
vtDirIn:rotate( Z_AX(), EgtIf( sHandleSide == 'Sx', -90, 90))
|
||||
|
||||
-- recupero dati del profilo per centrare la maniglia sul pezzo
|
||||
local nPartId = EgtGetInfo( nOutlineId, WIN_REF_PART, 'i')
|
||||
local nProfileLayId = EgtGetFirstNameInGroup( nPartId, WIN_PROFILE)
|
||||
local nMainProfileId = EgtGetFirstNameInGroup( nProfileLayId, WIN_PRF_MAIN)
|
||||
local b3Profile = GetProfileLocalBox( nMainProfileId)
|
||||
local dSide = abs( b3Profile:getMin():getX() + 0.5 * b3Profile:getDimX())
|
||||
-- correzione per caso speciale di telaio e ante allineate ( euristica)
|
||||
local nParentAreaId = EgtGetParent( EgtGetParent( nOutlineId))
|
||||
local nSashType = EgtGetInfo( nParentAreaId, WIN_SASHTYPE, 'i') or WIN_SASHTYPES.NULL
|
||||
if nSashType == WIN_SASHTYPES.NULL then
|
||||
local nFrameOutlineId = abs( EgtGetInfo( nOutlineId, WIN_SOU_OUTLINE, 'i'))
|
||||
local dDelta = ( EgtSP( nOutlineId) - EgtSP( nFrameOutlineId)) * Z_AX()
|
||||
if dDelta < GEO.EPS_SMALL then
|
||||
dSide = dSide + 9
|
||||
end
|
||||
end
|
||||
|
||||
-- punto su cui centrare la maniglia
|
||||
local ptC = ptRef - dHandleH * vtDir + dSide * vtDirIn + Z_AX()
|
||||
|
||||
local nSfr1 = EgtSurfFrDisk( nLayerId, ptC, dRad)
|
||||
EgtSetColor( nSfr1, Color3d( 128, 128, 128))
|
||||
local nLoop = EgtExtractSurfFrChunkLoops( nSfr1, 0, nLayerId)
|
||||
EgtSetColor( nLoop, EgtStdColor( 'BLACK'))
|
||||
local nSfr2 = EgtSurfFrStadium( nLayerId, ORIG(), Point3d( dDimH, dDimW, 0))
|
||||
local ptFrame = ptC + EgtIf( sHandleSide == 'Sx', 1, -1) * 0.5 * dDimW * vtDirIn + Z_AX()
|
||||
local frHandle = Frame3d( ptFrame, vtDir, EgtIf( sHandleSide == 'Sx', - vtDirIn, vtDirIn), Z_AX())
|
||||
EgtTransform( nSfr2, frHandle)
|
||||
EgtSetColor( nSfr2, Color3d( 128, 128, 128))
|
||||
local nLoop2 = EgtExtractSurfFrChunkLoops( nSfr2, 0, nLayerId)
|
||||
EgtSetColor( nLoop2, EgtStdColor( 'BLACK'))
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
local function DrawHandle( nOutlineId, sHandleSide, dHandleH, nLayerId, bSlide, bPreview)
|
||||
if bPreview then
|
||||
DrawHandlePreview( nOutlineId, sHandleSide, dHandleH, nLayerId, bSlide)
|
||||
else
|
||||
DrawHandleStd( nOutlineId, sHandleSide, dHandleH, nLayerId, bSlide)
|
||||
end
|
||||
end
|
||||
|
||||
EgtMove( nCrv1, Z_AX())
|
||||
local nSfr1 = EgtSurfFlatRegion( nLayerId, nCrv1)
|
||||
EgtSetColor( nSfr1, WIN_COLOR_HDW)
|
||||
EgtSetColor( nCrv1, EgtStdColor( 'BLACK'))
|
||||
|
||||
local nSfr2 = EgtSurfFrStadium( nLayerId, ORIG(), Point3d( dLen3, 2 * dRad, 0))
|
||||
local frHandle = Frame3d( ptC + dRad * vtDirIn + 2 * Z_AX(), Z_AX(), - vtDir)
|
||||
EgtTransform( nSfr2, frHandle)
|
||||
if bSlide then
|
||||
-- se scorrevole maniglia verso l'alto
|
||||
EgtRotate( nSfr2, ptC, Z_AX(), 180)
|
||||
end
|
||||
EgtSetColor( nSfr2, WIN_COLOR_HDW)
|
||||
local nLoop2 = EgtExtractSurfFrChunkLoops( nSfr2, 0, nLayerId)
|
||||
EgtSetColor( nLoop2, EgtStdColor( 'BLACK'))
|
||||
|
||||
---------------------------------------------------------------------
|
||||
local function GetHandleHeight( nAreaId)
|
||||
else
|
||||
|
||||
-- verifico se è definita tra le opzioni
|
||||
local vOptions = EgtGetInfo( nAreaId, WIN_HDW_OPTIONS, 'vs') or {}
|
||||
for i = 1, #vOptions do
|
||||
local vString = EgtSplitString( vOptions[i], '=')
|
||||
if #vString == 2 and vString[1] == WIN_HDW_HANDLE_HEIGHT then
|
||||
local dVal = tonumber( vString[2])
|
||||
if dVal then
|
||||
return dVal
|
||||
else
|
||||
break
|
||||
end
|
||||
local nStm1 = EgtSurfTmByRegionExtrusion( nLayerId, nCrv1, dH * Z_AX())
|
||||
|
||||
-- maniglia
|
||||
local nCrv2 = EgtLinePVL( nLayerId, ORIG(), X_AX(), dLen1 - dFillet)
|
||||
local nCrv4 = EgtLinePVL( nLayerId, Point3d( dLen1, - dFillet, 0), - Y_AX(), dLen2 - dFillet)
|
||||
local nCrv3 = EgtArc2PR( nLayerId, EgtEP( nCrv2), EgtSP( nCrv4), dFillet, false)
|
||||
local nGuide = EgtCurveCompo( nLayerId, { nCrv2, nCrv3, nCrv4})
|
||||
local frTransf = Frame3d( ptC + 0.5 * dH * Z_AX(), Z_AX(), vtDir, Z_AX() ^ vtDir)
|
||||
EgtTransform( nGuide, frTransf)
|
||||
local nSection = EgtCircle( nLayerId, EgtSP( nGuide), dRad)
|
||||
local nStm2 = EgtSurfTmSwept( nLayerId, nSection, nGuide, true)
|
||||
if bSlide then
|
||||
-- se scorrevole maniglia verso alto
|
||||
EgtRotate( nStm2, ptC, Z_AX(), 180)
|
||||
end
|
||||
end
|
||||
|
||||
-- chiedo il file di opzioni dalla ferramenta
|
||||
local _, _, tOptions = WinCalculate.AddHardware( nAreaId, false, false, false, true)
|
||||
if #tOptions > 0 then
|
||||
-- lettura della stringa xml delle opzioni
|
||||
local handler = XMLHandler:new()
|
||||
local parser = XML.parser( handler)
|
||||
parser:parse( tOptions[1])
|
||||
local tabOptions = handler.root
|
||||
-- cerco parametro altezza maniglia
|
||||
for i = 1, #tabOptions['ParametriOpzioni']['Parametri'] do
|
||||
if tabOptions['ParametriOpzioni']['Parametri'][i]['NomeParametro'] == WIN_HDW_HANDLE_HEIGHT then
|
||||
local sHandleH = tabOptions['ParametriOpzioni']['Parametri'][i]['ValoreCorrente']
|
||||
return tonumber( sHandleH)
|
||||
end
|
||||
end
|
||||
EgtSurfTmAdd( nStm1, nStm2)
|
||||
EgtSetName( nStm1, WIN_HDW_HANDLE)
|
||||
EgtSetColor( nStm1, WIN_COLOR_HDW)
|
||||
EgtSurfTmSetShowEdges( nStm1, true)
|
||||
EgtErase( { nCrv1, nGuide, nSection, nStm2})
|
||||
end
|
||||
|
||||
return 500 -- restituisco valore di default
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
@@ -8601,7 +8477,7 @@ local function DrawSashHardware( nAreaId, nRefAreaId, nLayerId, bPreview)
|
||||
break
|
||||
end
|
||||
end
|
||||
-- se non ho trovato l'opzione la recupero dalle opzioni di default ( simile a GetHandleHeigt)
|
||||
-- se non ho trovato l'opzione la recupero dalle opzioni di default
|
||||
if not sOptionHandleSide then
|
||||
local _, _, tOptions = WinCalculate.AddHardware( nAreaId, false, false, false, true)
|
||||
if #tOptions > 0 then
|
||||
@@ -8626,16 +8502,9 @@ local function DrawSashHardware( nAreaId, nRefAreaId, nLayerId, bPreview)
|
||||
elseif sOptionHandleSide == 'sopra' then
|
||||
nOutlineId = EgtGetFirstNameInGroup( nOutlineLayId, WIN_TOP)
|
||||
end
|
||||
|
||||
-- altezza maniglia è fissata a metà del lato ( con compensazione per frame di riferimento della ferramenta)
|
||||
local nPartId = EgtGetInfo( nOutlineId, WIN_REF_PART, 'i')
|
||||
local nProfileLayId = EgtGetFirstNameInGroup( nPartId, WIN_PROFILE)
|
||||
local nProfileId = EgtGetFirstNameInGroup( nProfileLayId, EgtIf( sHandleSide == 'Sx', WIN_PRF_START, WIN_PRF_END))
|
||||
local dGapHardware = EgtGetInfo( nProfileId, WIN_GAPDELTA, 'd')
|
||||
local dHandleH = 0.5 * EgtCurveLength( nOutlineId) - dGapHardware
|
||||
|
||||
-- disegno maniglia
|
||||
DrawHandle( nOutlineId, sHandleSide, dHandleH, nLayerId, false, bPreview)
|
||||
DrawHandle( nOutlineId, sHandleSide, nLayerId, false, bPreview)
|
||||
|
||||
-- Alzante scorrevole
|
||||
elseif nOpeningType == WIN_OPENING_TYPES.COPLANARSLIDE_LEFT or nOpeningType == WIN_OPENING_TYPES.COPLANARSLIDE_RIGHT or
|
||||
@@ -8645,10 +8514,7 @@ local function DrawSashHardware( nAreaId, nRefAreaId, nLayerId, bPreview)
|
||||
local nOutlineId = EgtGetFirstNameInGroup( nOutlineLayId, EgtIf( bLeftSlide, WIN_RIGHT, WIN_LEFT))
|
||||
local sHandleSide = EgtIf( bLeftSlide, 'Sx', 'Dx')
|
||||
|
||||
-- recupero altezza maniglia dalle opzioni
|
||||
local dHandleH = GetHandleHeight( nRefAreaId)
|
||||
|
||||
DrawHandle( nOutlineId, sHandleSide, dHandleH, nLayerId, true, bPreview)
|
||||
DrawHandle( nOutlineId, sHandleSide, nLayerId, true, bPreview)
|
||||
|
||||
-- Standard
|
||||
else
|
||||
@@ -8679,12 +8545,10 @@ local function DrawSashHardware( nAreaId, nRefAreaId, nLayerId, bPreview)
|
||||
|
||||
-- maniglia
|
||||
if nSashType == WIN_SASHTYPES.ACTIVE or nSashType == WIN_SASHTYPES.ACTIVE_IN or nSashType == WIN_SASHTYPES.NULL then
|
||||
-- recupero altezza maniglia
|
||||
local dHandleH = GetHandleHeight( nRefAreaId)
|
||||
if sHandleSide == 'Sx' then
|
||||
DrawHandle( nRightId, sHandleSide, dHandleH, nLayerId, false, bPreview)
|
||||
DrawHandle( nRightId, sHandleSide, nLayerId, false, bPreview)
|
||||
else
|
||||
DrawHandle( nLeftId, sHandleSide, dHandleH, nLayerId, false, bPreview)
|
||||
DrawHandle( nLeftId, sHandleSide, nLayerId, false, bPreview)
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -8959,6 +8823,7 @@ local function CalcHdwMachining( tMachining, SashList)
|
||||
EgtModifyCurveThickness( nPocketOutlineId, - dHeight)
|
||||
-- porto la lavorazione in globale
|
||||
EgtTransform( nPocketOutlineId, frHdw)
|
||||
EgtSetName( nPocketOutlineId, WIN_PRC_HDW)
|
||||
-- aggiornamento del solido
|
||||
if s_bCalcSolid then
|
||||
UpdateSolidWithProcessingCrv( nPocketOutlineId, nMainExtrusionId, nSolidLayerId)
|
||||
@@ -8981,6 +8846,7 @@ local function CalcHdwMachining( tMachining, SashList)
|
||||
EgtModifyCurveThickness( nHoleId, - ( dDepth + 1))
|
||||
EgtTransform( nHoleId, frHdw)
|
||||
EgtSetInfo( nHoleId, WIN_PRC_FEATURE_TYPE, WIN_PRC_TYPE.HOLE)
|
||||
EgtSetName( nHoleId, WIN_PRC_HDW)
|
||||
|
||||
elseif vMacro[1] == 'FORO' then
|
||||
local sDiameter = EgtReplaceString( vMacro[2], 'D', '')
|
||||
@@ -8996,6 +8862,7 @@ local function CalcHdwMachining( tMachining, SashList)
|
||||
EgtModifyCurveThickness( nHoleId, - dDepth)
|
||||
EgtSetColor( nHoleId, EgtStdColor( 'GRAY'))
|
||||
EgtSetInfo( nHoleId, WIN_PRC_FEATURE_TYPE, WIN_PRC_TYPE.HOLE)
|
||||
EgtSetName( nHoleId, WIN_PRC_HDW)
|
||||
-- porto la lavorazione in globale
|
||||
EgtTransform( nHoleId, frHdw)
|
||||
-- aggiornamento del solido
|
||||
@@ -9106,7 +8973,7 @@ local function AddHardwareForSash( nFrameId, nReturnMode, OutputKitList, OutputP
|
||||
if nOpeningType ~= WIN_OPENING_TYPES.TILTONLY_TOP then
|
||||
sText = sText .. 'MANOSERRAMENTO=' .. sHandle .. '\n'
|
||||
end
|
||||
|
||||
|
||||
local vOptions = EgtGetInfo( nFrameId, WIN_HDW_OPTIONS, 'vs') or {}
|
||||
for i = 1, #vOptions do
|
||||
sText = sText .. vOptions[i] .. '\n'
|
||||
@@ -9161,7 +9028,7 @@ local function AddHardwareForSash( nFrameId, nReturnMode, OutputKitList, OutputP
|
||||
if ( nReturnMode & WIN_HDW_RETURNMODE.MACHININGLIST) ~= 0 then
|
||||
local tMachining = JSON:decode( AnswerArgs.MachiningList)
|
||||
CalcHdwMachining( tMachining, SashList)
|
||||
-- disegno la ferramenta
|
||||
-- disegno
|
||||
if s_bCalcSolid then
|
||||
-- recupero o creo il gruppo per disegno ferramenta
|
||||
local nAuxLayerId = GetAuxLayer()
|
||||
@@ -9169,6 +9036,14 @@ local function AddHardwareForSash( nFrameId, nReturnMode, OutputKitList, OutputP
|
||||
DrawSashHardware( SashList[i].nAreaId, nFrameId, nAuxLayerId)
|
||||
end
|
||||
end
|
||||
-- preview
|
||||
if s_bCalcPreview then
|
||||
local nPreviewLayerId = EgtGetFirstNameInGroup( GDB_ID.ROOT, WIN_PREVIEW)
|
||||
for i = 1, #SashList do
|
||||
DrawSashHardware( SashList[i].nAreaId, nFrameId, nPreviewLayerId, true)
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
if ( nReturnMode & WIN_HDW_RETURNMODE.OPTIONLIST) ~= 0 then
|
||||
table.insert( OutputOptionList, AnswerArgs.OptionList)
|
||||
@@ -9238,52 +9113,6 @@ function WinCalculate.AddHardware( nAreaId, bMachiningList, bHardwareList, bPosi
|
||||
return OutputKitList, OutputPositionList, OutputOptionList
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
-- funzione che disegna l'hardware
|
||||
local function DrawHardware( nAreaId, nAuxLayerId)
|
||||
-- verifico il tipo
|
||||
local nAreaType = EgtGetInfo( nAreaId, WIN_AREATYPE, 'i')
|
||||
|
||||
if nAreaType == WIN_AREATYPES.SASH then
|
||||
-- se anta disegno la ferramenta se è stato definito un preferito
|
||||
local sFavourite = EgtGetInfo( nAreaId, WIN_HDW_FAVOURITE)
|
||||
if sFavourite and sFavourite ~= WIN_HDW_NULL then
|
||||
DrawSashHardware( nAreaId, nAreaId, nAuxLayerId)
|
||||
end
|
||||
return
|
||||
|
||||
elseif nAreaType == WIN_AREATYPES.SPLIT then
|
||||
local nSplitType = EgtGetInfo( nAreaId, WIN_SPLITTYPE, 'i') or WIN_SPLITTYPES.NULL
|
||||
if nSplitType == WIN_SPLITTYPES.FRENCH then
|
||||
local sHdwFavourite = EgtGetInfo( nAreaId, WIN_HDW_FAVOURITE)
|
||||
if sHdwFavourite and sHdwFavourite ~= WIN_HDW_NULL then
|
||||
-- disegno ferramenta per tutte le ante avendo come gruppo di riferimento delle info il parent dell'area split french
|
||||
local vSashes = EgtGetNameInGroup( nAreaId, WIN_AREA .. '*')
|
||||
for j = 1, #vSashes do
|
||||
DrawSashHardware( vSashes[j], nAreaId, nAuxLayerId)
|
||||
end
|
||||
end
|
||||
return
|
||||
else
|
||||
local nChildAreaId = EgtGetFirstNameInGroup( nAreaId, WIN_AREA .. '*')
|
||||
while nChildAreaId do
|
||||
-- lancio verifica di quell'area
|
||||
DrawHardware( nChildAreaId, nAuxLayerId)
|
||||
nChildAreaId = EgtGetNextName( nChildAreaId, WIN_AREA .. '*')
|
||||
end
|
||||
end
|
||||
|
||||
else
|
||||
-- verifico se ci sono sotto-aree
|
||||
local nChildAreaId = EgtGetFirstNameInGroup( nAreaId, WIN_AREA .. '*')
|
||||
while nChildAreaId do
|
||||
-- lancio verifica di quell'area
|
||||
DrawHardware( nChildAreaId, nAuxLayerId)
|
||||
nChildAreaId = EgtGetNextName( nChildAreaId, WIN_AREA .. '*')
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
|
||||
----------------------------------------------------------------------------------
|
||||
@@ -9316,7 +9145,7 @@ local function CalcThreshold( nOutlineId, nAreaId)
|
||||
local nAuxGrp = GetAuxLayer()
|
||||
local nStm = CreateProfileSurf( nOutlineId, nProfileId, WIN_SECTION, 0, nAuxGrp)
|
||||
if nStm then
|
||||
EgtSetColor( nStm, Color3d( 128, 128, 128))
|
||||
EgtSetColor( nStm, WIN_COLOR_ACCESSORY)
|
||||
EgtSetName( nStm, WIN_THRESHOLD)
|
||||
dLenTot = EgtCurveLength( nOutlineId)
|
||||
end
|
||||
@@ -9338,7 +9167,7 @@ local function CalcThreshold( nOutlineId, nAreaId)
|
||||
local vMovableSections = EgtGetNameInGroup( nProfileId, WIN_MOVABLE .. WIN_SECTION)
|
||||
for i = 1, #vMovableSections do
|
||||
local nStmExtra = CreateProfileSurfById( nGuideId, nProfileId, vMovableSections[i], 0, nAuxGrp)
|
||||
EgtSetColor( nStmExtra, Color3d( 128, 128, 128))
|
||||
EgtSetColor( nStmExtra, WIN_COLOR_ACCESSORY)
|
||||
EgtSetName( nStmExtra, WIN_MOVABLE .. WIN_SECTION)
|
||||
end
|
||||
dLenTot = dLenTot + #vMovableSections * EgtCurveLength( nGuideId)
|
||||
@@ -9366,7 +9195,7 @@ local function CalcThreshold( nOutlineId, nAreaId)
|
||||
|
||||
for j = 1, #vExtraSections do
|
||||
local nStmExtra = CreateProfileSurfById( nGuideId, nProfileId, vExtraSections[j], 0, nAuxGrp)
|
||||
EgtSetColor( nStmExtra, Color3d( 128, 128, 128))
|
||||
EgtSetColor( nStmExtra, WIN_COLOR_ACCESSORY)
|
||||
EgtSetName( nStmExtra, WIN_FIXED .. WIN_THRESHOLD)
|
||||
end
|
||||
|
||||
@@ -9466,7 +9295,7 @@ local function CalcWaterdrip( nPartId, nOutlineId, nAreaId, bDraw)
|
||||
if bDraw and s_bCalcSolid then
|
||||
-- estrudo la superficie
|
||||
local nStm = CreateProfileSurf( nGuideId, nProfileId, WIN_WATERDRIP, 0, nSolidLayId)
|
||||
EgtSetColor( nStm, Color3d( 128, 128, 128))
|
||||
EgtSetColor( nStm, WIN_COLOR_ACCESSORY)
|
||||
EgtSetName( nStm, WIN_WATERDRIP)
|
||||
end
|
||||
EgtErase( nGuideId)
|
||||
@@ -9575,7 +9404,7 @@ local function CalcGaskets( nAreaId, bDraw)
|
||||
if tParts[i].sGasket then
|
||||
-- estrusione principale della giunzione
|
||||
local nGasketStm = CreateProfileSurf( vOutlines[i], tParts[i].nProfileId, tParts[i].sGasket, 100, nSolidLayerId)
|
||||
EgtSetColor( nGasketStm, Color3d( 128, 128, 128))
|
||||
EgtSetColor( nGasketStm, WIN_COLOR_ACCESSORY)
|
||||
EgtSetName( nGasketStm, sGasket)
|
||||
|
||||
-- trim start
|
||||
@@ -9724,7 +9553,7 @@ local function CalcBottomRailPreview( nPreviewGrp, nOutlineId, nBottomRail, nGeo
|
||||
|
||||
-- creo la regione e ne estraggo il bordo
|
||||
local nAreaId = CalcIntersectionRegion( vCrvs, nPreviewGrp)
|
||||
EgtSetColor( nAreaId, Color3d( 251, 128, 4))
|
||||
EgtSetColor( nAreaId, WIN_COLOR_PART)
|
||||
local nCrvId = EgtExtractSurfFrChunkLoops( nAreaId, 0, nPreviewGrp)
|
||||
EgtSetColor( nCrvId, EgtStdColor( 'BLACK'))
|
||||
EgtModifyCurveThickness( nCrvId, 0)
|
||||
@@ -9957,7 +9786,7 @@ local function CalcPartPreview( nPartId, nPreviewGrp)
|
||||
EgtMove( nAreaId, Vector3d( 0, 0, - 1000))
|
||||
end
|
||||
end
|
||||
EgtSetColor( nAreaId, Color3d( 251, 128, 4))
|
||||
EgtSetColor( nAreaId, WIN_COLOR_PART)
|
||||
-- estraggo il contorno
|
||||
local nCompoId = EgtExtractSurfFrChunkLoops( nAreaId, 0, nPreviewGrp)
|
||||
EgtSetColor( nCompoId, EgtStdColor( 'BLACK'))
|
||||
@@ -9994,52 +9823,12 @@ local function CalcThresholdPreview( nAreaId, nPreviewGrp)
|
||||
-- creo il rettangolo della soglia e lo posiziono sullo sfondo
|
||||
local ptOrig = EgtSP( nBottomId)
|
||||
local nSurfId = EgtSurfFrRectangle( nPreviewGrp, ptOrig, ptOrig + EgtCurveLength( nBottomId) * X_AX() + b3Profile:getDimX() * Y_AX())
|
||||
EgtSetColor( nSurfId, Color3d( 128, 128, 128))
|
||||
EgtSetColor( nSurfId, WIN_COLOR_ACCESSORY)
|
||||
EgtMove( nSurfId, - 500 * Z_AX())
|
||||
local nCompoId = EgtExtractSurfFrChunkLoops( nSurfId, 0, nPreviewGrp)
|
||||
EgtSetColor( nCompoId, EgtStdColor( 'BLACK'))
|
||||
end
|
||||
|
||||
----------------------------------------------------------------------------------
|
||||
local function CalcHardwarePreview( nAreaId, nPreviewGrp)
|
||||
|
||||
local nAreaType = EgtGetInfo( nAreaId, WIN_AREATYPE, 'i')
|
||||
if nAreaType == WIN_AREATYPES.SASH then
|
||||
-- se anta disegno la ferramenta se è definita
|
||||
local sHdwFavourite = EgtGetInfo( nAreaId, WIN_HDW_FAVOURITE)
|
||||
if sHdwFavourite and sHdwFavourite ~= WIN_HDW_NULL then
|
||||
DrawSashHardware( nAreaId, nAreaId, nPreviewGrp, true)
|
||||
end
|
||||
return
|
||||
|
||||
elseif nAreaType == WIN_AREATYPES.SPLIT then
|
||||
local nSplitType = EgtGetInfo( nAreaId, WIN_SPLITTYPE, 'i') or WIN_SPLITTYPES.NULL
|
||||
if nSplitType == WIN_SPLITTYPES.FRENCH then
|
||||
local sHdwFavourite = EgtGetInfo( nAreaId, WIN_HDW_FAVOURITE)
|
||||
if sHdwFavourite and sHdwFavourite ~= WIN_HDW_NULL then
|
||||
-- disegno ferramenta per tutte le ante avendo come gruppo di riferimento delle info il parent dell'area split french
|
||||
local vSashes = EgtGetNameInGroup( nAreaId, WIN_AREA .. '*')
|
||||
for j = 1, #vSashes do
|
||||
DrawSashHardware( vSashes[j], nAreaId, nPreviewGrp, true)
|
||||
end
|
||||
end
|
||||
return
|
||||
else
|
||||
-- se non è split french devo controllare le sue sottoaree
|
||||
local vChildrenAreas = EgtGetNameInGroup( nAreaId, WIN_AREA .. '*') or {}
|
||||
for i = 1, #vChildrenAreas do
|
||||
CalcHardwarePreview( vChildrenAreas[i], nPreviewGrp)
|
||||
end
|
||||
end
|
||||
else
|
||||
-- controllo le sue sottoaree
|
||||
local vChildrenAreas = EgtGetNameInGroup( nAreaId, WIN_AREA .. '*') or {}
|
||||
for i = 1, #vChildrenAreas do
|
||||
CalcHardwarePreview( vChildrenAreas[i], nPreviewGrp)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
----------------------------------------------------------------------------------
|
||||
local function CalcPreview( nFrameId)
|
||||
|
||||
@@ -10090,9 +9879,6 @@ local function CalcPreview( nFrameId)
|
||||
end
|
||||
i = i + 1
|
||||
end
|
||||
|
||||
-- preview ferramenta
|
||||
CalcHardwarePreview( nFrameId, nPreviewGrp)
|
||||
end
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user