Compare commits

...

4 Commits

Author SHA1 Message Date
andrea.villa 517d2e304f In ScarfJoint, aggiunta tolleranza su controllo versori 2026-09-01 13:20:49 +02:00
andrea.villa ae34fc10dc Merge branch 'develop' of https://gitlab.steamware.net/egalware-cadcam/lua/DataBeam into develop 2026-08-27 14:45:53 +02:00
andrea.villa 6c3aa90ce6 Mortasa a coda di rondine da fare prima di un LapJoint che l'attraversa 2026-08-27 14:45:49 +02:00
daniele.nicoli 9e1c036753 Merge tag '3.1h2' into develop
3.1h2
2026-08-24 09:27:13 +02:00
2 changed files with 6 additions and 6 deletions
+2 -2
View File
@@ -1067,12 +1067,12 @@ local function OrderFeatures( vProc, b3Raw, nPartId)
return ( B1.Box:getMax():getX() + dDrillPenalty > B2.Box:getCenter():getX()) return ( B1.Box:getMax():getX() + dDrillPenalty > B2.Box:getCenter():getX())
end end
-- se prima è mortasa coda di rondine sul fianco e secondo taglio longitudinale, la coda di rondine va sempre prima -- se prima è mortasa coda di rondine sul fianco e secondo taglio longitudinale, la coda di rondine va sempre prima
if DtMortise.SideIdentify(B1) and ( LongCut.Identify(B2) or Long2Cut.Identify(B2)) and if DtMortise.SideIdentify(B1) and ( LongCut.Identify(B2) or Long2Cut.Identify(B2) or LapJoint.Identify( B2)) and
OverlapsX( B1.Box, B2.Box) then OverlapsX( B1.Box, B2.Box) then
return true return true
end end
-- se primo è taglio longitudinale e seconda è mortasa coda di rondine sul fianco, il taglio longitudinale va sempre dopo -- se primo è taglio longitudinale e seconda è mortasa coda di rondine sul fianco, il taglio longitudinale va sempre dopo
if ( LongCut.Identify(B1) or Long2Cut.Identify(B1)) and DtMortise.SideIdentify(B2) and if ( LongCut.Identify(B1) or Long2Cut.Identify(B1) or LapJoint.Identify( B1)) and DtMortise.SideIdentify(B2) and
OverlapsX( B1.Box, B2.Box) then OverlapsX( B1.Box, B2.Box) then
return false return false
end end
+4 -4
View File
@@ -524,9 +524,9 @@ function ProcessScarfJoint.Make( Proc, nPhase, nRawId, nPartId, dOvmHead, dOvmTa
local dDiamMax local dDiamMax
-- se normale verso Y (in orizzontale) -- se normale verso Y (in orizzontale)
if abs(vtRef:getY()) > 0.866 then if abs(vtRef:getY()) > 0.866 then
dDiamMax = EgtIf( abs( frMor:getVersX():getZ()) < abs( frMor:getVersY():getY()), dL, dW) dDiamMax = EgtIf( abs( frMor:getVersX():getZ()) - 10 * GEO.EPS_SMALL < abs( frMor:getVersY():getY()), dL, dW)
else else
dDiamMax = EgtIf( abs( frMor:getVersX():getY()) < abs( frMor:getVersY():getY()), dL, dW) dDiamMax = EgtIf( abs( frMor:getVersX():getY()) < abs( frMor:getVersY():getY()) - 10 * GEO.EPS_SMALL, dL, dW)
end end
-- determino la distanza tra le due facce inclinate per determinare elevazione -- determino la distanza tra le due facce inclinate per determinare elevazione
local dDistFaces local dDistFaces
@@ -536,9 +536,9 @@ function ProcessScarfJoint.Make( Proc, nPhase, nRawId, nPartId, dOvmHead, dOvmTa
if vFaceOrd[1] ~= 0 then if vFaceOrd[1] ~= 0 then
frMor, dL, dW = EgtSurfTmFacetMinAreaRectangle( Proc.Id, vFaceOrd[1]-1, GDB_ID.ROOT) frMor, dL, dW = EgtSurfTmFacetMinAreaRectangle( Proc.Id, vFaceOrd[1]-1, GDB_ID.ROOT)
if abs(vtRef:getY()) > 0.866 then if abs(vtRef:getY()) > 0.866 then
nElevationFace1 = EgtIf( abs( frMor:getVersX():getZ()) < abs( frMor:getVersY():getY()), dL, dW) nElevationFace1 = EgtIf( abs( frMor:getVersX():getZ()) < abs( frMor:getVersY():getY()) - 10 * GEO.EPS_SMALL, dL, dW)
else else
nElevationFace1 = EgtIf( abs( frMor:getVersX():getY()) < abs( frMor:getVersY():getY()), dL, dW) nElevationFace1 = EgtIf( abs( frMor:getVersX():getY()) < abs( frMor:getVersY():getY()) - 10 * GEO.EPS_SMALL, dL, dW)
end end
end end
dDistFaces = max( abs((ptC[vFaceOrd[2]]-ptC[vFaceOrd[4]])*vtN[vFaceOrd[2]]), nElevationFace1) dDistFaces = max( abs((ptC[vFaceOrd[2]]-ptC[vFaceOrd[4]])*vtN[vFaceOrd[2]]), nElevationFace1)