DataDoors 3.1c1 :

- aggiunti parametri per smusso/raccordo in angolo interno L di Pivot (richiesta ALS).
This commit is contained in:
Dario Sassi
2026-03-03 13:11:10 +01:00
parent b472c6b88e
commit 348cd4401a
2 changed files with 45 additions and 15 deletions
+43 -13
View File
@@ -10,22 +10,23 @@
-- EEEEEEEEEE GGGGGGGGGG wwwwwwww wwwwwwww
-- EEEEEEEEEE GGGGGG wwwwwww wwwwwww
--
-- _PivotL.lua by EgalWare s.r.l. 2016.07.11
-- _PivotL.lua by EgalWare s.r.l. 2026.03.03
-- Autore: Filippo Monchi
-- PivotL, componente di secondo livello, non può essere chiamato direttamente da un lua dei
-- componenti di interfaccia
-- 2017.09.05 V1.0a2 FM Manage lead-in on opposite side and anti-splint path V lead-in
-- 2018.01.08 V1.0a3 FM Manage new R1 parameter to add a fillet on single corner
-- 2018.01.12 V1.0a4 FM Manage new anti splint position path when side pivot correspond to side door ( on offset and offsetintermediate type)
-- 2018.05.15 V1.0a5 FM Add manage new mode to count entity also on curvecompo path to allow assign note on connection entity
-- 2019.07.29 V1.0a6 FM Manage new differents pivot models and submodels: Centerhung pivot with submodel (1), Offset pivot with submodel (1),
-- OffsetInpermediate pivot with submodel (1) 4
-- the defalult and old one is submodel (1) for all model
-- 2019.10.18 V2.000 FM Manage use Materials
-- 2019.10.21 V2.001 FM Modify the closed path start point for steel material
-- 2020.10.20 V2.002 FM Fix error on insert fillet when L = L3
-- 2024.07.19 V2.003 FM Set note 'NotCheckDir' to pocketing and antisplint paths
-- 2017.09.05 V1.0a2 FM Manage lead-in on opposite side and anti-splint path V lead-in
-- 2018.01.08 V1.0a3 FM Manage new R1 parameter to add a fillet on single corner
-- 2018.01.12 V1.0a4 FM Manage new anti splint position path when side pivot correspond to side door ( on offset and offsetintermediate type)
-- 2018.05.15 V1.0a5 FM Add manage new mode to count entity also on curvecompo path to allow assign note on connection entity
-- 2019.07.29 V1.0a6 FM Manage new differents pivot models and submodels: Centerhung pivot with submodel (1), Offset pivot with submodel (1),
-- OffsetInpermediate pivot with submodel (1) 4
-- the defalult and old one is submodel (1) for all model
-- 2019.10.18 V2.000 FM Manage use Materials
-- 2019.10.21 V2.001 FM Modify the closed path start point for steel material
-- 2020.10.20 V2.002 FM Fix error on insert fillet when L = L3
-- 2024.07.19 V2.003 FM Set note 'NotCheckDir' to pocketing and antisplint paths
-- 2026.03.03 v3.1c1 DS Added fillet/chamfer management on opposite corner to single L for Offset type.
-- Tavola per definizione modulo (serve ma non usata)
local PivotL = {}
@@ -511,6 +512,35 @@ function PivotL.Draw( EC, EM, tPivotParam, bPreview, bRunByCompo, nDrawMach, Pz,
DrawAddLineDrawCircle( pIni, pEnd, Lg, tPocket, bPreview, Dm, 0, false, false, RED(), RED())
pIni = pEnd
-- Eventuale raccordo/smusso su unico angolo interno di L
local dRd1 = tPivotParam.Dr2R or 0
local dRd2 = tPivotParam.Dr2D or 0
if dRd1 > 100 * GEO.EPS_SMALL then
local nCLpId = tPocket[#tPocket-1]
local nCLcId = tPocket[#tPocket]
local dCLp = EgtCurveLength( nCLpId)
local dCLc = EgtCurveLength( nCLcId)
if dRd2 < 100 * GEO.EPS_SMALL then
local dRad = min( dRd1, dCLp - 100 * GEO.EPS_SMALL, dCLc - 100 * GEO.EPS_SMALL)
local nFltId = EgtCurveFillet( Lg, nCLpId, EgtMP( nCLpId), nCLcId, EgtMP( nCLcId), dRad, true, GDB_RT.LOC)
if nFltId then table.insert( tPocket, #tPocket, nFltId) end
else
local dCoeff1 = min( ( dCLp - 100 * GEO.EPS_SMALL) / dRd1, 1)
local dCoeff2 = min( ( dCLc - 100 * GEO.EPS_SMALL) / dRd2, 1)
local dCoeff = min( dCoeff1, dCoeff2)
local dDist1 = dCoeff * dRd1
local dDist2 = dCoeff * dRd2
if dDist1 > 100 * GEO.EPS_SMALL and dDist2 > 100 * GEO.EPS_SMALL then
EgtInvertCurve( nCLpId)
EgtTrimCurveStartAtLen( nCLpId, dDist1)
EgtInvertCurve( nCLpId)
EgtTrimCurveStartAtLen( nCLcId, dDist2)
local nChmId = EgtLine( Lg, EgtEP( nCLpId), EgtSP( nCLcId), GDB_RT.LOC)
if nChmId then table.insert( tPocket, #tPocket, nChmId) end
end
end
end
-- se abilitato material steel chiudo il percorso
if est then
pEnd = Point3d(-((L3/2)-(d/2)-dExtraH),(H3-(H/2)+(d/2)+dExtraH),0)
@@ -518,7 +548,7 @@ function PivotL.Draw( EC, EM, tPivotParam, bPreview, bRunByCompo, nDrawMach, Pz,
pIni = pEnd
end
hint = EgtCurveCompo( Lg, tPocket, true)
hint = EgtCurveCompo( Lg, tPocket, true)
if hint then
EgtModifyCurveThickness( hint, -T)
EgtSetName( hint, LG or '')
+2 -2
View File
@@ -1,6 +1,6 @@
-- Version.lua by EgalWare s.r.l. 2026/01/07
-- Version.lua by EgalWare s.r.l. 2026/03/03
-- Gestione della versione di Doors
NAME = 'Doors'
VERSION = '3.1a1'
VERSION = '3.1c1'
MIN_EXE = '2.6k4'