From b8a694db6014cee4df06355626affff62fa45126 Mon Sep 17 00:00:00 2001 From: "luca.mazzoleni" Date: Thu, 30 Jan 2025 09:22:16 +0100 Subject: [PATCH] - in DiceCut alcune modifiche nomi variabili --- LuaLibs/DiceCut.lua | 34 +++++++++++++++------------------- 1 file changed, 15 insertions(+), 19 deletions(-) diff --git a/LuaLibs/DiceCut.lua b/LuaLibs/DiceCut.lua index 8601d51..e8447cf 100644 --- a/LuaLibs/DiceCut.lua +++ b/LuaLibs/DiceCut.lua @@ -17,7 +17,7 @@ local BeamData = require( 'BeamData') -- creo i piani paralleli -- GetParallelPlanes: restituisce un vettore con gli indici delle superfici -- nAddGrpId: il layer --- b3BoxToDicing: il grezzo della barra +-- b3BoxDicing: il grezzo della barra -- ptC: il punto centrale del piano della feature -- vtN: il versore normale del piano della feature -- nCopyPlane: 0 => genera una copia del piano passato, 1=> non genera una copia del piano passato @@ -30,7 +30,7 @@ local BeamData = require( 'BeamData') -- vtNCut*: il punto centrale della superfice limitante (se non esistono altre superfici può essere omesso) -- ptCCut1*: il punto centrale della superfice limitante (se non esistono altre superfici può essere omesso) -- vtNCut1*: il punto centrale della superfice limitante (se non esistono altre superfici può essere omesso) -local function GetParallelPlanes( nAddGrpId, b3BoxToDicing, ptC, vtN, nCopyPlane, dOffset, nStep, Color, dTolerance, bNoTolOnFirstCut, ptCCut, vtNCut, ptCCut1, vtNCut1 ) +local function GetParallelPlanes( nAddGrpId, b3BoxDicing, ptC, vtN, nCopyPlane, dOffset, nStep, Color, dTolerance, bNoTolOnFirstCut, ptCCut, vtNCut, ptCCut1, vtNCut1 ) local ptMyCCut local AreaMin = 5*5 if ptCCut and vtNCut then @@ -46,7 +46,7 @@ local function GetParallelPlanes( nAddGrpId, b3BoxToDicing, ptC, vtN, nCopyPlane local TabellaTmSurfParallel = {} local i = nCopyPlane while i < nStep do - local SurfId = EgtSurfTmPlaneInBBox( nAddGrpId, ptC + ( i * dOffset) * vtN, vtN, b3BoxToDicing, GDB_RT.GLOB) + local SurfId = EgtSurfTmPlaneInBBox( nAddGrpId, ptC + ( i * dOffset) * vtN, vtN, b3BoxDicing, GDB_RT.GLOB) local nFacet = EgtSurfTmFacetCount( SurfId or GDB_ID.NULL) if nFacet == 0 then -- se sono al primo taglio do una possibilità in più di girare @@ -258,9 +258,9 @@ end -- VerifyFirstOrthoCut : -- CutTable: tabella dei tagli -- dOffsetParallel: offset della distanza dal punto centrale --- b3BoxToDicing: il grezzo della barra +-- b3BoxDicing: il grezzo della barra -- Verifica se l'asse X del box costruito sopra le 2 facce è più piccolo di un certo offset e quindi la faccia O è superflua -local function VerifyFirstOrthoCut( CutTable, dOffsetParallel, b3BoxToDicing, dNzLimDownUp) +local function VerifyFirstOrthoCut( CutTable, dOffsetParallel, b3BoxDicing, dNzLimDownUp) if not CutTable[1] or not CutTable[2] then return end @@ -275,7 +275,7 @@ local function VerifyFirstOrthoCut( CutTable, dOffsetParallel, b3BoxToDicing, dN -- normale alla faccia ortogonale local _, vtO = EgtSurfTmFacetCenter( CutOId, 0, GDB_ID.ROOT) vtO = vtO - vtO * vtN1 * vtN1 ; vtO:normalize() - local dMaxElev = EgtSurfTmFacetElevationInBBox( CutOId, 0, b3BoxToDicing, true, GDB_ID.ROOT) + local dMaxElev = EgtSurfTmFacetElevationInBBox( CutOId, 0, b3BoxDicing, true, GDB_ID.ROOT) -- calcolo lunghezza prima semi-faccia local asseX1 = vtO local asseY1 = vtN1 ^ asseX1 @@ -308,9 +308,9 @@ end ---------------------------------------------------------------------------------------------------------------------------------------------------- -- ricavo i vertici del box -local function CalcolaPuntiEstremiBox( b3BoxToDicing) - local ptMin = b3BoxToDicing:getMin() - local ptMax = b3BoxToDicing:getMax() +local function CalcolaPuntiEstremiBox( b3BoxDicing) + local ptMin = b3BoxDicing:getMin() + local ptMax = b3BoxDicing:getMax() local TBoxPoint = {} table.insert( TBoxPoint, { P = Point3d( ptMin:getX(), ptMin:getY(), ptMin:getZ()), On = true}) table.insert( TBoxPoint, { P = Point3d( ptMax:getX(), ptMin:getY(), ptMin:getZ()), On = true}) @@ -337,7 +337,7 @@ end ---------------------------------------------------------------------------------------------------------------------------------------------------- -- ricavo l'altezza del BoundingBox assegnati gli estremi del grezzo e la feature -- le funzioni commentate permettono di vedere la creazione di BoundingBox -local function DistanzaMassima( nAddGrpId, ptC1, vtN1, ptC2, vtN2, b3BoxToDicing, TPoint) +local function DistanzaMassima( nAddGrpId, ptC1, vtN1, ptC2, vtN2, b3BoxDicing, TPoint) -- calcolo il riferimento nel piano 1 local Frame1 = Frame3d( ptC1, vtN1) -- determino l'ingombro in questo riferimento della parte di trave compresa nel o nei piani @@ -353,7 +353,7 @@ local function DistanzaMassima( nAddGrpId, ptC1, vtN1, ptC2, vtN2, b3BoxToDicing -- eventuale altra faccia if ptC2 and vtN2 then local IdAux = EgtGroup( nAddGrpId) - local IdSurf2 = EgtSurfTmPlaneInBBox( IdAux, ptC2, vtN2, b3BoxToDicing, GDB_RT.GLOB) + local IdSurf2 = EgtSurfTmPlaneInBBox( IdAux, ptC2, vtN2, b3BoxDicing, GDB_RT.GLOB) EgtCutSurfTmPlane( IdSurf2, ptC1, -vtN1, false, GDB_RT.GLOB) if IdSurf2 then local BB2 = EgtGetBBoxRef( IdSurf2, GDB_BB.STANDARD, Frame1) @@ -520,10 +520,6 @@ function DiceCut.GetDice( Part, Face1, Face2, OptionalParameters) if vtO:getZ() > 0.939 and abs( vtNInner:getY()) > 0.5 then vtO:rotate( vtNInner, 90) end - -- se taglio con testa da sotto - if OptionalParameters.bHeadFromBottom and vtO:getZ() > 0.05 then - vtO = -vtO - end -- calcolo le dimensioni dell'offset e dove posizionare la prima faccia: -- CopyPlane: 0 => crea la prima faccia direttamente sul punto passato -- CopyPlane: 1 => crea la prima faccia e tutte le altre con l'offset passato @@ -635,8 +631,8 @@ local function DiceCutTest() local nRawPart = EgtGetParent( nAddGrpId) local nBox = EgtGetFirstNameInGroup( nRawPart, 'Box') -- carico il bounding box della trave - -- local b3BoxToDicing = EgtGetBBoxGlob( nRawPart, GDB_BB.STANDARD ) - local b3BoxToDicing = EgtGetBBoxGlob( nBox, GDB_BB.STANDARD ) + -- local b3BoxDicing = EgtGetBBoxGlob( nRawPart, GDB_BB.STANDARD ) + local b3BoxDicing = EgtGetBBoxGlob( nBox, GDB_BB.STANDARD ) -- seleziono il Part e il Layer di destinazione EgtSetCurrPartLayer( nRawPart, nAddGrpId) @@ -655,9 +651,9 @@ local function DiceCutTest() local CutTable = {} if nFacet == 1 then - CutTable = DiceCut.GetDice( nAddGrpId, b3BoxToDicing, ptC1, vtN1, true) + CutTable = DiceCut.GetDice( nAddGrpId, b3BoxDicing, ptC1, vtN1, true) elseif nFacet == 2 then - CutTable = DiceCut.GetDice( nAddGrpId, b3BoxToDicing, ptC1, vtN1, false, TabPlanesFeatures[2].ptC, TabPlanesFeatures[2].vtN) + CutTable = DiceCut.GetDice( nAddGrpId, b3BoxDicing, ptC1, vtN1, false, TabPlanesFeatures[2].ptC, TabPlanesFeatures[2].vtN) end if EgtGetDebugLevel() >= 3 then