DataWindow :
- aggiunti controlli sulle dimensioni nella creazione di telai ad arco.
This commit is contained in:
@@ -131,11 +131,15 @@ local function CreateFrameCurves( nLayerId, nType, vDim)
|
||||
-- arco a tutto sesto
|
||||
elseif nType == WIN_FRAME_TYPES.ROUND_ARC then
|
||||
-- vDim[1] larghezza, vDim[2] altezza complessiva
|
||||
-- verifico che altezza sia sensata
|
||||
if vDim[2] < 0.5 * vDim[1] + GEO.EPS_SMALL then
|
||||
return
|
||||
end
|
||||
local nBottomId = EgtLine( nLayerId, ORIG(), Point3d( vDim[1], 0, 0))
|
||||
EgtSetName( nBottomId, WIN_BOTTOM)
|
||||
local nRightId = EgtLine( nLayerId, Point3d( vDim[1], 0, 0), Point3d( vDim[1], vDim[2] - 0.5 * vDim[1], 0))
|
||||
EgtSetName( nRightId, WIN_RIGHT)
|
||||
local nTopId = EgtArcCPA( nLayerId, Point3d( 0.5 * vDim[1], vDim[2] - 0.5 * vDim[1], 0), Point3d( vDim[1], vDim[2] - 0.5 * vDim[1], 0), 180, 0)
|
||||
local nTopId = EgtArcCPA( nLayerId, Point3d( 0.5 * vDim[1], vDim[2] - 0.5 * vDim[1], 0), Point3d( vDim[1], vDim[2] - 0.5 * vDim[1], 0), 180, 0)
|
||||
EgtSetName( nTopId, WIN_TOP)
|
||||
local nLeftId = EgtLine( nLayerId, Point3d( 0, vDim[2] - 0.5 * vDim[1], 0), ORIG())
|
||||
EgtSetName( nLeftId, WIN_LEFT)
|
||||
@@ -143,6 +147,10 @@ local function CreateFrameCurves( nLayerId, nType, vDim)
|
||||
-- arco ribassato
|
||||
elseif nType == WIN_FRAME_TYPES.SEGMENTAL_ARC then
|
||||
-- vDim[1] larghezza, vDim[2] altezza dei lati verticali, vDim[3] altezza complessiva
|
||||
-- controllo che non degeneri in arco a tutto sesto
|
||||
if vDim[3] - vDim[2] > 0.5 * vDim[1] - GEO.EPS_SMALL then
|
||||
return
|
||||
end
|
||||
local nBottomId = EgtLine( nLayerId, ORIG(), Point3d( vDim[1], 0, 0))
|
||||
EgtSetName( nBottomId, WIN_BOTTOM)
|
||||
local nRightId = EgtLine( nLayerId, Point3d( vDim[1], 0, 0), Point3d( vDim[1], vDim[2], 0))
|
||||
@@ -155,6 +163,10 @@ local function CreateFrameCurves( nLayerId, nType, vDim)
|
||||
-- arco a 3 centri
|
||||
elseif nType == WIN_FRAME_TYPES.THREE_CENTER_ARC then
|
||||
-- vDim[1] larghezza, vDim[2] altezza dei lati verticali, vDim[3] altezza complessiva, vDim[4] raggio di raccordo
|
||||
-- controllo sulle dimensioni
|
||||
if vDim[3] - vDim[2] > 0.5 * vDim[1] - GEO.EPS_SMALL or vDim[4] > 0.5 * vDim[1] - GEO.EPS_SMALL then
|
||||
return
|
||||
end
|
||||
local nBottomId = EgtLine( nLayerId, ORIG(), Point3d( vDim[1], 0, 0))
|
||||
EgtSetName( nBottomId, WIN_BOTTOM)
|
||||
local nRightId = EgtLine( nLayerId, Point3d( vDim[1], 0, 0), Point3d( vDim[1], vDim[2], 0))
|
||||
|
||||
Reference in New Issue
Block a user