- aggiunta parametro per la creazione di splitbottom che converge su un foro circolare.
This commit is contained in:
+10
-4
@@ -1030,7 +1030,7 @@ local function CalcNextJunction(tbInfo, nIdNext)
|
||||
return JunctionResult
|
||||
end
|
||||
|
||||
function TOOL.CreateParetina(nEdgeId, tbInfo, dPairAngCorr)
|
||||
function TOOL.CreateParetina(nEdgeId, tbInfo, dPairAngCorr, bHole)
|
||||
local tbIdLoopTC = {}
|
||||
-- se ho chiamato la funzione senza passare direttamente gli argomenti li recupero dalla tabella principale
|
||||
if not tbInfo then
|
||||
@@ -1052,6 +1052,8 @@ function TOOL.CreateParetina(nEdgeId, tbInfo, dPairAngCorr)
|
||||
nEdgeId = EgtGetFirstNameInGroup(tbInfo.nLayLoopParent, "A"..tostring(tbInfo.nEdge))
|
||||
end
|
||||
end
|
||||
if not bHole then bHole = false end -- parametro che indica se il lato superiore del pezzo (A3) sarà un arco è un segmento
|
||||
|
||||
|
||||
if #tbIdLoopTC == 0 then return end
|
||||
local i = tbInfo.nEdge -- posizione del lato nel layer del loop
|
||||
@@ -1196,7 +1198,7 @@ local function ClearPart(nPartId)
|
||||
EgtErase(nRef)
|
||||
end
|
||||
|
||||
local function CreateSplitBottomPart(tbInfo, i, tbIdEdges, nPrev, nNext)
|
||||
local function CreateSplitBottomPart(tbInfo, i, tbIdEdges, nPrev, nNext, bHole)
|
||||
local Pz_Bottom = GDB_ID.NULL
|
||||
-- devo verificare se la paretina esiste già allora devo distruggerla e ricrearla, sennò la creo da zero
|
||||
-- N.B.: nEdge è riferito all'edge del parent a cui questo part andrà ad accoppiarsi
|
||||
@@ -1244,7 +1246,7 @@ local function CreateSplitBottomPart(tbInfo, i, tbIdEdges, nPrev, nNext)
|
||||
tbInfo.nLayLoop = tbLayerBottom['OutLoop']
|
||||
-- nella funzione CreateParetina mi serve che tbInfo.nEdge indichi quale lato del loop ausiliario sta generando il part corrente(e non sia riferito al lato del parent)
|
||||
tbInfo.nEdge = i
|
||||
TOOL.CreateParetina( tbInfo.nEdgeId, tbInfo, 90)
|
||||
TOOL.CreateParetina( tbInfo.nEdgeId, tbInfo, 90, bHole)
|
||||
-- ripristino il valore di nEdge riferito al Parent
|
||||
tbInfo.nEdge = 3
|
||||
local dLenCorr = 0
|
||||
@@ -1382,6 +1384,10 @@ function TOOL.CreateSplitBottom( tbIdEdges, dOffset)
|
||||
-- - dHoleDimX
|
||||
-- - dHoleDimY
|
||||
-- - dTh
|
||||
|
||||
-- determino se devo creare una fessura o un foro
|
||||
local bHole = false
|
||||
if TOOL.dDiamBore then bHole = true end
|
||||
for i = 1, #TOOL.tbIdLoop do
|
||||
tbInfo.nPrevId = nPrev
|
||||
tbInfo.dTh = TOOL.dTh
|
||||
@@ -1407,7 +1413,7 @@ function TOOL.CreateSplitBottom( tbIdEdges, dOffset)
|
||||
tbInfo.dH = sqrt(pow(dDist,2) + pow(TOOL.dDepth,2))
|
||||
tbInfo.dSlopeAng = acos(dDist/tbInfo.dH)
|
||||
tbInfo.nEdge = 3 -- so già che il pezzo che creo si attaccherà al lato A3 del loop della paretina del lavandino
|
||||
local nCurr = CreateSplitBottomPart(tbInfo, i, TOOL.tbIdLoop, nPrev, nFirst)
|
||||
local nCurr = CreateSplitBottomPart(tbInfo, i, TOOL.tbIdLoop, nPrev, nFirst, bHole)
|
||||
-- aggiungo l'info addizionale, se presente
|
||||
if tbInfo.InfoKey then
|
||||
local tbKeys = EgtSplitString(tbInfo.InfoKey, ",")
|
||||
|
||||
Reference in New Issue
Block a user