- sostituita la funzione tostring con EgtNumToString
- calcolo dell'atltezza dei pezzi dello splitBottom.
This commit is contained in:
+26
-24
@@ -192,7 +192,7 @@ end
|
||||
function TOOL.FindLayers( IdPart)
|
||||
if not EgtIsPart( IdPart) then
|
||||
CMP.ERR = 1
|
||||
CMP.MSG = CMP.MSG.." In FindLayers "..tostring(IdPart).." non è un Part"
|
||||
CMP.MSG = CMP.MSG.." In FindLayers "..EgtNumToString(IdPart).." non è un Part"
|
||||
return nil
|
||||
end
|
||||
local tbLayer = {}
|
||||
@@ -341,7 +341,7 @@ function TOOL.AddInLoopToPart(nLayLoop)
|
||||
end
|
||||
if not EgtSurfFrSubtract( IdOutRegion,IdReg) then
|
||||
CMP.ERR = 5
|
||||
CMP.MSG = CMP.MSG.." Sottrazione tra superficie 'OutLoop' "..tostring(IdOutRegion).." e 'InLoop' "..tostring(IdReg).." non riuscita."
|
||||
CMP.MSG = CMP.MSG.." Sottrazione tra superficie 'OutLoop' "..EgtNumToString(IdOutRegion).." e 'InLoop' "..EgtNumToString(IdReg).." non riuscita."
|
||||
end
|
||||
EgtErase(IdReg)
|
||||
end
|
||||
@@ -387,7 +387,7 @@ function TOOL.CreatePart(nLayLoop, tbPart, bIsPlanar)
|
||||
-- scrivo nel part le informazioni di costruzione
|
||||
TOOL.WriteDataToChildPart(tbPart)
|
||||
-- INFO NECESSARIA
|
||||
EgtSetInfo(IdPart, 'Paired',tostring(IdPart))
|
||||
EgtSetInfo(IdPart, 'Paired',EgtNumToString(IdPart))
|
||||
|
||||
-- inserisco le etichette del pezzo nel centro della superofocie
|
||||
local ptTop = EgtCP( IdReg, GDB_RT.GLOB)
|
||||
@@ -448,12 +448,12 @@ function TOOL.CreateReference( IdPart, sNameLayer,sNameEdge, nIn, dVar, sDir, sP
|
||||
local IdRef = EgtCopy( IdEnt, tbLayer['Ref'])
|
||||
EgtSetInfo(IdRef, "OrigEdge", EgtGetName(IdEnt))
|
||||
local nNumRef = EgtGetGroupObjs(tbLayer['Ref'])
|
||||
local sNameRef = "R"..tostring(nNumRef)
|
||||
local sNameRef = "R"..EgtNumToString(nNumRef)
|
||||
-- verifico che non esista già un altro ref con questo nome
|
||||
local nIdRefDb= EgtGetFirstNameInGroup( tbLayer['Ref'], sNameRef)
|
||||
while nIdRefDb do
|
||||
nNumRef = nNumRef + 1
|
||||
sNameRef = "R"..tostring(nNumRef)
|
||||
sNameRef = "R"..EgtNumToString(nNumRef)
|
||||
nIdRefDb= EgtGetFirstNameInGroup( tbLayer['Ref'], sNameRef)
|
||||
end
|
||||
EgtSetName( IdRef, sNameRef)
|
||||
@@ -462,7 +462,7 @@ function TOOL.CreateReference( IdPart, sNameLayer,sNameEdge, nIn, dVar, sDir, sP
|
||||
EgtSetInfo(IdRef, 'Dir', sDir)
|
||||
end
|
||||
-- salvo nel riferimento il nome dell'edge da cui discende: A1 se da un outloop, A1_I1 se dal primo Inloop
|
||||
if nIn then sNameEdge = sNameEdge.."_"..tostring(nIn) end
|
||||
if nIn then sNameEdge = sNameEdge.."_"..EgtNumToString(nIn) end
|
||||
EgtSetInfo(IdRef, "Orig", sNameEdge)
|
||||
-- salvo nel riferimento il nome del part che lo userà per associarsi ad IdPart (questa operazione la faccio solo per il riferimento del part destinatario)
|
||||
if sPartPairingName then EgtSetInfo(IdRef,"PartPairing", sPartPairingName) end
|
||||
@@ -570,7 +570,7 @@ end
|
||||
-- local FstLayerInLstPart = EgtGetFirstGroupInGroup( LastPart)
|
||||
-- local IdLoop = EgtGetFirstInGroup( FstLayerInLstPart)
|
||||
-- if not EgtRelocateGlob( IdLoop, OutLayer) then
|
||||
-- EgtOutLog(' RELOCATE AFLLITA MISERAMENTE: '..tostring(IdLoop)..';'..tostring(OutLayer))
|
||||
-- EgtOutLog(' RELOCATE AFLLITA MISERAMENTE: '..EgtNumToString(IdLoop)..';'..EgtNumToString(OutLayer))
|
||||
-- end
|
||||
-- EgtErase(LastPart)
|
||||
-- local tbIdLoop = ExplodeAndNameEdges( IdLoop)
|
||||
@@ -654,7 +654,7 @@ function CalcDraftAngle( vtDir1, vtDir2, dPairAng1, dPairAng2, dAngBetween)
|
||||
dSideAng = (180 - dAng3d) / 2
|
||||
|
||||
--debug
|
||||
EgtOutLog(tostring(dSideAng)..' '.. tostring(dBeta1).. ' '..tostring(dBeta2))
|
||||
EgtOutLog(EgtNumToString(dSideAng)..' '.. EgtNumToString(dBeta1).. ' '..EgtNumToString(dBeta2))
|
||||
--debug
|
||||
|
||||
return dSideAng, dBeta1, dBeta2
|
||||
@@ -940,7 +940,7 @@ local function CreateSplitBottomPart(tbInfo, i, tbIdEdges, ptCenter, nPrev, nFir
|
||||
-- devo verificare se la paretina esiste già allora devo distruggerla e ricrearla, sennò la creo da zero
|
||||
local nChildPart = EgtGetFirstNameInGroup(GDB_ID.ROOT, EgtGetInfo(tbInfo.nParent, "A"..tbInfo.nEdge))
|
||||
if not nChildPart then
|
||||
Pz_Bottom = TOOL.CreatePartLayer('BottomA'..tostring(i))
|
||||
Pz_Bottom = TOOL.CreatePartLayer('BottomA'..EgtNumToString(i))
|
||||
tbInfo.sName = EgtGetName(Pz_Bottom)
|
||||
EgtSetInfo(tbInfo.nParent, "A"..tbInfo.nEdge, tbInfo.sName)
|
||||
tbInfo.nPrevId = nPrev
|
||||
@@ -961,8 +961,6 @@ local function CreateSplitBottomPart(tbInfo, i, tbIdEdges, ptCenter, nPrev, nFir
|
||||
tbInfo.nJunctionType = 3
|
||||
tbInfo.bOnLoop = true
|
||||
tbInfo.bInsideLoop = false -- questo mi richiederà di prendere il complementare del side ang che risulta dal calcDraftAng
|
||||
local dThParent = EgtGetInfo(tbInfo.nParent, "Th", "d") or 0
|
||||
tbInfo.dH = ((EgtPointCurveDist( ptCenter, tbInfo.nEdgeId, GDB_RT.GLOB) - TOOL.dDiamBore) + dThParent) / cos(TOOL.dSlopeAng)
|
||||
else
|
||||
-- se esisteva già ripulisco i layer della regione e del loop ed elimino il solido
|
||||
ClearPart(nChildPart)
|
||||
@@ -995,7 +993,7 @@ local function CreateSplitBottomPart(tbInfo, i, tbIdEdges, ptCenter, nPrev, nFir
|
||||
local nIdPrev = EgtGetFirstNameInGroup(GDB_ID.ROOT, EgtGetInfo(tbInfo.nParent, "Prev"))
|
||||
local dThPrev = EgtGetInfo(nIdPrev, "Th", "d")
|
||||
dLenCorr = dThPrev
|
||||
tbInfo.sDestRefOff = tostring(dThPrev)..",0,-x"
|
||||
tbInfo.sDestRefOff = EgtNumToString(dThPrev)..",0,-x"
|
||||
tbInfo.nPairMode = 2
|
||||
elseif nParentJunctionType == 2 then
|
||||
-- devo recuperare lo spessore del pezzo successivo
|
||||
@@ -1003,13 +1001,10 @@ local function CreateSplitBottomPart(tbInfo, i, tbIdEdges, ptCenter, nPrev, nFir
|
||||
local nIdNext = EgtGetFirstNameInGroup(GDB_ID.ROOT, EgtGetInfo(tbInfo.nParent, "Next"))
|
||||
local dThNext = EgtGetInfo(nIdNext, "Th", "d")
|
||||
dLenCorr = dThNext
|
||||
tbInfo.sDestRefOff = tostring(-dThNext)..",0,-x"
|
||||
tbInfo.sDestRefOff = EgtNumToString(-dThNext)..",0,-x"
|
||||
tbInfo.nPairMode = 1
|
||||
end
|
||||
end
|
||||
if i == 2 or i == 4 then
|
||||
tbInfo.dH = 134.5859034533108
|
||||
end
|
||||
TOOL.CreateAdjustedPart( tbInfo, dLenCorr)
|
||||
TOOL.CreatePart(tbLayerBottom['OutLoop'],tbInfo)
|
||||
|
||||
@@ -1066,22 +1061,27 @@ function TOOL.CreateSplitBottom( tbIdEdges, dOffset)
|
||||
local nLoop = EgtCurveCompoByChain(nAuxLay, tbIdEdges, EgtSP(tbIdEdges[1], GDB_RT.GLOB), false)
|
||||
EgtOffsetCurve(nLoop, -dOffset, GDB_OT.EXTEND) -- N.B.: qui spero che si sia mantenuto il numero di curve e di poter ancora associare le curve di offset con quelle originali e con il relativo part di origine
|
||||
local ptCenter = EgtGP(nLoop, GDB_RT.GLOB)
|
||||
local dOffsetMax = EgtCurveMaxOffset(nLoop)
|
||||
TOOL.tbIdLoop = TOOL.ExplodeAndNameEdges( nLoop, false)
|
||||
|
||||
-- creo i part con tutte le info
|
||||
local nPrev = GDB_ID.NULL
|
||||
local nFirst = GDB_ID.NULL
|
||||
local tbInfo = TOOL.tbInfo
|
||||
|
||||
|
||||
|
||||
-- da intefaccia devo settare:-----------------------------------------------
|
||||
-- - TOOL.tbIdEdges
|
||||
-- - dOffset
|
||||
-- - dSlopeAng
|
||||
-- - dDiamBore
|
||||
-- - dTh
|
||||
|
||||
for i = 1, #tbIdEdges do
|
||||
tbInfo.dTh = TOOL.dTh
|
||||
tbInfo.nParent = tbParent[i]
|
||||
local dThParent = EgtGetInfo(tbInfo.nParent, "Th", "d") or 0
|
||||
tbInfo.dH = ((dOffsetMax - TOOL.dDiamBore/2) + dThParent) / cos(TOOL.dSlopeAng)
|
||||
tbInfo.nEdge = 3 -- so già che il pezzo che creo si attaccherà al lato A3 del loop della paretina del lavandino
|
||||
nPrev = CreateSplitBottomPart(tbInfo, i, tbIdEdges, ptCenter, nPrev, nFirst)
|
||||
|
||||
@@ -1102,6 +1102,8 @@ function TOOL.CreateSplitBottom( tbIdEdges, dOffset)
|
||||
tbInfo = {}
|
||||
end
|
||||
|
||||
EgtErase(nAuxPart)
|
||||
|
||||
TOOL.SaveMePlease()
|
||||
|
||||
-- cancello layer ed entità che non servono più...
|
||||
@@ -1146,9 +1148,9 @@ local function UpdateNeighInfo()
|
||||
local nEdges = EgtGetGroupObjs(TOOL.nLayLoopParent)
|
||||
-- controllo il prev
|
||||
local nPrev = TOOL.tbInfo.nEdge > 1 and TOOL.tbInfo.nEdge - 1 or nEdges -- numero ordinale della paretina precedente alla corrente
|
||||
local sNamePrev = "A"..tostring(nPrev)
|
||||
local sNamePrev = "A"..EgtNumToString(nPrev)
|
||||
-- correggo il nome in caso l'edge appartenga ad un inloop
|
||||
if not TOOL.tbInfo.bOutLoop then sNamePrev = sNamePrev.."_I"..tostring(TOOL.tbInfo.nIn) end
|
||||
if not TOOL.tbInfo.bOutLoop then sNamePrev = sNamePrev.."_I"..EgtNumToString(TOOL.tbInfo.nIn) end
|
||||
-- in nPrevId salvo già la paretina dello stesso tipo della corrente(alzatina o frontalino)
|
||||
local tbPrev = EgtGetInfo(TOOL.tbInfo.nParent, sNamePrev, "vs")
|
||||
local bSameSide = false
|
||||
@@ -1170,9 +1172,9 @@ local function UpdateNeighInfo()
|
||||
end
|
||||
-- controllo il next
|
||||
local nNext = TOOL.tbInfo.nEdge == nEdges and 1 or (TOOL.tbInfo.nEdge + 1)
|
||||
local sNameNext = "A"..tostring(nNext)
|
||||
local sNameNext = "A"..EgtNumToString(nNext)
|
||||
-- correggo il nome in caso l'edge appartenga ad un inloop
|
||||
if not TOOL.tbInfo.bOutLoop then sNameNext = sNameNext.."_I"..tostring(TOOL.tbInfo.nIn) end
|
||||
if not TOOL.tbInfo.bOutLoop then sNameNext = sNameNext.."_I"..EgtNumToString(TOOL.tbInfo.nIn) end
|
||||
-- in nNextId salvo già la paretina dello stesso tipo della corrente(alzatina o frontalino)
|
||||
local tbNext = EgtGetInfo(TOOL.tbInfo.nParent, sNameNext, "vs")
|
||||
bSameSide = false
|
||||
@@ -1221,7 +1223,7 @@ function TOOL.CreateParetinaFull(bPrev, bNext, bRecurs)
|
||||
-- controllo nelle info del parent se era già stato creato il part associato a quel lato
|
||||
local sEdgeName = EgtGetName(TOOL.tbInfo.nEdgeId)
|
||||
-- se inloop correggo il nome dell'info da A1 a A1_I1, dove I1 indica il primo Inloop
|
||||
if not TOOL.tbInfo.bOutLoop then sEdgeName = sEdgeName.."_I"..tostring(TOOL.tbInfo.nIn) end
|
||||
if not TOOL.tbInfo.bOutLoop then sEdgeName = sEdgeName.."_I"..EgtNumToString(TOOL.tbInfo.nIn) end
|
||||
if not TOOL.tbInfo.nParent or TOOL.tbInfo.nParent == GDB_ID.NULL then TOOL.tbInfo.nParent = EgtGetParent(EgtGetParent(TOOL.tbInfo.nEdgeId))end
|
||||
local tbChildName = EgtGetInfo(TOOL.tbInfo.nParent, sEdgeName, "vs")
|
||||
local nChildPart = nil
|
||||
@@ -1288,13 +1290,13 @@ function TOOL.CreateParetinaFull(bPrev, bNext, bRecurs)
|
||||
TOOL.tbInfo.dSideAngT = TOOL.dPairAng + 90
|
||||
TOOL.tbInfo.dYOffset = TOOL.tbInfo.dTh * tan(TOOL.tbInfo.dSideAngT)
|
||||
TOOL.tbInfo.sDestRefOff = '0,0,-x'
|
||||
TOOL.tbInfo.sRefOff = '0,'..tostring(TOOL.tbInfo.dYOffset)..',0'
|
||||
TOOL.tbInfo.sRefOff = '0,'..EgtNumToString(TOOL.tbInfo.dYOffset)..',0'
|
||||
else
|
||||
-- splashtop
|
||||
TOOL.tbInfo.dSideAngT = TOOL.dPairAng - 90
|
||||
TOOL.tbInfo.dYOffset = TOOL.tbInfo.dTh * tan(TOOL.tbInfo.dSideAngT)
|
||||
TOOL.tbInfo.sDestRefOff = '0,0,0'
|
||||
TOOL.tbInfo.sRefOff = tostring(TOOL.tbInfo.dXOffset)..','..tostring(TOOL.tbInfo.dYOffset)..',-x'
|
||||
TOOL.tbInfo.sRefOff = EgtNumToString(TOOL.tbInfo.dXOffset)..','..EgtNumToString(TOOL.tbInfo.dYOffset)..',-x'
|
||||
end
|
||||
TOOL.tbInfo.dThParent = EgtGetInfo(TOOL.tbInfo.nParent, "Th", "d")
|
||||
local nIdRefDest = TOOL.CreateReference( TOOL.tbInfo.nParent, sLayEdgeDest, sEdgeDest, TOOL.tbInfo.nIn, TOOL.tbInfo.dThParent, TOOL.tbInfo.sDestRefOff, TOOL.tbInfo.sName)
|
||||
|
||||
Reference in New Issue
Block a user