Compare commits

..

8 Commits

Author SHA1 Message Date
luca.mazzoleni dc02047db8 - aggiunti i messaggi da accodare ai messaggi generali 2026-06-23 13:03:35 +02:00
luca.mazzoleni 168c72af9e - in tutti i Json strategia aggiunti i campi "idDescriptionShortMsg" e "idDescriptionLongMsg" per la traduzione dei messaggi interni dell'automatismo 2026-06-23 11:46:07 +02:00
luca.mazzoleni a0ba2fb535 - correzione in BeamExec 2026-06-23 10:45:03 +02:00
luca.mazzoleni 43e2c61820 - in FaceData si usa la funzione GetAdjacentIndices dove possibile
- in FaceData si accettano, solo per le groove-3, i MainEdges per LongFaces a 5 lati
- in FACEBYCHAINSAW modifiche per rispecchiare la direzione utensile calcolata dal Cam5 e MaxElev impostata di conseguenza; invece di usare formule si provano sempre entrambe le soluzioni BlockedAxis, per contemplare tutti i casi
2026-06-22 18:29:59 +02:00
luca.mazzoleni fca53e5c4c - gestita feature Chamfer (stesse strategie di Longitudinal Cut)
- aggiunta topologia PseudoPocket 4 facce (faccia di fondo con numero indefinito di lati e facce laterali attaccate), es Birdsmouth di forme strane
- in STR0015 si gestisce SCC per minimizzare problemi di pinzaggio
- in BLADEKEEPWASTE piccola correzione
- in MachiningLib.GetSpliMachinings il sormonto tra le lavorazioni ora è corretto (MILL_OVERLAP); valutare parametro generale invece di costante macchina
2026-06-19 16:05:18 +02:00
luca.mazzoleni 987ffd30d6 - in PreSimulationLib aggiunto controllo collisione con flangia lama 2026-06-19 09:41:55 +02:00
luca.mazzoleni 30d29add83 - varie correzioni per il caso FIRST_IN_LIST
- in STR0008 se la mortasa è aperta su almeno un lato si forza lo SPIRALIN
2026-06-18 10:02:58 +02:00
luca.mazzoleni b73adc5092 Merge branch 'ObliqueNesting' into develop 2026-06-15 12:23:19 +02:00
35 changed files with 1457 additions and 112 deletions
+1
View File
@@ -252,6 +252,7 @@ local function GetStrategies_Essetre( Proc)
---------------------------------------------------------------------
-- Feature : Chamfer (0-36)
elseif ID.IsChamfer( Proc) then
Strategies = { { sStrategyId = 'STR0002'}, { sStrategyId = 'STR0005'}, { sStrategyId = 'STR0010'}}
---------------------------------------------------------------------
-- Feature : Block Haus Half Lap (0-37)
elseif ID.IsHalfBlockHaus( Proc) then
+2 -2
View File
@@ -852,7 +852,7 @@ local function GetFeatureInfoAndDependency( vProcSingleRot, Part, bIsFlipRot)
and ( FeatureLib.IsFeatureCuttingEntireSection( Proc.b3Box, Part) and FeatureLib.IsFeatureCuttingEntireSection( ProcB.b3Box, Part))
-- si trovano i veri tagli di testa e coda e si disattivano gli altri, se necessario
if bIsFlipRot and Part.GeneralParameters.GEN_bGetAlternativesNesting2D and bAreBothTruncatingCuts then
if Part.GeneralParameters.GEN_bGetAlternativesNesting2D and bAreBothTruncatingCuts then
-- testa
if Proc.Faces[1].vtN:getX() > GEO.EPS_SMALL and ProcB.Faces[1].vtN:getX() > GEO.EPS_SMALL then
-- il primo taglio è più verso il centro della trave
@@ -1173,7 +1173,7 @@ local function CalculateStrategies( vProcSingleRot, Part)
end
Proc.AvailableStrategies.dAllStrategiesTotalTime = Proc.AvailableStrategies.dAllStrategiesTotalTime + Proc.AvailableStrategies[nIndexCurrentStrategy].Result.dTimeToMachine
-- se scelta strategia in modalità base o standard, esco subito alla prima che trovo completa
if Part.GeneralParameters.GEN_sMachiningStrategy == 'FIRST_IN_LIST' and Proc.AvailableStrategies[nIndexCurrentStrategy].Result.sStatus == 'Complete' then
if Part.GeneralParameters.GEN_sMachiningStrategy == 'FIRST_IN_LIST' and Proc.AvailableStrategies[nIndexCurrentStrategy].Result.sStatus == 'Completed' then
break
end
+2 -2
View File
@@ -615,8 +615,8 @@ function BeamLib.GetAdjacentIndices( nCurrentIndex, nMaxIndex)
end
-- circular indexing 1-based
nPreviousIndex = ((nCurrentIndex - 2 + nMaxIndex) % nMaxIndex) + 1
nNextIndex = (nCurrentIndex % nMaxIndex) + 1
nPreviousIndex = ( ( nCurrentIndex - 2 + nMaxIndex) % nMaxIndex) + 1
nNextIndex = ( nCurrentIndex % nMaxIndex) + 1
return nPreviousIndex, nNextIndex
end
+24 -36
View File
@@ -116,14 +116,8 @@ function FaceData.GetEdgesInfo( ProcOrId, idFace )
local nFaceType, EdgesEgt = EgtSurfTmGetFacetOutlineInfo( Proc.id, idFace, GDB_ID.ROOT)
for i = 1, #EdgesEgt do
local nPreviousEdgeIndex = i - 1
if i == 1 then
nPreviousEdgeIndex = #EdgesEgt
end
local nNextEdgeIndex = i + 1
if i == #EdgesEgt then
nNextEdgeIndex = 1
end
local nPreviousEdgeIndex, nNextEdgeIndex = BeamLib.GetAdjacentIndices( i, #EdgesEgt)
-- l'elevazione si tiene sempre positiva e la normale sempre diretta verso l'interno della faccia
-- per sapere se il lato è aperto c'è la proprietà apposita bIsOpen
@@ -143,6 +137,8 @@ function FaceData.GetEdgesInfo( ProcOrId, idFace )
CurrentEdge.vtEdge = CurrentEdge.ptEnd - CurrentEdge.ptStart ; CurrentEdge.vtEdge:normalize()
CurrentEdge.sType = 'Standard'
CurrentEdge.id = i - 1
CurrentEdge.nPreviousEdgeIndex = nPreviousEdgeIndex
CurrentEdge.nNextEdgeIndex = nNextEdgeIndex
-- se nella Proc ci sono le adiacenze e il lato ha adiacenza, si salva l'angolo con la faccia adiacente
if Proc.AdjacencyMatrix then
@@ -369,7 +365,8 @@ local function GetBottomFaces( Proc)
if Proc.Topology.sFamily == 'Tunnel' then
return nil
elseif not ( Proc.Topology.sFamily == 'Rabbet'
elseif not ( Proc.Topology.sFamily == 'PseudoPocket'
or Proc.Topology.sFamily == 'Rabbet'
or Proc.Topology.sFamily == 'VGroove'
or Proc.Topology.sFamily == 'Groove'
or Proc.Topology.sFamily == 'Pocket'
@@ -450,14 +447,7 @@ local function GetBottomFaces( Proc)
end
for i = 1, #BottomFaces[1].Edges do
local nPreviousEdgeIndex = i - 1
if i == 1 then
nPreviousEdgeIndex = #BottomFaces[1].Edges
end
local nNextEdgeIndex = i + 1
if i == #BottomFaces[1].Edges then
nNextEdgeIndex = 1
end
local nPreviousEdgeIndex, nNextEdgeIndex = BeamLib.GetAdjacentIndices( i, #BottomFaces[1].Edges)
local CurrentEdge = {}
CurrentEdge.idAdjacentFace = BottomFaces[1].Edges[i].idAdjacentFace
@@ -471,6 +461,8 @@ local function GetBottomFaces( Proc)
CurrentEdge.ptEnd = BottomFaces[1].Edges[i].ptEnd
CurrentEdge.vtEdge = BottomFaces[1].Edges[i].vtEdge
CurrentEdge.id = BottomFaces[1].Edges[i].id
CurrentEdge.nPreviousEdgeIndex = BottomFaces[1].Edges[i].nPreviousEdgeIndex
CurrentEdge.nNextEdgeIndex = BottomFaces[1].Edges[i].nNextEdgeIndex
if nFirstLongEdgeIndex then
if i == nFirstLongEdgeIndex then
@@ -539,8 +531,8 @@ local function GetLongFaces( Proc, MainFaces)
for i = 1, #LongFaces do
LongFaces[i].sType = 'Long'
-- calcolo MainEdges possibile solo se 4 lati esatti
if #LongFaces[i].Edges ~= 4 then
-- calcolo MainEdges possibile solo se 4 lati esatti e caso speciale lato opposto groove tagliato
if #LongFaces[i].Edges ~= 4 and not ( #LongFaces[i].Edges == 5 and Proc.Topology.sName == 'Groove-3-Through') then
break
end
@@ -549,14 +541,7 @@ local function GetLongFaces( Proc, MainFaces)
LongFaces[i].MainEdges.OppositeEdges = {}
for j = 1, #LongFaces[i].Edges do
local nPreviousEdgeIndex = j - 1
if j == 1 then
nPreviousEdgeIndex = #LongFaces[1].Edges
end
local nNextEdgeIndex = j + 1
if j == #LongFaces[i].Edges then
nNextEdgeIndex = 1
end
local nPreviousEdgeIndex, nNextEdgeIndex = BeamLib.GetAdjacentIndices( j, #LongFaces[i].Edges)
local CurrentEdge = {}
CurrentEdge.idAdjacentFace = LongFaces[i].Edges[j].idAdjacentFace
@@ -570,6 +555,8 @@ local function GetLongFaces( Proc, MainFaces)
CurrentEdge.ptEnd = LongFaces[i].Edges[j].ptEnd
CurrentEdge.vtEdge = LongFaces[i].Edges[j].vtEdge
CurrentEdge.id = LongFaces[i].Edges[j].id
CurrentEdge.nPreviousEdgeIndex = LongFaces[i].Edges[j].nPreviousEdgeIndex
CurrentEdge.nNextEdgeIndex = LongFaces[i].Edges[j].nNextEdgeIndex
if Proc.Topology.sFamily == 'Tunnel' then
if CurrentEdge.idAdjacentFace > -1 then
@@ -595,6 +582,12 @@ local function GetLongFaces( Proc, MainFaces)
end
end
end
-- il primo OppositeEdge deve essere sempre il più lungo, se più di uno
if #LongFaces[i].MainEdges.OppositeEdges > 1 then
if LongFaces[i].MainEdges.OppositeEdges[1].dLength < LongFaces[i].MainEdges.OppositeEdges[2].dLength - 10 * GEO.EPS_SMALL then
LongFaces[i].MainEdges.OppositeEdges[1], LongFaces[i].MainEdges.OppositeEdges[2] = LongFaces[i].MainEdges.OppositeEdges[2], LongFaces[i].MainEdges.OppositeEdges[1]
end
end
end
return LongFaces
@@ -649,14 +642,7 @@ local function GetSideFaces( Proc, MainFaces)
SideFaces[i].MainEdges.OppositeEdges = {}
for j = 1, #SideFaces[i].Edges do
local nPreviousEdgeIndex = j - 1
if j == 1 then
nPreviousEdgeIndex = #SideFaces[1].Edges
end
local nNextEdgeIndex = j + 1
if j == #SideFaces[i].Edges then
nNextEdgeIndex = 1
end
local nPreviousEdgeIndex, nNextEdgeIndex = BeamLib.GetAdjacentIndices( j, #SideFaces[i].Edges)
local CurrentEdge = {}
CurrentEdge.idAdjacentFace = SideFaces[i].Edges[j].idAdjacentFace
@@ -670,6 +656,8 @@ local function GetSideFaces( Proc, MainFaces)
CurrentEdge.ptEnd = SideFaces[i].Edges[j].ptEnd
CurrentEdge.vtEdge = SideFaces[i].Edges[j].vtEdge
CurrentEdge.id = SideFaces[i].Edges[j].id
CurrentEdge.nPreviousEdgeIndex = SideFaces[i].Edges[j].nPreviousEdgeIndex
CurrentEdge.nNextEdgeIndex = SideFaces[i].Edges[j].nNextEdgeIndex
if Proc.Topology.sFamily == 'Tunnel' then
if CurrentEdge.idAdjacentFace > -1 then
@@ -706,7 +694,7 @@ function FaceData.GetMainFaces( Proc, Part)
local MainFaces = {}
-- CASO 1 : Feature tipo LapJoint
if Proc.Topology.sFamily == 'Rabbet' or Proc.Topology.sFamily == 'VGroove' or Proc.Topology.sFamily == 'Groove' or
if Proc.Topology.sFamily == 'PseudoPocket' or Proc.Topology.sFamily == 'Rabbet' or Proc.Topology.sFamily == 'VGroove' or Proc.Topology.sFamily == 'Groove' or
Proc.Topology.sFamily == 'Pocket' or Proc.Topology.sFamily == 'Tunnel' or Proc.Topology.sFamily == 'Bevel' or
Proc.Topology.sFamily == 'DoubleBevel' or Proc.Topology.sFamily == 'Cut' or Proc.Topology.sFamily == 'HeadCut' or Proc.Topology.sFamily == 'TailCut' then
+7 -1
View File
@@ -255,6 +255,9 @@ function FeatureLib.ClassifyTopology( Proc, Part)
elseif Proc.nFct == 4 and bAllAnglesConcave and #vFacesByAdjNumber[2] == 4 and bIsAnyDimensionLongAsPart then
sFamily = 'Tunnel'
bIsThrough = true
elseif Proc.nFct == 4 and bAllAnglesConcave and #vFacesByAdjNumber[3] == 1 then
sFamily = 'PseudoPocket'
bIsThrough = false
elseif Proc.nFct >= 4 and #vFacesByAdjNumber[1] == 2 and bIsAnyDimensionLongAsPart then
sFamily = 'Strip'
bIsThrough = true
@@ -764,6 +767,9 @@ function FeatureLib.CalculateStrategiesCompositeRating( AvailableStrategies, sMa
AvailableStrategies[n].Result.dCompositeRating = dQuality + dCompletion + dTime -- TODO da verificare se meglio sommare o moltiplicare gli indici
else
if not AvailableStrategies[n].Result then
AvailableStrategies[n].Result = {}
end
AvailableStrategies[n].Result.dCompositeRating = 0
end
end
@@ -857,7 +863,7 @@ function FeatureLib.GetFeatureSplittingPoints( Proc, Part, OptionalParameters)
if Part.dRestLength + Part.b3Part:getDimX() < BeamData.dMinRaw * 1.5 then
dSplitXLeft = Part.b3Part:getMax():getX() - ( ( Part.dRestLength + Part.b3Part:getDimX()) / 2)
else
dSplitXLeft = max( Proc.b3Box:getMin():getX() + ( BeamData.dMinRaw)/2 + 150, Part.b3Part:getMax():getX() - dMaxSegmentLengthOnEdges)
dSplitXLeft = max( Proc.b3Box:getMin():getX() + ( BeamData.dMinRaw) / 2 + 150, Part.b3Part:getMax():getX() - dMaxSegmentLengthOnEdges)
end
end
dFeatureCentralLength = abs( dSplitXRight - dSplitXLeft)
+4 -4
View File
@@ -169,20 +169,20 @@ function MachiningLib.GetSplitMachinings( Machinings, SplittingPoints, Part)
dStartAddLength, dEndAddLength = dEndAddLength, dStartAddLength
end
if j == 1 then
dEndAddLength = - ( SplittingPoints[j]:getX() - dEdgeMinX) + BeamData.MILL_OVERLAP
dEndAddLength = - ( SplittingPoints[j]:getX() - dEdgeMinX) + BeamData.MILL_OVERLAP / 2
if LeadOutForSplit then
Machinings[nCurrentMachiningIndex].LeadOut = BeamLib.TableCopyDeep( LeadOutForSplit)
end
Machinings[nCurrentMachiningIndex].ptCenter = Point3d( SplittingPoints[j]:getX() + ( dEdgeMaxX - SplittingPoints[j]:getX()) / 2, 0, 0)
elseif j == nParts then
dStartAddLength = - ( dEdgeMaxX - SplittingPoints[j - 1]:getX()) + BeamData.MILL_OVERLAP
dStartAddLength = - ( dEdgeMaxX - SplittingPoints[j - 1]:getX()) + BeamData.MILL_OVERLAP / 2
if LeadInForSplit then
Machinings[nCurrentMachiningIndex].LeadIn = BeamLib.TableCopyDeep( LeadInForSplit)
end
Machinings[nCurrentMachiningIndex].ptCenter = Point3d( dEdgeMinX + ( SplittingPoints[j - 1]:getX() - dEdgeMinX) / 2, 0, 0)
else
dStartAddLength = - ( dEdgeMaxX - SplittingPoints[j - 1]:getX()) + BeamData.MILL_OVERLAP
dEndAddLength = - ( SplittingPoints[j]:getX() - dEdgeMinX) + BeamData.MILL_OVERLAP
dStartAddLength = - ( dEdgeMaxX - SplittingPoints[j - 1]:getX()) + BeamData.MILL_OVERLAP / 2
dEndAddLength = - ( SplittingPoints[j]:getX() - dEdgeMinX) + BeamData.MILL_OVERLAP / 2
if LeadInForSplit then
Machinings[nCurrentMachiningIndex].LeadIn = BeamLib.TableCopyDeep( LeadInForSplit)
end
+25 -3
View File
@@ -286,7 +286,7 @@ local function MoveMachineAxesToPosition( ptOnToolTipCenter, vtHead, vtAux)
local AxesNames = EgtGetAllCurrAxesNames()
local dTHome = EgtGetAxisHomePos( AxesNames[1])
-- spostamento assi in posizione (la T non si sposta perchè si sposta il pezzo)
-- spostamento assi in posizione (la T non si sposta perchè si sposta direttamente la testa)
EgtSetAxisPos( AxesNames[2], dLinear2)
EgtSetAxisPos( AxesNames[3], dLinear3)
EgtSetAxisPos( AxesNames[4], dRotative1)
@@ -299,7 +299,7 @@ local function MoveMachineAxesToPosition( ptOnToolTipCenter, vtHead, vtAux)
end
-------------------------------------------------------------------------------------------------------------
local function CheckCollisionPoint( sAxis, ptOnToolTipCenter, vtHead, vtAux, Part, bCannotSplitRestLength, sRestLengthSideForPreSimulation, idCheckCollisionTm)
local function CheckCollisionPoint( sAxis, ptOnToolTipCenter, vtHead, vtAux, Part, bCannotSplitRestLength, sRestLengthSideForPreSimulation, idCheckCollisionTm, idAddedCollisionSurfTm)
-- spostamento assi macchina in posizione
local dDeltaXHeadOffset = MoveMachineAxesToPosition( ptOnToolTipCenter, vtHead, vtAux)
@@ -328,6 +328,10 @@ local function CheckCollisionPoint( sAxis, ptOnToolTipCenter, vtHead, vtAux, Par
end
end
end
-- se presente si aggiunge la geometria opzionale (es: flangia lama)
if idAddedCollisionSurfTm then
table.insert( CollisionSurfTmId, idAddedCollisionSurfTm)
end
-- check collisione con pezzo
local bCollisionFoundPiece = false
@@ -420,7 +424,25 @@ local function CheckCollisionWithAxis( sAxis, MachiningParameters, OptionalParam
-- se non si trova collisione si ritorna se è necessario separare prima di effettuare la lavorazione (ossia non c'è collisione con il pezzo ma c'è con il grezzo restante)
for i = 1, #PointsOnToolTipCenter do
local bCollisionFoundPiece, bCollisionFoundRestLength = CheckCollisionPoint( sAxis, PointsOnToolTipCenter[i], vtHead, vtAux, Part, bCannotSplitRestLength, sRestLengthSideForPreSimulation, idCheckCollisionTm)
-- se lama con flangia si aggiunge quest'ultima ai solidi di collisione, ipotizzandola grande fino al dMaxDepth + sicurezza
local idAddedCollisionSurfTm
if Tool.sType == 'SAW_FLAT' then
local ptCenterFlange = PointsOnToolTipCenter[i] + vtHead * Tool.dThickness
local frHead = Frame3d( ptCenterFlange, vtHead)
local dExtraSafety = 2 -- valore empirico che serve nei casi molto inclinati, ci potrebbero essere casi in cui va aumentato
local idFlangeCurve = EgtCircle( Part.idTempGroup, ORIG(), dExtraSafety + Tool.dDiameter / 2 - Tool.dMaxDepth, GDB_RT.GLOB)
EgtTransform( idFlangeCurve, frHead, GDB_RT.GLOB)
-- TODO verificare se questo controllo serve
if AreOppositeVectorApprox( vtHead, EgtCurveExtrusion( idFlangeCurve)) then
EgtInvertCurve( idFlangeCurve)
end
local vtExtrusion = 15 * vtHead
idAddedCollisionSurfTm = EgtSurfTmByRegionExtrusion( Part.idTempGroup, idFlangeCurve, vtExtrusion, 0.05, GDB_RT.GLOB)
end
local bCollisionFoundPiece, bCollisionFoundRestLength = CheckCollisionPoint( sAxis, PointsOnToolTipCenter[i], vtHead, vtAux, Part, bCannotSplitRestLength, sRestLengthSideForPreSimulation, idCheckCollisionTm, idAddedCollisionSurfTm)
-- se trovata collisione con pezzo è inutile controllare gli altri punti
if bCollisionFoundPiece then
+322
View File
@@ -0,0 +1,322 @@
// Message File EgalTech English 2026/06/23
0=ENG
// ----- BeamNew -----
1000001=Part loading position
1000002=Part loading position
1000003=Loading position from BTL, no pre-rotation
1000004=Loading position from BTL, no pre-rotation
1000005=Get Best loading position from 0° and 180°
1000006=Get Best loading position from 0° and 180°
1000007=Get Best loading position in each piece rotation
1000008=Get Best loading position in each piece rotation
1000009=Allow piece inversion
1000010=Allow piece inversion
1000011=Enable material optimization function in nesting (part rotation disabled)
1000012=Enable material optimization function in nesting (part rotation disabled)
1000013=Part rotating acceptability
1000014=Acceptability of rotating the part between machining steps
1000015=Rotation not allowed
1000016=Rotation not allowed
1000017=Rotation allowed only if strictly necessary
1000018=Rotation allowed only if strictly necessary
1000019=Rotation easily acceptable / no constraint
1000020=Rotation easily acceptable / no constraint
1000021=Machining Strategy
1000022=Machining Strategy
1000023=Quality and time equally prioritized
1000024=Quality and time equally prioritized
1000025=Fastest
1000026=Prefer fastest strategies
1000027=High quality
1000028=Prefer high-quality strategies
1000029=Ordering rules
1000030=The first complete strategy in list is the one chosen; no intelligent choosing
1000031=Max number of reprocessing cycles
1000032=Max number of reprocessing cycles
1000033=Use entire blade diameter to shorten path
1000034=Use entire blade diameter to shorten path
1000035=Maximum length for dropped waste
1000036=Maximum length for dropped waste
1000037=Maximum volume for dropped waste
1000038=Maximum volume for dropped waste
1000039=Maximum dice dimension
1000040=Maximum dice dimension
1000041=Overmaterial on tenon length
1000042=Overmaterial on tenon length
1000043=Overmaterial on tenon width
1000044=Overmaterial on tenon width
1000045=Maximum number of milling passes
1000046=Maximum number of milling passes. If more passes are required, pocketing is performed
1000047=Use DoveTail tool to pocket
1000048=Use DoveTail tool to pocket
1000049=Cutting Strategy
1000050=Cutting Strategy
1000051=Automatic
1000052=Automatic
1000053=Blade only
1000054=Blade only
1000055=Mill only
1000056=Mill only
1000057=ChainSaw only
1000058=ChainSaw only
1000059=Available mill to machine the tenon cut surface
1000060=Available mill to machine the tenon cut surface
1000061=Available mill to machine the dovetail tenon
1000062=Available mill to machine the dovetail tenon
1000063=Max radius left on corners
1000064=Radius-limit left by the tool at each corner of the feature
1000065=Use Anti-Splint strategy
1000066=The strategy will apply blade cuts on corner to avoid wood splint
1000067=Extend after tail
1000068=The automatism considers this length as machinable. This means you accept to damage the next piece in the bar
1000069=Minimum approach distance on open sides
1000070=Minimum approach distance on open sides
1000071=Available mill to pocket the feature
1000072=Available mill to pocket the feature
1000073=Finish with chainsaw if needed
1000074=Finish with chainsaw if needed
1000075=Extend after tail
1000076=The automatism considers this length as machinable. This means you accept to damage the next piece in the bar
1000077=Force ripping blade
1000078=Force the use of ripping blade, designed for cuts parallel to the grain
1000079=Not complete with Blade radius imprint left
1000080=If the parameter is active, the automatism considers the feature as - not complete - if the blade radius imprint is left
1000081=Use Zig-Zag ChainSaw
1000082=Enable the parameter to set the Zig-Zag movement on the ChainSaw machining. Deactivate it to use One-Way movement.
1000083=Sort by segment
1000084=Sort the machinings according to the piece-segment where the machining has inserted
1000085=Damage next piece
1000086=This option allows you to decide how to consider the next piece in the bar. The software calculates specifics LeadIn/out to respect the parameter. This parameter may change the machining time
1000087=Never damage
1000088=Never damage
1000089=Damage only if raw
1000090=Damage only if raw
1000091=Can damage
1000092=Can damage
1000093=Use Zig-Zag ChainSaw
1000094=Enable the parameter to set the Zig-Zag movement on the ChainSaw machining. Deactivate it to use One-Way movement.
1000095=Extend after tail
1000096=The automatism considers this length as machinable. This means you accept to damage the next piece in the bar
1000097=Damage next piece
1000098=This option allows you to decide how to consider the next piece in the bar. The software calculates specifics LeadIn/out to respect the parameter. This parameter may change the machining time
1000099=Never damage
1000100=Never damage
1000101=Damage only if raw
1000102=Damage only if raw
1000103=Can damage
1000104=Can damage
1000105=Force ripping blade
1000106=Force the use of ripping blade, designed for cuts parallel to the grain
1000107=Extend after tail
1000108=The automatism considers this length as machinable. This means you accept to damage the next piece in the bar
1000109=Damage next piece
1000110=This option allows you to decide how to consider the next piece in the bar. The software calculates specifics LeadIn/out to respect the parameter. This parameter may change the machining time
1000111=Never damage
1000112=Never damage
1000113=Damage only if raw
1000114=Damage only if raw
1000115=Can damage
1000116=Can damage
1000117=Cutting strategy
1000118=Cutting strategy
1000119=Automatic
1000120=Automatic
1000121=Drop waste
1000122=Drop waste
1000123=Keep waste attached
1000124=Keep waste attached
1000125=Disable dicing
1000126=Disable dicing
1000127=Prioritize machining speed over quality
1000128=Prioritize machining speed over quality
1000129=Strip width
1000130=In case the waste is still kept attached, this is the wigth dimension of the strip
1000131=Clean blade radius with mill
1000132=Clean blade radius with mill
1000133=Milling offset from side
1000134=Milling offset from side
1000135=Overmaterial on tenon length
1000136=Overmaterial on tenon length
1000137=Overmaterial on tenon width
1000138=Overmaterial on tenon width
1000139=Maximum number of milling passes
1000140=Maximum number of milling passes. If more passes are required, pocketing is performed
1000141=Cutting Strategy
1000142=Cutting Strategy
1000143=Automatic
1000144=Automatic
1000145=Blade only
1000146=Blade only
1000147=Mill only
1000148=Mill only
1000149=ChainSaw only
1000150=ChainSaw only
1000151=Available mill to machine the tenon
1000152=Available mill to machine the tenon
1000153=Overmaterial on Mortise length
1000154=Overmaterial on Mortise length
1000155=Overmaterial on Mortise width
1000156=Overmaterial on Mortise width
1000157=Maximum number of milling passes
1000158=Maximum number of milling passes. If more passes are required, pocketing is performed
1000159=Use DoveTail tool in case of pocketing
1000160=Use DoveTail tool in case of pocketing
1000161=Add Anti-Splint
1000162=Add Anti-Splint
1000163=Cutting Strategy
1000164=Cutting Strategy
1000165=Automatic
1000166=Automatic
1000167=Blade only
1000168=Blade only
1000169=Mill only
1000170=Mill only
1000171=ChainSaw only
1000172=ChainSaw only
1000173=Available mill to machine the mortise cut surface
1000174=Available mill to machine the mortise cut surface
1000175=Available mill to machine the dovetail mortise
1000176=Available mill to machine the dovetail mortise
1000177=Overmaterial on mortise length
1000178=Overmaterial on mortise length
1000179=Overmaterial on mortise width
1000180=Overmaterial on mortise width
1000181=Cutting Strategy
1000182=Cutting Strategy
1000183=Automatic
1000184=Automatic
1000185=Blade only
1000186=Blade only
1000187=Mill only
1000188=Mill only
1000189=ChainSaw only
1000190=ChainSaw only
1000191=Available mill to machine the mortise cut surface
1000192=Available mill to machine the mortise cut surface
1000193=Available mill to machine the mortise
1000194=Available mill to machine the mortise
1000195=Depth Chamfer
1000196=Depth of the V-Mill to execute chamfers on cut-edges
1000197=Use Anti-Splint strategy
1000198=The strategy will apply blade cuts on corner to avoid wood splint
1000199=Available mill to machine the profile
1000200=Available mill to machine the profile
1000201=Antisplint with blade
1000202=Use the blade as antisplint in case the geometry is not through
1000203=Extend after tail
1000204=The automatism considers this length as machinable. This means you accept to damage the next piece in the bar
1000205=Clean radius with mill
1000206=Clean radius with mill
1000207=Milling offset from side
1000208=Milling offset from side
1000209=Damage next piece
1000210=This option allows you to decide how to consider the next piece in the bar. The software calculates specifics LeadIn/out to respect the parameter. This parameter may change the machining time
1000211=Never damage
1000212=Never damage
1000213=Damage only if raw
1000214=Damage only if raw
1000215=Can damage
1000216=Can damage
1000217=Tolerance on Diameter
1000218=Tolerance on Diameter
1000219=Depth PreHole
1000220=Depth PreHole
1000221=Drilling Mode
1000222=Drilling Mode
1000223=Automatic
1000224=Automatic
1000225=Preferred machining from one side only
1000226=Preferred machining from one side only
1000227=Force machining from two sides
1000228=Force machining from two sides
1000229=Available Drillbit list
1000230=Available Drillbit list
1000231=Extend after tail
1000232=The automatism considers this length as machinable. This means you accept to damage the next piece in the bar
1000233=Damage next piece
1000234=This option allows you to decide how to consider the next piece in the bar. The software calculates specifics LeadIn/out to respect the parameter. This parameter may change the machining time
1000235=Never damage
1000236=Never damage
1000237=Damage only if raw
1000238=Damage only if raw
1000239=Can damage
1000240=Can damage
1000241=Ridge Lap strategy
1000242=Ridge Lap strategy
1000243=Automatic
1000244=Automatic
1000245=Use blade
1000246=Use blade
1000247=Use mill
1000248=Use mill
1000249=Tolerance on Diameter
1000250=Tolerance on Diameter
1000251=Use mill as a drillbit
1000252=Admit to use the mill as a drillbit
1000253=Execute contour only
1000254=Execute the contour anyway, even the hole is bigger than the tool diameter
1000255=Drilling mode
1000256=Drilling mode
1000257=Automatic
1000258=Automatic
1000259=Preferred machining from one side only
1000260=Preferred machining from one side only
1000261=Force machining from two sides
1000262=Force machining from two sides
1000263=Available mill to machine drills
1000264=Available mill to machine drills
1000265=Machining Depth
1000266=Machining Depth
1000267=Available mill to machine mark and text
1000268=Available mill to machine mark and text
1000269=Marking Strategy
1000270=Marking Strategy
1000271=Automatic
1000272=Automatic
1000273=Pen only
1000274=Pen only
1000275=V-Mill only
1000276=V-Mill only
1000277=Depth Chamfer
1000278=Depth of the V-Mill to execute chamfers on cut-edges
1000279=Only Chamfer
1000280=Execute the chamfer only, no other machining
1000281=Overmaterial
1000282=Overmaterial
1000283=Max radius left on corners
1000284=Radius-limit left by the tool at each corner of the feature
1000285=Execute cut to remove material
1000286=Execute cut to remove material
1000287=Force strip
1000288=Enable the parameter to force the software to leave a strip to sustain the piece
1000289=Strip width
1000290=Width of the strip in case if foreseen from the machining
1000291=Cutting Strategy
1000292=Cutting Strategy
1000293=Automatic
1000294=Automatic
1000295=No machining
1000296=No machining
1000297=Blade forced
1000298=Blade forced
1000299=Mill forced
1000300=Mill forced
1000301=Available mill to machine the profile
1000302=Available mill to machine the profile
1000303=Depth Chamfer
1000304=Depth of the V-Mill to execute chamfers on cut-edges
1000305=Force to use chain saw
1000306=Force to use chain saw
1000307=Force to add PreCuts
1000308=Autocam will apply a machining on the theoretical zero, to avoid collision if the theoretical piece length doesn't correspond to the real length
1000309=Finish with mill
1000310=Use a mill to finish the surface if split with chain saw
1000311=Depth Chamfer
1000312=Depth of the V-Mill to execute chamfers on cut-edges
1000313=Force to use chain saw
1000314=Force to use chain saw
1000315=Force to add PreCuts
1000316=Autocam will apply a machining on the theoretical zero, to avoid collision if the theoretical piece length doesn't correspond to the real length
1000317=Finish with mill
1000318=Use a mill to finish the surface if split with chain saw
// ----- End -----
+322
View File
@@ -0,0 +1,322 @@
// File dei messaggi EgalTech Italiano 2026/06/23
0=ITA
// ----- BeamNew -----
1000001=Posizione di caricamento pezzo
1000002=Posizione di caricamento pezzo
1000003=Posizione di caricamento da BTL, senza pre-rotazione
1000004=Posizione di caricamento da BTL, senza pre-rotazione
1000005=Ottieni la migliore posizione di caricamento tra 0° e 180°
1000006=Ottieni la migliore posizione di caricamento tra 0° e 180°
1000007=Ottieni la migliore posizione di caricamento per ogni rotazione del pezzo
1000008=Ottieni la migliore posizione di caricamento per ogni rotazione del pezzo
1000009=Consenti inversione pezzo
1000010=Consenti inversione pezzo
1000011=Abilita funzione di ottimizzazione materiale nel nesting (rotazione pezzo disabilitata)
1000012=Abilita funzione di ottimizzazione materiale nel nesting (rotazione pezzo disabilitata)
1000013=Accettabilità rotazione pezzo
1000014=Accettabilità della rotazione del pezzo tra le fasi di lavorazione
1000015=Rotazione non consentita
1000016=Rotazione non consentita
1000017=Rotazione consentita solo se strettamente necessaria
1000018=Rotazione consentita solo se strettamente necessaria
1000019=Rotazione facilmente accettabile / nessun vincolo
1000020=Rotazione facilmente accettabile / nessun vincolo
1000021=Strategia di lavorazione
1000022=Strategia di lavorazione
1000023=Qualità e tempo considerati con la stessa priorità
1000024=Qualità e tempo considerati con la stessa priorità
1000025=Più veloce
1000026=Preferisci le strategie più veloci
1000027=Alta qualità
1000028=Preferisci le strategie ad alta qualità
1000029=Regole di ordinamento
1000030=La prima strategia completa in lista è quella scelta; nessuna scelta intelligente
1000031=Numero massimo di cicli di rilavorazione
1000032=Numero massimo di cicli di rilavorazione
1000033=Usa l'intero diametro della lama per accorciare il percorso
1000034=Usa l'intero diametro della lama per accorciare il percorso
1000035=Massima lunghezza per lo scarto caduto
1000036=Massima lunghezza per lo scarto caduto
1000037=Massimo volume per lo scarto caduto
1000038=Massimo volume per lo scarto caduto
1000039=Dimensione massima dei cubetti
1000040=Dimensione massima dei cubetti
1000041=Sovramateriale sulla lunghezza del tenone
1000042=Sovramateriale sulla lunghezza del tenone
1000043=Sovramateriale sulla larghezza del tenone
1000044=Sovramateriale sulla larghezza del tenone
1000045=Numero massimo di passate di fresatura
1000046=Numero massimo di passate di fresatura. Se sono necessarie più passate, viene eseguita la svuotatura
1000047=Utilizza l'utensile a coda di rondine per svuotare
1000048=Utilizza l'utensile a coda di rondine per svuotare
1000049=Strategia di taglio
1000050=Strategia di taglio
1000051=Automatico
1000052=Automatico
1000053=Solo lama
1000054=Solo lama
1000055=Solo fresa
1000056=Solo fresa
1000057=Solo sega a catena
1000058=Solo sega a catena
1000059=Fresa disponibile per lavorare la superficie di taglio del tenone
1000060=Fresa disponibile per lavorare la superficie di taglio del tenone
1000061=Fresa disponibile per lavorare il tenone a coda di rondine
1000062=Fresa disponibile per lavorare il tenone a coda di rondine
1000063=Raggio massimo rimasto sugli spigoli
1000064=Limite del raggio lasciato dall'utensile ad ogni spigolo della feature
1000065=Utilizza la strategia antischeggia
1000066=La strategia applicherà tagli di lama sullo spigolo per evitare scheggiature del legno
1000067=Estendi dopo la coda
1000068=L'automatismo considera questa lunghezza come lavorabile. Questo significa che si accetta di danneggiare il pezzo successivo nella barra
1000069=Distanza minima di approccio sui lati aperti
1000070=Distanza minima di approccio sui lati aperti
1000071=Fresa disponibile per svuotare la feature
1000072=Fresa disponibile per svuotare la feature
1000073=Finisci con sega a catena se necessario
1000074=Finisci con sega a catena se necessario
1000075=Estendi dopo la coda
1000076=L'automatismo considera questa lunghezza come lavorabile. Questo significa che si accetta di danneggiare il pezzo successivo nella barra
1000077=Forza lama da scasso
1000078=Forza l'uso della lama da scasso, progettata per tagli paralleli alla venatura
1000079=Non completare se rimane l'impronta del raggio della lama
1000080=Se il parametro è attivo, l'automatismo considera la feature come - non completa - se rimane l'impronta del raggio della lama
1000081=Utilizza sega a catena in Zig-Zag
1000082=Abilita il parametro per impostare il movimento Zig-Zag sulla lavorazione della sega a catena. Disattivarlo per utilizzare il movimento One-Way.
1000083=Ordina per segmento
1000084=Ordina le lavorazioni in base al segmento del pezzo in cui la lavorazione è inserita
1000085=Danneggia il pezzo successivo
1000086=Questa opzione consente di decidere come considerare il pezzo successivo nella barra. Il software calcola specifici ingressi/uscite per rispettare il parametro. Questo parametro può variare il tempo di lavorazione
1000087=Non danneggiare mai
1000088=Non danneggiare mai
1000089=Danneggia solo se grezzo
1000090=Danneggia solo se grezzo
1000091=Può danneggiare
1000092=Può danneggiare
1000093=Utilizza sega a catena in Zig-Zag
1000094=Abilita il parametro per impostare il movimento Zig-Zag sulla lavorazione della sega a catena. Disattivarlo per utilizzare il movimento One-Way.
1000095=Estendi dopo la coda
1000096=L'automatismo considera questa lunghezza come lavorabile. Questo significa che si accetta di danneggiare il pezzo successivo nella barra
1000097=Danneggia il pezzo successivo
1000098=Questa opzione consente di decidere come considerare il pezzo successivo nella barra. Il software calcola specifici ingressi/uscite per rispettare il parametro. Questo parametro può variare il tempo di lavorazione
1000099=Non danneggiare mai
1000100=Non danneggiare mai
1000101=Danneggia solo se grezzo
1000102=Danneggia solo se grezzo
1000103=Può danneggiare
1000104=Può danneggiare
1000105=Forza lama da scasso
1000106=Forza l'uso della lama da scasso, progettata per tagli paralleli alla venatura
1000107=Estendi dopo la coda
1000108=L'automatismo considera questa lunghezza come lavorabile. Questo significa che si accetta di danneggiare il pezzo successivo nella barra
1000109=Danneggia il pezzo successivo
1000110=Questa opzione consente di decidere come considerare il pezzo successivo nella barra. Il software calcola specifici ingressi/uscite per rispettare il parametro. Questo parametro può variare il tempo di lavorazione
1000111=Non danneggiare mai
1000112=Non danneggiare mai
1000113=Danneggia solo se grezzo
1000114=Danneggia solo se grezzo
1000115=Può danneggiare
1000116=Può danneggiare
1000117=Strategia di taglio
1000118=Strategia di taglio
1000119=Automatico
1000120=Automatico
1000121=Scarica lo scarto
1000122=Scarica lo scarto
1000123=Mantieni lo scarto attaccato
1000124=Mantieni lo scarto attaccato
1000125=Disabilita la tassellatura
1000126=Disabilita la tassellatura
1000127=Dai priorità alla velocità di lavorazione rispetto alla qualità
1000128=Dai priorità alla velocità di lavorazione rispetto alla qualità
1000129=Larghezza del testimone
1000130=Nel caso in cui lo scarto venga mantenuto attaccato, questa è la dimensione della larghezza del testimone
1000131=Pulisci il raggio della lama con la fresa
1000132=Pulisci il raggio della lama con la fresa
1000133=Offset di fresatura dal lato
1000134=Offset di fresatura dal lato
1000135=Sovramateriale sulla lunghezza del tenone
1000136=Sovramateriale sulla lunghezza del tenone
1000137=Sovramateriale sulla larghezza del tenone
1000138=Sovramateriale sulla larghezza del tenone
1000139=Numero massimo di passate di fresatura
1000140=Numero massimo di passate di fresatura. Se sono necessarie più passate, viene eseguita la svuotatura
1000141=Strategia di taglio
1000142=Strategia di taglio
1000143=Automatico
1000144=Automatico
1000145=Solo lama
1000146=Solo lama
1000147=Solo fresa
1000148=Solo fresa
1000149=Solo sega a catena
1000150=Solo sega a catena
1000151=Fresa disponibile per lavorare il tenone
1000152=Fresa disponibile per lavorare il tenone
1000153=Sovramateriale sulla lunghezza della mortasa
1000154=Sovramateriale sulla lunghezza della mortasa
1000155=Sovramateriale sulla larghezza della mortasa
1000156=Sovramateriale sulla larghezza della mortasa
1000157=Numero massimo di passate di fresatura
1000158=Numero massimo di passate di fresatura. Se sono necessarie più passate, viene eseguita la svuotatura
1000159=Utilizza l'utensile a coda di rondine in caso di svuotatura
1000160=Utilizza l'utensile a coda di rondine in caso di svuotatura
1000161=Aggiungi antischeggia
1000162=Aggiungi antischeggia
1000163=Strategia di taglio
1000164=Strategia di taglio
1000165=Automatico
1000166=Automatico
1000167=Solo lama
1000168=Solo lama
1000169=Solo fresa
1000170=Solo fresa
1000171=Solo sega a catena
1000172=Solo sega a catena
1000173=Fresa disponibile per lavorare la superficie di taglio della mortasa
1000174=Fresa disponibile per lavorare la superficie di taglio della mortasa
1000175=Fresa disponibile per lavorare la mortasa a coda di rondine
1000176=Fresa disponibile per lavorare la mortasa a coda di rondine
1000177=Sovramateriale sulla lunghezza della mortasa
1000178=Sovramateriale sulla lunghezza della mortasa
1000179=Sovramateriale sulla larghezza della mortasa
1000180=Sovramateriale sulla larghezza della mortasa
1000181=Strategia di taglio
1000182=Strategia di taglio
1000183=Automatico
1000184=Automatico
1000185=Solo lama
1000186=Solo lama
1000187=Solo fresa
1000188=Solo fresa
1000189=Solo sega a catena
1000190=Solo sega a catena
1000191=Fresa disponibile per lavorare la superficie di taglio della mortasa
1000192=Fresa disponibile per lavorare la superficie di taglio della mortasa
1000193=Fresa disponibile per lavorare la mortasa
1000194=Fresa disponibile per lavorare la mortasa
1000195=Profondità dello smusso
1000196=Profondità della fresa a V per eseguire smussi sugli spigoli di taglio
1000197=Utilizza la strategia antischeggia
1000198=La strategia applicherà tagli di lama sullo spigolo per evitare scheggiature del legno
1000199=Fresa disponibile per lavorare il profilo
1000200=Fresa disponibile per lavorare il profilo
1000201=Antischeggia con lama
1000202=Utilizza la lama come antischeggia nel caso in cui la geometria non sia passante
1000203=Estendi dopo la coda
1000204=L'automatismo considera questa lunghezza come lavorabile. Questo significa che si accetta di danneggiare il pezzo successivo nella barra
1000205=Pulisci il raggio con la fresa
1000206=Pulisci il raggio con la fresa
1000207=Offset di fresatura dal lato
1000208=Offset di fresatura dal lato
1000209=Danneggia il pezzo successivo
1000210=Questa opzione consente di decidere come considerare il pezzo successivo nella barra. Il software calcola specifici ingressi/uscite per rispettare il parametro. Questo parametro può variare il tempo di lavorazione
1000211=Non danneggiare mai
1000212=Non danneggiare mai
1000213=Danneggia solo se grezzo
1000214=Danneggia solo se grezzo
1000215=Può danneggiare
1000216=Può danneggiare
1000217=Tolleranza sul diametro
1000218=Tolleranza sul diametro
1000219=Profondità del preforo
1000220=Profondità del preforo
1000221=Modalità di foratura
1000222=Modalità di foratura
1000223=Automatico
1000224=Automatico
1000225=Lavorazione preferita da un solo lato
1000226=Lavorazione preferita da un solo lato
1000227=Forza la lavorazione da due lati
1000228=Forza la lavorazione da due lati
1000229=Lista delle punte disponibili
1000230=Lista delle punte disponibili
1000231=Estendi dopo la coda
1000232=L'automatismo considera questa lunghezza come lavorabile. Questo significa che si accetta di danneggiare il pezzo successivo nella barra
1000233=Danneggia il pezzo successivo
1000234=Questa opzione consente di decidere come considerare il pezzo successivo nella barra. Il software calcola specifici ingressi/uscite per rispettare il parametro. Questo parametro può variare il tempo di lavorazione
1000235=Non danneggiare mai
1000236=Non danneggiare mai
1000237=Danneggia solo se grezzo
1000238=Danneggia solo se grezzo
1000239=Può danneggiare
1000240=Può danneggiare
1000241=Strategia del mezzolegno di colmo
1000242=Strategia del mezzolegno di colmo
1000243=Automatico
1000244=Automatico
1000245=Utilizza la lama
1000246=Utilizza la lama
1000247=Utilizza la fresa
1000248=Utilizza la fresa
1000249=Tolleranza sul diametro
1000250=Tolleranza sul diametro
1000251=Utilizza la fresa come una punta
1000252=Ammetti l'uso della fresa come una punta da foratura
1000253=Esegui solo il contorno
1000254=Esegui comunque il contorno, anche se il foro è più grande del diametro dell'utensile
1000255=Modalità di foratura
1000256=Modalità di foratura
1000257=Automatico
1000258=Automatico
1000259=Lavorazione preferita da un solo lato
1000260=Lavorazione preferita da un solo lato
1000261=Forza la lavorazione da due lati
1000262=Forza la lavorazione da due lati
1000263=Fresa disponibile per lavorare i fori
1000264=Fresa disponibile per lavorare i fori
1000265=Profondità di lavorazione
1000266=Profondità di lavorazione
1000267=Fresa disponibile per lavorare marcature e testi
1000268=Fresa disponibile per lavorare marcature e testi
1000269=Strategia di marcatura
1000270=Strategia di marcatura
1000271=Automatico
1000272=Automatico
1000273=Solo penna
1000274=Solo penna
1000275=Solo fresa a V
1000276=Solo fresa a V
1000277=Profondità dello smusso
1000278=Profondità della fresa a V per eseguire smussi sugli spigoli di taglio
1000279=Solo smusso
1000280=Esegui solo lo smusso, nessuna altra lavorazione
1000281=Sovramateriale
1000282=Sovramateriale
1000283=Raggio massimo rimasto sugli spigoli
1000284=Limite del raggio lasciato dall'utensile ad ogni spigolo della feature
1000285=Esegui il taglio per rimuovere materiale
1000286=Esegui il taglio per rimuovere materiale
1000287=Forza il testimone
1000288=Abilita il parametro per forzare il software a lasciare un testimone per sostenere il pezzo
1000289=Larghezza del testimone
1000290=Larghezza del testimone nel caso in cui sia previsto dalla lavorazione
1000291=Strategia di taglio
1000292=Strategia di taglio
1000293=Automatico
1000294=Automatico
1000295=Nessuna lavorazione
1000296=Nessuna lavorazione
1000297=Forza lama
1000298=Forza lama
1000299=Forza fresa
1000300=Forza fresa
1000301=Fresa disponibile per lavorare il profilo
1000302=Fresa disponibile per lavorare il profilo
1000303=Profondità dello smusso
1000304=Profondità della fresa a V per eseguire smussi sugli spigoli di taglio
1000305=Forza l'uso della sega a catena
1000306=Forza l'uso della sega a catena
1000307=Forza l'aggiunta di pretagli
1000308=Autocam applicherà una lavorazione sullo zero teorico per evitare collisioni se la lunghezza teorica del pezzo non corrisponde alla lunghezza reale
1000309=Finisci con la fresa
1000310=Utilizza una fresa per rifinire la superficie se tagliata con la sega a catena
1000311=Profondità dello smusso
1000312=Profondità della fresa a V per eseguire smussi sugli spigoli di taglio
1000313=Forza l'uso della sega a catena
1000314=Forza l'uso della sega a catena
1000315=Forza l'aggiunta di pretagli
1000316=Autocam applicherà una lavorazione sullo zero teorico per evitare collisioni se la lunghezza teorica del pezzo non corrisponde alla lunghezza reale
1000317=Finisci con la fresa
1000318=Utilizza una fresa per rifinire la superficie se tagliata con la sega a catena
// ----- End -----
+322
View File
@@ -0,0 +1,322 @@
// Message File EgalTech Dutch 2026/06/23
0=NLD
// ----- BeamNew -----
1000001=Ladevolgorde van het onderdeel
1000002=Ladevolgorde van het onderdeel
1000003=Laadpositie vanaf BTL, geen voorrotatie
1000004=Laadpositie vanaf BTL, geen voorrotatie
1000005=Bepaal de beste laadpositie uit 0° en 180°
1000006=Bepaal de beste laadpositie uit 0° en 180°
1000007=Bepaal de beste laadpositie bij elke rotatie van het onderdeel
1000008=Bepaal de beste laadpositie bij elke rotatie van het onderdeel
1000009=Omkeren van het onderdeel toestaan
1000010=Omkeren van het onderdeel toestaan
1000011=Materiaaloptimalisatie in nesting inschakelen (rotatie van onderdeel uitgeschakeld)
1000012=Materiaaloptimalisatie in nesting inschakelen (rotatie van onderdeel uitgeschakeld)
1000013=Acceptatie van rotatie van het onderdeel
1000014=Acceptatie van het roteren van het onderdeel tussen bewerkingsstappen
1000015=Rotatie niet toegestaan
1000016=Rotatie niet toegestaan
1000017=Rotatie alleen toegestaan indien strikt noodzakelijk
1000018=Rotatie alleen toegestaan indien strikt noodzakelijk
1000019=Rotatie eenvoudig acceptabel / geen beperking
1000020=Rotatie eenvoudig acceptabel / geen beperking
1000021=Bewerkingsstrategie
1000022=Bewerkingsstrategie
1000023=Kwaliteit en tijd hebben gelijke prioriteit
1000024=Kwaliteit en tijd hebben gelijke prioriteit
1000025=Snelste
1000026=Voorkeur geven aan de snelste strategieën
1000027=Hoge kwaliteit
1000028=Voorkeur geven aan hoogwaardige strategieën
1000029=Ordeningsregels
1000030=De eerste complete strategie in de lijst wordt gekozen; geen intelligente selectie
1000031=Max. aantal herbewerkingscycli
1000032=Max. aantal herbewerkingscycli
1000033=Gebruik de volledige bladdiameter om het pad te verkorten
1000034=Gebruik de volledige bladdiameter om het pad te verkorten
1000035=Maximale lengte voor vallend afval
1000036=Maximale lengte voor vallend afval
1000037=Maximaal volume voor vallend afval
1000038=Maximaal volume voor vallend afval
1000039=Maximale afmeting van de blokjes
1000040=Maximale afmeting van de blokjes
1000041=Overmaat op de penlengte
1000042=Overmaat op de penlengte
1000043=Overmaat op de penbreedte
1000044=Overmaat op de penbreedte
1000045=Maximaal aantal freesgangen
1000046=Maximaal aantal freesgangen. Als er meer gangen vereist zijn, wordt er uitkameren/uitfrezen uitgevoerd
1000047=Zwaluwstaartgereedschap gebruiken voor uitfrezen
1000048=Zwaluwstaartgereedschap gebruiken voor uitfrezen
1000049=Snijstrategie
1000050=Snijstrategie
1000051=Automatisch
1000052=Automatisch
1000053=Alleen zaagblad
1000054=Alleen zaagblad
1000055=Alleen frees
1000056=Alleen frees
1000057=Alleen kettingzaag
1000058=Alleen kettingzaag
1000059=Beschikbare frees om het snijvlak van de pen te bewerken
1000060=Beschikbare frees om het snijvlak van the pen te bewerken
1000061=Beschikbare frees om de zwaluwstaartpen te bewerken
1000062=Beschikbare frees om de zwaluwstaartpen te bewerken
1000063=Maximale hoekradius achtergelaten op hoeken
1000064=Radiuslimiet achtergelaten door het gereedschap bij elke binnenhoek van de feature
1000065=Anti-splinterstrategie gebruiken
1000066=De strategie past zaagsneden toe op de hoek om houtsplinters te voorkomen
1000067=Verlengen na de staart
1000068=Het automatisme beschouwt deze lengte als bewerkbaar. Dit betekent dat u accepteert dat het volgende onderdeel in de balk beschadigd kan raken
1000069=Minimale benaderingsafstand op open zijden
1000070=Minimale benaderingsafstand op open zijden
1000071=Beschikbare frees voor het uitdiepen/uitfrezen van de feature
1000072=Beschikbare frees voor het uitdiepen/uitfrezen van de feature
1000073=Afwerken met kettingzaag indien nodig
1000074=Afwerken met kettingzaag indien nodig
1000075=Verlengen na de staart
1000076=Het automatisme beschouwt deze lengte als bewerkbaar. Dit betekent dat u accepteert dat het volgende onderdeel in de balk beschadigd kan raken
1000077=Schulpzaagblad forceren
1000078=Forceer het gebruik van een schulpzaagblad, ontworpen voor zaagsneden parallel aan de houtnerf
1000079=Niet voltooien als de uitloopradius van het zaagblad achterblijft
1000080=Als de parameter actief is, beschouwt het automatisme de feature als - niet voltooid - als de uitloopradius van het zaagblad achterblijft
1000081=Kettingzaag in zig-zag-modus gebruiken
1000082=Schakel deze parameter in om de zig-zag-beweging voor de kettingzaagbewerking in te stellen. Deactiveer deze om de one-way-beweging te gebruiken.
1000083=Sorteren per segment
1000084=Sorteer de bewerkingen op basis van het onderdeelsegment waarin de bewerking is ingevoegd
1000085=Volgend onderdeel beschadigen
1000086=Met deze optie kunt u beslissen hoe u het volgende onderdeel in de balk beschouwt. De software berekent specifieke in- en uitlopen om de parameter te respecteren. Deze parameter kan de bewerkingstijd beïnvloeden
1000087=Nooit beschadigen
1000088=Nooit beschadigen
1000089=Alleen beschadigen als het onbewerkt hout betreft
1000090=Alleen beschadigen als het onbewerkt hout betreft
1000091=Mag beschadigen
1000092=Mag beschadigen
1000093=Kettingzaag in zig-zag-modus gebruiken
1000094=Schakel deze parameter in om de zig-zag-beweging voor de kettingzaagbewerking in te stellen. Deactiveer deze om de one-way-beweging te gebruiken.
1000095=Verlengen na de staart
1000096=Het automatisme beschouwt deze lengte als bewerkbaar. Dit betekent dat u accepteert dat het volgende onderdeel in de balk beschadigd kan raken
1000097=Volgend onderdeel beschadigen
1000098=Met deze optie kunt u beslissen hoe u het volgende onderdeel in de balk beschouwt. De software berekent specifieke in- en uitlopen om de parameter te respecteren. Deze parameter kan de bewerkingstijd beïnvloeden
1000099=Nooit beschadigen
1000100=Nooit beschadigen
1000101=Alleen beschadigen als het onbewerkt hout betreft
1000102=Alleen beschadigen als het onbewerkt hout betreft
1000103=Mag beschadigen
1000104=Mag beschadigen
1000105=Schulpzaagblad forceren
1000106=Forceer het gebruik van een schulpzaagblad, ontworpen voor zaagsneden parallel aan de houtnerf
1000107=Verlengen na de staart
1000108=Het automatisme beschouwt deze lengte als bewerkbaar. Dit betekent dat u accepteert dat het volgende onderdeel in de balk beschadigd kan raken
1000109=Volgend onderdeel beschadigen
1000110=Met deze optie kunt u beslissen hoe u het volgende onderdeel in de balk beschouwt. De software berekent specifieke in- en uitlopen om de parameter te respecteren. Deze parameter kan de bewerkingstijd beïnvloeden
1000111=Nooit beschadigen
1000112=Nooit beschadigen
1000113=Alleen beschadigen als het onbewerkt hout betreft
1000114=Alleen beschadigen als het onbewerkt hout betreft
1000115=Mag beschadigen
1000116=Mag beschadigen
1000117=Zaagstrategie
1000118=Zaagstrategie
1000119=Automatisch
1000120=Automatisch
1000121=Kortafval afvoeren
1000122=Kortafval afvoeren
1000123=Kortafval verbonden houden
1000124=Kortafval verbonden houden
1000125=Opdelen in blokjes uitschakelen
1000126=Opdelen in blokjes uitschakelen
1000127=Prioriteit geven aan bewerkingssnelheid boven kwaliteit
1000128=Prioriteit geven aan bewerkingssnelheid boven kwaliteit
1000129=Breedte van de verbindingsstrip
1000130=In het geval dat het afval vastgehecht blijft, is dit de breedteafmeting van de verbindingsstrip
1000131=Uitloopradius van zaagblad reinigen met frees
1000132=Uitloopradius van zaagblad reinigen met frees
1000133=Freesoffset vanaf de zijde
1000134=Freesoffset vanaf de zijde
1000135=Overmaat op de penlengte
1000136=Overmaat op de penlengte
1000137=Overmaat op de penbreedte
1000138=Overmaat op de penbreedte
1000139=Maximum aantal freesgangen
1000140=Maximum aantal freesgangen. Als er meer gangen vereist zijn, wordt er uitfrezen/uitkameren uitgevoerd
1000141=Snijstrategie
1000142=Snijstrategie
1000143=Automatisch
1000144=Automatisch
1000145=Alleen zaagblad
1000146=Alleen zaagblad
1000147=Alleen frees
1000148=Alleen frees
1000149=Alleen kettingzaag
1000150=Alleen kettingzaag
1000151=Beschikbare frees om de pen te bewerken
1000152=Beschikbare frees om de pen te bewerken
1000153=Overmaat op de gatlengte
1000154=Overmaat op de gatlengte
1000155=Overmaat op de gatbreedte
1000156=Overmaat op de gatbreedte
1000157=Maximum aantal freesgangen
1000158=Maximum aantal freesgangen. Als er meer gangen vereist zijn, wordt er uitfrezen/uitkameren uitgevoerd
1000159=Zwaluwstaartgereedschap gebruiken bij uitfrezen
1000160=Zwaluwstaartgereedschap gebruiken bij uitfrezen
1000161=Anti-splintertoevoeging toepassen
1000162=Anti-splintertoevoeging toepassen
1000163=Snijstrategie
1000164=Snijstrategie
1000165=Automatisch
1000166=Automatisch
1000167=Alleen zaagblad
1000168=Alleen zaagblad
1000169=Alleen frees
1000170=Alleen frees
1000171=Alleen kettingzaag
1000172=Alleen kettingzaag
1000173=Beschikbare frees om het snijvlak van het gat te bewerken
1000174=Beschikbare frees om het snijvlak van het gat te bewerken
1000175=Beschikbare frees om het zwaluwstaartgat te frezen
1000176=Beschikbare frees om het zwaluwstaartgat te frezen
1000177=Overmaat op de gatlengte
1000178=Overmaat op de gatlengte
1000179=Overmaat op de gatbreedte
1000180=Overmaat op de gatbreedte
1000181=Snijstrategie
1000182=Snijstrategie
1000183=Automatisch
1000184=Automatisch
1000185=Alleen zaagblad
1000186=Alleen zaagblad
1000187=Alleen frees
1000188=Alleen frees
1000189=Alleen kettingzaag
1000190=Alleen kettingzaag
1000191=Beschikbare frees om het snijvlak van het gat te bewerken
1000192=Beschikbare frees om het snijvlak van het gat te bewerken
1000193=Beschikbare frees om het gat te frezen
1000194=Beschikbare frees om het gat te frezen
1000195=Diepte van de afschuining
1000196=Diepte van de V-frees om afschuiningen op snijkanten uit te voeren
1000197=Anti-splinterstrategie gebruiken
1000198=De strategie past zaagsneden toe op de hoek om houtsplinters te voorkomen
1000199=Beschikbare frees om het profiel te bewerken
1000200=Beschikbare frees om het profiel te bewerken
1000201=Anti-splinterfunctie via zaagblad
1000202=Gebruik het zaagblad als anti-splintervoorziening indien de geometrie niet doorgaand is
1000203=Verlengen na de staart
1000204=Het automatisme beschouwt deze lengte als bewerkbaar. Dit betekent dat u accepteert dat het volgende onderdeel in de balk beschadigd kan raken
1000205=Uitloopradius reinigen met frees
1000206=Uitloopradius reinigen met frees
1000207=Freesoffset vanaf de zijde
1000208=Freesoffset vanaf de zijde
1000209=Volgend onderdeel beschadigen
1000210=Met deze optie kunt u beslissen hoe u het volgende onderdeel in de balk beschouwt. De software berekent specifieke in- en uitlopen om de parameter te respecteren. Deze parameter kan de bewerkingstijd beïnvloeden
1000211=Nooit beschadigen
1000212=Nooit beschadigen
1000213=Alleen beschadigen als het onbewerkt hout betreft
1000214=Alleen beschadigen als het onbewerkt hout betreft
1000215=Mag beschadigen
1000216=Mag beschadigen
1000217=Tolerantie op diameter
1000218=Tolerantie op diameter
1000219=Diepte van het voorgat
1000220=Diepte van het voorgat
1000221=Boormodus
1000222=Boormodus
1000223=Automatisch
1000224=Automatisch
1000225=Voorkeursbewerking vanaf slechts één zijde
1000226=Voorkeursbewerking vanaf slechts één zijde
1000227=Bewerking vanaf beide zijden forceren
1000228=Bewerking vanaf beide zijden forceren
1000229=Lijst met beschikbare boren
1000230=Lijst met beschikbare boren
1000231=Verlengen na de staart
1000232=Het automatisme beschouwt deze lengte als bewerkbaar. Dit betekent dat u accepteert dat het volgende onderdeel in de balk beschadigd kan raken
1000233=Volgend onderdeel beschadigen
1000234=Met deze optie kunt u beslissen hoe u het volgende onderdeel in de balk beschouwt. De software berekent specifieke in- en uitlopen om de parameter te respecteren. Deze parameter kan de bewerkingstijd beïnvloeden
1000235=Nooit beschadigen
1000236=Nooit beschadigen
1000237=Alleen beschadigen als het onbewerkt hout betreft
1000238=Alleen beschadigen als het onbewerkt hout betreft
1000239=Mag beschadigen
1000240=Mag beschadigen
1000241=Borstverjonging zaag- en freesstrategie
1000242=Borstverjonging zaag- en freesstrategie
1000243=Automatisch
1000244=Automatisch
1000245=Zaagblad gebruiken
1000246=Zaagblad gebruiken
1000247=Frees gebruiken
1000248=Frees gebruiken
1000249=Tolerantie op diameter
1000250=Tolerantie op diameter
1000251=Frees gebruiken als boor
1000252=Toestaan dat de frees axiaal als boor wordt ingezet
1000253=Alleen contour frezen
1000254=Contour sowieso frezen, zelfs wanneer het gat groter is dan de gereedschapsdiameter
1000255=Boormodus via frezen
1000256=Boormodus via frezen
1000257=Automatisch
1000258=Automatisch
1000259=Voorkeursbewerking vanaf slechts één zijde
1000260=Voorkeursbewerking vanaf slechts één zijde
1000261=Bewerking vanaf beide zijden forceren
1000262=Bewerking vanaf beide zijden forceren
1000263=Beschikbare frezen om gaten te bewerken
1000264=Beschikbare frezen om gaten te bewerken
1000265=Bewerkingsdiepte
1000266=Bewerkingsdiepte
1000267=Beschikbare frees voor markeringen en tekst
1000268=Beschikbare frees voor markeringen en tekst
1000269=Markeerstrategie
1000270=Markeerstrategie
1000271=Automatisch
1000272=Automatisch
1000273=Alleen markeerpen
1000274=Alleen markeerpen
1000275=Alleen V-frees
1000276=Alleen V-frees
1000277=Diepte van de afschuining
1000278=Diepte van de V-frees om afschuiningen op snijkanten uit te voeren
1000279=Alleen afschuining frezen
1000280=Alleen de afschuining uitvoeren, geen andere bewerkingen
1000281=Overmaat
1000282=Overmaat
1000283=Maximale hoekradius achtergelaten op hoeken
1000284=Radiuslimiet achtergelaten door het gereedschap bij elke binnenhoek van de feature
1000285=Zaagsnede uitvoeren om materiaal te verwijderen
1000286=Zaagsnede uitvoeren om materiaal te verwijderen
1000287=Snoei- / steunstrip forceren
1000288=Activeer deze parameter om de software te verplichten een reststrip te laten staan om het onderdeel te ondersteunen
1000289=Breedte van de steunstrip
1000290=Breedte van de strip in het geval dat deze door de bewerking is voorzien
1000291=Kopsnijstrategie
1000292=Kopsnijstrategie
1000293=Automatisch
1000294=Automatisch
1000295=Geen bewerking
1000296=Geen bewerking
1000297=Zaagblad geforceerd
1000298=Zaagblad geforceerd
1000299=Frees geforceerd
1000300=Frees geforceerd
1000301=Beschikbare frees om het kops profiel te bewerken
1000302=Beschikbare frees om het kops profiel te bewerken
1000303=Diepte van de afschuining
1000304=Diepte van de V-frees om afschuiningen op snijkanten uit te voeren
1000305=Gebruik van kettingzaag forceren
1000306=Gebruik van kettingzaag forceren
1000307=PreCuts (Voorsneden) forceren
1000308=Autocam past een bewerking toe op het theoretische nulpunt om botsingen te voorkomen als de theoretische lengte niet overeenkomt met de werkelijke lengte
1000309=Afwerken met frees
1000310=Gebruik een frees om het oppervlak na te bewerken als dit met de kettingzaag is gespleten
1000311=Diepte van de afschuining
1000312=Diepte van de V-frees om afschuiningen op snijkanten uit te voeren
1000313=Gebruik van kettingzaag forceren
1000314=Gebruik van kettingzaag forceren
1000315=PreCuts (Voorsneden) forceren
1000316=Autocam past een bewerking toe op het theoretische nulpunt om botsingen te voorkomen als de theoretische lengte niet overeenkomt met de werkelijke lengte
1000317=Afwerken met frees
1000318=Gebruik een frees om het oppervlak na te bewerken als dit met de kettingzaag is gespleten
// ----- End -----
+1 -1
View File
@@ -392,7 +392,7 @@
"TopologyList" : [
{ "sName": "Feature",
"sImage": "ConfigStrategy\\Chamfer.png",
"StrategyList" : [ ]
"StrategyList" : [ { "sStrategyId": "STR0002" }, { "sStrategyId": "STR0005" }, { "sStrategyId": "STR0010" } ]
}
]
},
+47 -2
View File
@@ -1,4 +1,3 @@
[
{
"nGroup": "PIECE LOADING",
@@ -7,6 +6,8 @@
"sValue": "BTL_POSITION",
"sDescriptionShort": "Part loading position",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000001,
"idDescriptionLongMsg": 1000002,
"sType": "combo",
"sMinUserLevel": "1",
"Choices": [
@@ -14,18 +15,24 @@
"sValue": "BTL_POSITION",
"sDescriptionShort": "Loading position from BTL, no pre-rotation",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000003,
"idDescriptionLongMsg": 1000004,
"sMessageId": ""
},
{
"sValue": "STD_PRE_ROTATION",
"sDescriptionShort": "Get Best loading position from 0° and 180°",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000005,
"idDescriptionLongMsg": 1000006,
"sMessageId": ""
},
{
"sValue": "FULL_PRE_ROTATION",
"sDescriptionShort": "Get Best loading position in each piece rotation",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000007,
"idDescriptionLongMsg": 1000008,
"sMessageId": ""
}
]
@@ -37,6 +44,8 @@
"sValue": "false",
"sDescriptionShort": "Allow piece inversion",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000009,
"idDescriptionLongMsg": 1000010,
"sType": "b",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -48,6 +57,8 @@
"sValue": "false",
"sDescriptionShort": "Enable material optimization function in nesting (part rotation disabled)",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000011,
"idDescriptionLongMsg": 1000012,
"sType": "b",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -59,6 +70,8 @@
"sValue": "IF_NECESSARY",
"sDescriptionShort": "Part rotating acceptability",
"sDescriptionLong": "Acceptability of rotating the part between machining steps",
"idDescriptionShortMsg": 1000013,
"idDescriptionLongMsg": 1000014,
"sType": "combo",
"sMinUserLevel": "1",
"Choices": [
@@ -66,18 +79,24 @@
"sValue": "NOT_ALLOWED",
"sDescriptionShort": "Rotation not allowed",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000015,
"idDescriptionLongMsg": 1000016,
"sMessageId": ""
},
{
"sValue": "IF_NECESSARY",
"sDescriptionShort": "Rotation allowed only if strictly necessary",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000017,
"idDescriptionLongMsg": 1000018,
"sMessageId": ""
},
{
"sValue": "NO_CONSTRAINT",
"sDescriptionShort": "Rotation easily acceptable / no constraint",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000019,
"idDescriptionLongMsg": 1000020,
"sMessageId": ""
}
]
@@ -89,6 +108,8 @@
"sValue": "AUTO",
"sDescriptionShort": "Machining Strategy",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000021,
"idDescriptionLongMsg": 1000022,
"sType": "combo",
"sMinUserLevel": "1",
"Choices": [
@@ -96,18 +117,32 @@
"sValue": "AUTO",
"sDescriptionShort": "Quality and time equally prioritized",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000023,
"idDescriptionLongMsg": 1000024,
"sMessageId": ""
},
{
"sValue": "FASTEST",
"sDescriptionShort": "Fastest",
"sDescriptionLong": "Prefer fastest strategies",
"idDescriptionShortMsg": 1000025,
"idDescriptionLongMsg": 1000026,
"sMessageId": ""
},
{
"sValue": "HIGH_QUALITY",
"sDescriptionShort": "High quality",
"sDescriptionLong": "Prefer high-quality strategies",
"idDescriptionShortMsg": 1000027,
"idDescriptionLongMsg": 1000028,
"sMessageId": ""
},
{
"sValue": "FIRST_IN_LIST",
"sDescriptionShort": "Ordering rules",
"sDescriptionLong": "The first complete strategy in list is the one chosen; no intelligent choosing",
"idDescriptionShortMsg": 1000029,
"idDescriptionLongMsg": 1000030,
"sMessageId": ""
}
]
@@ -119,6 +154,8 @@
"sValue": "1",
"sDescriptionShort": "Max number of reprocessing cycles",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000031,
"idDescriptionLongMsg": 1000032,
"sType": "d",
"sMessageId": " ",
"sMinUserLevel": "10"
@@ -130,6 +167,8 @@
"sValue": "true",
"sDescriptionShort": "Use entire blade diameter to shorten path",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000033,
"idDescriptionLongMsg": 1000034,
"sType": "b",
"sMessageId": " ",
"sMinUserLevel": "5"
@@ -141,6 +180,8 @@
"sValue": "300",
"sDescriptionShort": "Maximum length for dropped waste",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000035,
"idDescriptionLongMsg": 1000036,
"sType": "d",
"sMessageId": " ",
"sMinUserLevel": "5"
@@ -152,6 +193,8 @@
"sValue": "6000000",
"sDescriptionShort": "Maximum volume for dropped waste",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000037,
"idDescriptionLongMsg": 1000038,
"sType": "d",
"sMessageId": " ",
"sMinUserLevel": "5"
@@ -163,8 +206,10 @@
"sValue": "150",
"sDescriptionShort": "Maximum dice dimension",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000039,
"idDescriptionLongMsg": 1000040,
"sType": "d",
"sMessageId": " ",
"sMinUserLevel": "5"
}
]
]
+9 -2
View File
@@ -8,6 +8,8 @@
"sValue": "0",
"sDescriptionShort": "Depth Chamfer",
"sDescriptionLong": "Depth of the V-Mill to execute chamfers on cut-edges",
"idDescriptionShortMsg": 1000301,
"idDescriptionLongMsg": 1000302,
"sType": "d",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -18,6 +20,8 @@
"sValue": "false",
"sDescriptionShort": "Force to use chain saw",
"sDescriptionLong": "Force to use chain saw",
"idDescriptionShortMsg": 1000303,
"idDescriptionLongMsg": 1000304,
"sType": "b",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -28,6 +32,8 @@
"sValue": "false",
"sDescriptionShort": "Force to add PreCuts",
"sDescriptionLong": "Autocam will apply a machining on the theoretical zero, to avoid collision if the theoretical piece length doesn't correspond to the real length",
"idDescriptionShortMsg": 1000305,
"idDescriptionLongMsg": 1000306,
"sType": "b",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -38,6 +44,8 @@
"sValue": "true",
"sDescriptionShort": "Finish with mill",
"sDescriptionLong": "Use a mill to finish the surface if split with chain saw",
"idDescriptionShortMsg": 1000307,
"idDescriptionLongMsg": 1000308,
"sType": "b",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -58,5 +66,4 @@
"sMinUserLevel": "5"
}
]
}
}
+22
View File
@@ -8,6 +8,8 @@
"sValue": "0",
"sDescriptionShort": "Overmaterial on tenon length",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000041,
"idDescriptionLongMsg": 1000042,
"sType": "d",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -18,6 +20,8 @@
"sValue": "0",
"sDescriptionShort": "Overmaterial on tenon width",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000043,
"idDescriptionLongMsg": 1000044,
"sType": "d",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -28,6 +32,8 @@
"sValue": "3",
"sDescriptionShort": "Maximum number of milling passes",
"sDescriptionLong": "Maximum number of milling passes. If more passes are required, pocketing is performed",
"idDescriptionShortMsg": 1000045,
"idDescriptionLongMsg": 1000046,
"sType": "d",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -38,6 +44,8 @@
"sValue": "true",
"sDescriptionShort": "Use DoveTail tool to pocket",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000047,
"idDescriptionLongMsg": 1000048,
"sType": "b",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -48,6 +56,8 @@
"sValue": "AUTO",
"sDescriptionShort": "Cutting Strategy",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000049,
"idDescriptionLongMsg": 1000050,
"sType": "combo",
"sMinUserLevel": "1",
"Choices": [
@@ -55,24 +65,32 @@
"sValue": "AUTO",
"sDescriptionShort": "Automatic",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000051,
"idDescriptionLongMsg": 1000052,
"sMessageId": ""
},
{
"sValue": "BLADE_FORCED",
"sDescriptionShort": "Blade only",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000053,
"idDescriptionLongMsg": 1000054,
"sMessageId": ""
},
{
"sValue": "MILL_FORCED",
"sDescriptionShort": "Mill only",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000055,
"idDescriptionLongMsg": 1000056,
"sMessageId": ""
},
{
"sValue": "CHAINSAW_FORCED",
"sDescriptionShort": "ChainSaw only",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000057,
"idDescriptionLongMsg": 1000058,
"sMessageId": ""
}
]
@@ -83,6 +101,8 @@
"sValue": "",
"sDescriptionShort": "Available mill to machine the tenon cut surface",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000059,
"idDescriptionLongMsg": 1000060,
"sType": "tool",
"sSubType": "MCH_TF.MILL",
"sMessageId": " ",
@@ -94,6 +114,8 @@
"sValue": "",
"sDescriptionShort": "Available mill to machine the dovetail tenon",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000061,
"idDescriptionLongMsg": 1000062,
"sType": "tool",
"sSubType": "MCH_TF.MILL",
"sMessageId": " ",
+10
View File
@@ -8,6 +8,8 @@
"sValue": "15",
"sDescriptionShort": "Max radius left on corners",
"sDescriptionLong": "Radius-limit left by the tool at each corner of the feature",
"idDescriptionShortMsg": 1000063,
"idDescriptionLongMsg": 1000064,
"sType": "d",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -18,6 +20,8 @@
"sValue": "false",
"sDescriptionShort": "Use Anti-Splint strategy",
"sDescriptionLong": "The strategy will apply blade cuts on corner to avoid wood splint",
"idDescriptionShortMsg": 1000065,
"idDescriptionLongMsg": 1000066,
"sType": "b",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -28,6 +32,8 @@
"sValue": "",
"sDescriptionShort": "Extend after tail",
"sDescriptionLong": "The automatism considers this length as machinable. This means you accept to damage the next piece in the bar",
"idDescriptionShortMsg": 1000067,
"idDescriptionLongMsg": 1000068,
"sType": "d",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -38,6 +44,8 @@
"sValue": "10",
"sDescriptionShort": "Minimum approach distance on open sides",
"sDescriptionLong": "Minimum approach distance on open sides",
"idDescriptionShortMsg": 1000069,
"idDescriptionLongMsg": 1000070,
"sType": "d",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -48,6 +56,8 @@
"sValue": "",
"sDescriptionShort": "Available mill to pocket the feature",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000071,
"idDescriptionLongMsg": 1000072,
"sType": "tool",
"sSubType": "MCH_TF.MILL",
"sMessageId": " ",
+5 -3
View File
@@ -27,7 +27,8 @@ local Strategy = {}
-------------------------------------------------------------------------------------------------------------
local function IsTopologyOk( Proc)
if Proc.Topology.sName == 'Pocket-5-Blind' or
if Proc.Topology.sFamily == 'PseudoPocket' or
Proc.Topology.sName == 'Pocket-5-Blind' or
Proc.Topology.sName == 'RafterNotch-5-Through' or
Proc.Topology.sName == 'Tunnel-4-Through' or
Proc.Topology.sName == 'Groove-4-Blind' or
@@ -121,7 +122,7 @@ local function GetBestPocketingStrategy( Proc, Part)
ToolSearchParameters.sType = 'MILL_STD'
ToolSearchParameters.dMaxToolDiameter = min( Strategy.Parameters.dMaxCornerRadius * 2, Proc.FeatureInfo.dFaceLength / 2)
-- imposto dati per cercare la fresa migliore
elseif Proc.Topology.sName == 'Pocket-5-Blind' then
elseif Proc.Topology.sName == 'Pocket-5-Blind' or Proc.Topology.sFamily == 'PseudoPocket' then
local dFaceWidth, dFaceLength
if Proc.MainFaces.BottomFaces[1].MainEdges then
dFaceWidth = Proc.MainFaces.BottomFaces[1].MainEdges.LongEdges[1].dLength
@@ -233,7 +234,7 @@ local function GetBestPocketingStrategy( Proc, Part)
-- cerco utensile per lavorare di fianco 1
Milling = {}
Milling.bIsApplicable = false
if Proc.Topology.sName ~= 'DoubleBevel-2-Through'
if Proc.Topology.sName ~= 'DoubleBevel-2-Through' and Proc.Topology.sFamily ~= 'PseudoPocket'
and Proc.Topology.sName ~= 'Pocket-5-Blind' and Proc.Topology.sName ~= 'RafterNotch-5-Through' then
if Proc.Topology.sName == 'Groove-4-Blind' then
@@ -302,6 +303,7 @@ local function GetBestPocketingStrategy( Proc, Part)
Milling.bIsApplicable = false
if Proc.Topology.sName ~= 'DoubleBevel-2-Through'
and Proc.Topology.sName ~= 'Pocket-5-Blind'
and Proc.Topology.sFamily ~= 'PseudoPocket'
and Proc.Topology.sName ~= 'RafterNotch-5-Through'
and Proc.Topology.sName ~= 'Groove-4-Blind'
and Proc.Topology.sName ~= 'Bevel-3-Blind' then
+20
View File
@@ -8,6 +8,8 @@
"sValue": "true",
"sDescriptionShort": "Finish with chainsaw if needed",
"sDescriptionLong": "Finish with chainsaw if needed",
"idDescriptionShortMsg": 1000073,
"idDescriptionLongMsg": 1000074,
"sType": "b",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -18,6 +20,8 @@
"sValue": "",
"sDescriptionShort": "Extend after tail",
"sDescriptionLong": "The automatism considers this length as machinable. This means you accept to damage the next piece in the bar",
"idDescriptionShortMsg": 1000075,
"idDescriptionLongMsg": 1000076,
"sType": "d",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -28,6 +32,8 @@
"sValue": "false",
"sDescriptionShort": "Force ripping blade",
"sDescriptionLong": "Force the use of ripping blade, designed for cuts parallel to the grain",
"idDescriptionShortMsg": 1000077,
"idDescriptionLongMsg": 1000078,
"sType": "b",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -38,6 +44,8 @@
"sValue": "true",
"sDescriptionShort": "Not complete with Blade radius imprint left",
"sDescriptionLong": "If the parameter is active, the automatism considers the feature as - not complete - if the blade radius imprint is left",
"idDescriptionShortMsg": 1000079,
"idDescriptionLongMsg": 1000080,
"sType": "b",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -48,6 +56,8 @@
"sValue": "false",
"sDescriptionShort": "Use Zig-Zag ChainSaw",
"sDescriptionLong": "Enable the parameter to set the Zig-Zag movement on the ChainSaw machining. Deactivate it to use One-Way movement.",
"idDescriptionShortMsg": 1000081,
"idDescriptionLongMsg": 1000082,
"sType": "b",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -58,6 +68,8 @@
"sValue": "true",
"sDescriptionShort": "Sort by segment",
"sDescriptionLong": "Sort the machinings according to the piece-segment where the machining has inserted",
"idDescriptionShortMsg": 1000083,
"idDescriptionLongMsg": 1000084,
"sType": "b",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -68,6 +80,8 @@
"sValue": "NEVER",
"sDescriptionShort": "Damage next piece",
"sDescriptionLong": "This option allows you to decide how to consider the next piece in the bar. The software calculates specifics LeadIn/out to respect the parameter. This parameter may change the machining time",
"idDescriptionShortMsg": 1000085,
"idDescriptionLongMsg": 1000086,
"sType": "combo",
"sMinUserLevel": "1",
"Choices": [
@@ -75,18 +89,24 @@
"sValue": "NEVER",
"sDescriptionShort": "Never damage",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000087,
"idDescriptionLongMsg": 1000088,
"sMessageId": ""
},
{
"sValue": "ONLY_IF_RAWPART",
"sDescriptionShort": "Damage only if raw",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000089,
"idDescriptionLongMsg": 1000090,
"sMessageId": ""
},
{
"sValue": "ALWAYS",
"sDescriptionShort": "Can damage",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000091,
"idDescriptionLongMsg": 1000092,
"sMessageId": ""
}
]
+12
View File
@@ -8,6 +8,8 @@
"sValue": "false",
"sDescriptionShort": "Use Zig-Zag ChainSaw",
"sDescriptionLong": "Enable the parameter to set the Zig-Zag movement on the ChainSaw machining. Deactivate it to use One-Way movement.",
"idDescriptionShortMsg": 1000093,
"idDescriptionLongMsg": 1000094,
"sType": "b",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -18,6 +20,8 @@
"sValue": "",
"sDescriptionShort": "Extend after tail",
"sDescriptionLong": "The automatism considers this length as machinable. This means you accept to damage the next piece in the bar",
"idDescriptionShortMsg": 1000095,
"idDescriptionLongMsg": 1000096,
"sType": "d",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -28,6 +32,8 @@
"sValue": "NEVER",
"sDescriptionShort": "Damage next piece",
"sDescriptionLong": "This option allows you to decide how to consider the next piece in the bar. The software calculates specifics LeadIn/out to respect the parameter. This parameter may change the machining time",
"idDescriptionShortMsg": 1000097,
"idDescriptionLongMsg": 1000098,
"sType": "combo",
"sMinUserLevel": "1",
"Choices": [
@@ -35,18 +41,24 @@
"sValue": "NEVER",
"sDescriptionShort": "Never damage",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000099,
"idDescriptionLongMsg": 1000100,
"sMessageId": ""
},
{
"sValue": "ONLY_IF_RAWPART",
"sDescriptionShort": "Damage only if raw",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000101,
"idDescriptionLongMsg": 1000102,
"sMessageId": ""
},
{
"sValue": "ALWAYS",
"sDescriptionShort": "Can damage",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000103,
"idDescriptionLongMsg": 1000104,
"sMessageId": ""
}
]
+30
View File
@@ -8,6 +8,8 @@
"sValue": "false",
"sDescriptionShort": "Force ripping blade",
"sDescriptionLong": "Force the use of ripping blade, designed for cuts parallel to the grain",
"idDescriptionShortMsg": 1000105,
"idDescriptionLongMsg": 1000106,
"sType": "b",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -18,6 +20,8 @@
"sValue": "",
"sDescriptionShort": "Extend after tail",
"sDescriptionLong": "The automatism considers this length as machinable. This means you accept to damage the next piece in the bar",
"idDescriptionShortMsg": 1000107,
"idDescriptionLongMsg": 1000108,
"sType": "d",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -28,6 +32,8 @@
"sValue": "NEVER",
"sDescriptionShort": "Damage next piece",
"sDescriptionLong": "This option allows you to decide how to consider the next piece in the bar. The software calculates specifics LeadIn/out to respect the parameter. This parameter may change the machining time",
"idDescriptionShortMsg": 1000109,
"idDescriptionLongMsg": 1000110,
"sType": "combo",
"sMinUserLevel": "1",
"Choices": [
@@ -35,18 +41,24 @@
"sValue": "NEVER",
"sDescriptionShort": "Never damage",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000111,
"idDescriptionLongMsg": 1000112,
"sMessageId": ""
},
{
"sValue": "ONLY_IF_RAWPART",
"sDescriptionShort": "Damage only if raw",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000113,
"idDescriptionLongMsg": 1000114,
"sMessageId": ""
},
{
"sValue": "ALWAYS",
"sDescriptionShort": "Can damage",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000115,
"idDescriptionLongMsg": 1000116,
"sMessageId": ""
}
]
@@ -57,6 +69,8 @@
"sValue": "AUTO",
"sDescriptionShort": "Cutting strategy",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000117,
"idDescriptionLongMsg": 1000118,
"sType": "combo",
"sMinUserLevel": "1",
"Choices": [
@@ -64,18 +78,24 @@
"sValue": "AUTO",
"sDescriptionShort": "Automatic",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000119,
"idDescriptionLongMsg": 1000120,
"sMessageId": ""
},
{
"sValue": "DROP_WASTE",
"sDescriptionShort": "Drop waste",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000121,
"idDescriptionLongMsg": 1000122,
"sMessageId": ""
},
{
"sValue": "KEEP_WASTE_ATTACHED",
"sDescriptionShort": "Keep waste attached",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000123,
"idDescriptionLongMsg": 1000124,
"sMessageId": ""
}
]
@@ -86,6 +106,8 @@
"sValue": "false",
"sDescriptionShort": "Disable dicing",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000125,
"idDescriptionLongMsg": 1000126,
"sType": "b",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -96,6 +118,8 @@
"sValue": "false",
"sDescriptionShort": "Prioritize machining speed over quality",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000127,
"idDescriptionLongMsg": 1000128,
"sType": "b",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -106,6 +130,8 @@
"sValue": "5",
"sDescriptionShort": "Strip width",
"sDescriptionLong": "In case the waste is still kept attached, this is the wigth dimension of the strip",
"idDescriptionShortMsg": 1000129,
"idDescriptionLongMsg": 1000130,
"sType": "d",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -116,6 +142,8 @@
"sValue": "true",
"sDescriptionShort": "Clean blade radius with mill",
"sDescriptionLong": "Clean blade radius with mill",
"idDescriptionShortMsg": 1000131,
"idDescriptionLongMsg": 1000132,
"sType": "b",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -126,6 +154,8 @@
"sValue": "1",
"sDescriptionShort": "Milling offset from side",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000133,
"idDescriptionLongMsg": 1000134,
"sType": "d",
"sMessageId": " ",
"sMinUserLevel": "1"
+18
View File
@@ -8,6 +8,8 @@
"sValue": "0",
"sDescriptionShort": "Overmaterial on tenon length",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000135,
"idDescriptionLongMsg": 1000136,
"sType": "d",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -18,6 +20,8 @@
"sValue": "0",
"sDescriptionShort": "Overmaterial on tenon width",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000137,
"idDescriptionLongMsg": 1000138,
"sType": "d",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -28,6 +32,8 @@
"sValue": "3",
"sDescriptionShort": "Maximum number of milling passes",
"sDescriptionLong": "Maximum number of milling passes. If more passes are required, pocketing is performed",
"idDescriptionShortMsg": 1000139,
"idDescriptionLongMsg": 1000140,
"sType": "d",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -38,6 +44,8 @@
"sValue": "AUTO",
"sDescriptionShort": "Cutting Strategy",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000141,
"idDescriptionLongMsg": 1000142,
"sType": "combo",
"sMinUserLevel": "1",
"Choices": [
@@ -45,24 +53,32 @@
"sValue": "AUTO",
"sDescriptionShort": "Automatic",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000143,
"idDescriptionLongMsg": 1000144,
"sMessageId": ""
},
{
"sValue": "BLADE_FORCED",
"sDescriptionShort": "Blade only",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000145,
"idDescriptionLongMsg": 1000146,
"sMessageId": ""
},
{
"sValue": "MILL_FORCED",
"sDescriptionShort": "Mill only",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000147,
"idDescriptionLongMsg": 1000148,
"sMessageId": ""
},
{
"sValue": "CHAINSAW_FORCED",
"sDescriptionShort": "ChainSaw only",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000149,
"idDescriptionLongMsg": 1000150,
"sMessageId": ""
}
]
@@ -73,6 +89,8 @@
"sValue": "",
"sDescriptionShort": "Available mill to machine the tenon",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000151,
"idDescriptionLongMsg": 1000152,
"sType": "tool",
"sSubType": "MCH_TF.MILL",
"sMessageId": " ",
+24
View File
@@ -8,6 +8,8 @@
"sValue": "0",
"sDescriptionShort": "Overmaterial on Mortise length",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000153,
"idDescriptionLongMsg": 1000154,
"sType": "d",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -18,6 +20,8 @@
"sValue": "0",
"sDescriptionShort": "Overmaterial on Mortise width",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000155,
"idDescriptionLongMsg": 1000156,
"sType": "d",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -28,6 +32,8 @@
"sValue": "3",
"sDescriptionShort": "Maximum number of milling passes",
"sDescriptionLong": "Maximum number of milling passes. If more passes are required, pocketing is performed",
"idDescriptionShortMsg": 1000157,
"idDescriptionLongMsg": 1000158,
"sType": "d",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -38,6 +44,8 @@
"sValue": "true",
"sDescriptionShort": "Use DoveTail tool in case of pocketing",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000159,
"idDescriptionLongMsg": 1000160,
"sType": "b",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -48,6 +56,8 @@
"sValue": "true",
"sDescriptionShort": "Add Anti-Splint",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000161,
"idDescriptionLongMsg": 1000162,
"sType": "b",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -58,6 +68,8 @@
"sValue": "AUTO",
"sDescriptionShort": "Cutting Strategy",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000163,
"idDescriptionLongMsg": 1000164,
"sType": "combo",
"sMinUserLevel": "1",
"Choices": [
@@ -65,24 +77,32 @@
"sValue": "AUTO",
"sDescriptionShort": "Automatic",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000165,
"idDescriptionLongMsg": 1000166,
"sMessageId": ""
},
{
"sValue": "BLADE_FORCED",
"sDescriptionShort": "Blade only",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000167,
"idDescriptionLongMsg": 1000168,
"sMessageId": ""
},
{
"sValue": "MILL_FORCED",
"sDescriptionShort": "Mill only",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000169,
"idDescriptionLongMsg": 1000170,
"sMessageId": ""
},
{
"sValue": "CHAINSAW_FORCED",
"sDescriptionShort": "ChainSaw only",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000171,
"idDescriptionLongMsg": 1000172,
"sMessageId": ""
}
]
@@ -93,6 +113,8 @@
"sValue": "",
"sDescriptionShort": "Available mill to machine the mortise cut surface",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000173,
"idDescriptionLongMsg": 1000174,
"sType": "tool",
"sSubType": "MCH_TF.MILL",
"sMessageId": " ",
@@ -104,6 +126,8 @@
"sValue": "",
"sDescriptionShort": "Available mill to machine the dovetail mortise",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000175,
"idDescriptionLongMsg": 1000176,
"sType": "tool",
"sSubType": "MCH_TF.MILL",
"sMessageId": " ",
+18
View File
@@ -8,6 +8,8 @@
"sValue": "0",
"sDescriptionShort": "Overmaterial on mortise length",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000177,
"idDescriptionLongMsg": 1000178,
"sType": "d",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -18,6 +20,8 @@
"sValue": "0",
"sDescriptionShort": "Overmaterial on mortise width",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000179,
"idDescriptionLongMsg": 1000180,
"sType": "d",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -28,6 +32,8 @@
"sValue": "AUTO",
"sDescriptionShort": "Cutting Strategy",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000181,
"idDescriptionLongMsg": 1000182,
"sType": "combo",
"sMinUserLevel": "1",
"Choices": [
@@ -35,24 +41,32 @@
"sValue": "AUTO",
"sDescriptionShort": "Automatic",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000183,
"idDescriptionLongMsg": 1000184,
"sMessageId": ""
},
{
"sValue": "BLADE_FORCED",
"sDescriptionShort": "Blade only",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000185,
"idDescriptionLongMsg": 1000186,
"sMessageId": ""
},
{
"sValue": "MILL_FORCED",
"sDescriptionShort": "Mill only",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000187,
"idDescriptionLongMsg": 1000188,
"sMessageId": ""
},
{
"sValue": "CHAINSAW_FORCED",
"sDescriptionShort": "ChainSaw only",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000189,
"idDescriptionLongMsg": 1000190,
"sMessageId": ""
}
]
@@ -63,6 +77,8 @@
"sValue": "",
"sDescriptionShort": "Available mill to machine the mortise cut surface",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000191,
"idDescriptionLongMsg": 1000192,
"sType": "tool",
"sSubType": "MCH_TF.MILL",
"sMessageId": " ",
@@ -74,6 +90,8 @@
"sValue": "",
"sDescriptionShort": "Available mill to machine the mortise",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000193,
"idDescriptionLongMsg": 1000194,
"sType": "tool",
"sSubType": "MCH_TF.MILL",
"sMessageId": " ",
+6 -1
View File
@@ -312,7 +312,12 @@ function STR0008.Make( bAddMachining, Proc, Part, CustomParameters)
for i = 1, #Strategy.Machining.Pocketing do
if Strategy.Machining.Pocketing[i].bIsApplicable then
Pocketing = MachiningLib.InitMachiningParameters( MCH_MY.POCKETING)
Pocketing.nSubType = MCH_POCK_SUB.SPIRALOUT
-- se mortasa aperta su un lato si usa SpiralIn
if ( Proc.AffectedFaces.bFront or Proc.AffectedFaces.bBack) and ( Proc.AffectedFaces.bTop or Proc.AffectedFaces.bBottom) then
Pocketing.nSubType = MCH_POCK_SUB.SPIRALIN
else
Pocketing.nSubType = MCH_POCK_SUB.SPIRALOUT
end
Pocketing.LeadIn.nType = MCH_POCK_LI.ZIGZAG
Pocketing.Steps.dStep = TOOLS[Strategy.Machining.Pocketing[i].ToolInfo.nToolIndex].dStep
Pocketing.Steps.dSideStep = TOOLS[Strategy.Machining.Pocketing[i].ToolInfo.nToolIndex].dSideStep
+6
View File
@@ -8,6 +8,8 @@
"sValue": "0",
"sDescriptionShort": "Depth Chamfer",
"sDescriptionLong": "Depth of the V-Mill to execute chamfers on cut-edges",
"idDescriptionShortMsg": 1000195,
"idDescriptionLongMsg": 1000196,
"sType": "d",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -18,6 +20,8 @@
"sValue": "false",
"sDescriptionShort": "Use Anti-Splint strategy",
"sDescriptionLong": "The strategy will apply blade cuts on corner to avoid wood splint",
"idDescriptionShortMsg": 1000197,
"idDescriptionLongMsg": 1000198,
"sType": "b",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -28,6 +32,8 @@
"sValue": "",
"sDescriptionShort": "Available mill to machine the profile",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000199,
"idDescriptionLongMsg": 1000200,
"sType": "tool",
"sSubType": "MCH_TF.MILL",
"sMessageId": " ",
+16
View File
@@ -8,6 +8,8 @@
"sValue": "false",
"sDescriptionShort": "Antisplint with blade",
"sDescriptionLong": "Use the blade as antisplint in case the geometry is not through",
"idDescriptionShortMsg": 1000201,
"idDescriptionLongMsg": 1000202,
"sType": "b",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -18,6 +20,8 @@
"sValue": "",
"sDescriptionShort": "Extend after tail",
"sDescriptionLong": "The automatism considers this length as machinable. This means you accept to damage the next piece in the bar",
"idDescriptionShortMsg": 1000203,
"idDescriptionLongMsg": 1000204,
"sType": "d",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -28,6 +32,8 @@
"sValue": "true",
"sDescriptionShort": "Clean radius with mill",
"sDescriptionLong": "Clean radius with mill",
"idDescriptionShortMsg": 1000205,
"idDescriptionLongMsg": 1000206,
"sType": "b",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -38,6 +44,8 @@
"sValue": "1",
"sDescriptionShort": "Milling offset from side",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000207,
"idDescriptionLongMsg": 1000208,
"sType": "d",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -48,6 +56,8 @@
"sValue": "NEVER",
"sDescriptionShort": "Damage next piece",
"sDescriptionLong": "This option allows you to decide how to consider the next piece in the bar. The software calculates specifics LeadIn/out to respect the parameter. This parameter may change the machining time",
"idDescriptionShortMsg": 1000209,
"idDescriptionLongMsg": 1000210,
"sType": "combo",
"sMinUserLevel": "1",
"Choices": [
@@ -55,18 +65,24 @@
"sValue": "NEVER",
"sDescriptionShort": "Never damage",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000211,
"idDescriptionLongMsg": 1000212,
"sMessageId": ""
},
{
"sValue": "ONLY_IF_RAWPART",
"sDescriptionShort": "Damage only if raw",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000213,
"idDescriptionLongMsg": 1000214,
"sMessageId": ""
},
{
"sValue": "ALWAYS",
"sDescriptionShort": "Can damage",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000215,
"idDescriptionLongMsg": 1000216,
"sMessageId": ""
}
]
+14
View File
@@ -8,6 +8,8 @@
"sValue": "0",
"sDescriptionShort": "Tolerance on Diameter",
"sDescriptionLong": "Tolerance on Diameter",
"idDescriptionShortMsg": 1000217,
"idDescriptionLongMsg": 1000218,
"sType": "d",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -18,6 +20,8 @@
"sValue": "0",
"sDescriptionShort": "Depth PreHole",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000219,
"idDescriptionLongMsg": 1000220,
"sType": "d",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -28,6 +32,8 @@
"sValue": "AUTO",
"sDescriptionShort": "Drilling Mode",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000221,
"idDescriptionLongMsg": 1000222,
"sType": "combo",
"sMinUserLevel": "1",
"Choices": [
@@ -35,18 +41,24 @@
"sValue": "AUTO",
"sDescriptionShort": "Automatic",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000223,
"idDescriptionLongMsg": 1000224,
"sMessageId": ""
},
{
"sValue": "PREFER_ONE",
"sDescriptionShort": "Preferred machining from one side only",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000225,
"idDescriptionLongMsg": 1000226,
"sMessageId": ""
},
{
"sValue": "FORCE_TWO",
"sDescriptionShort": "Force machining from two sides",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000227,
"idDescriptionLongMsg": 1000228,
"sMessageId": ""
}
]
@@ -57,6 +69,8 @@
"sValue": "",
"sDescriptionShort": "Available Drillbit list",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000229,
"idDescriptionLongMsg": 1000230,
"sType": "tool",
"sSubType": "MCH_TF.DRILLBIT",
"sMessageId": " ",
+18
View File
@@ -8,6 +8,8 @@
"sValue": "",
"sDescriptionShort": "Extend after tail",
"sDescriptionLong": "The automatism considers this length as machinable. This means you accept to damage the next piece in the bar",
"idDescriptionShortMsg": 1000231,
"idDescriptionLongMsg": 1000232,
"sType": "d",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -18,6 +20,8 @@
"sValue": "NEVER",
"sDescriptionShort": "Damage next piece",
"sDescriptionLong": "This option allows you to decide how to consider the next piece in the bar. The software calculates specifics LeadIn/out to respect the parameter. This parameter may change the machining time",
"idDescriptionShortMsg": 1000233,
"idDescriptionLongMsg": 1000234,
"sType": "combo",
"sMinUserLevel": "1",
"Choices": [
@@ -25,18 +29,24 @@
"sValue": "NEVER",
"sDescriptionShort": "Never damage",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000235,
"idDescriptionLongMsg": 1000236,
"sMessageId": ""
},
{
"sValue": "ONLY_IF_RAWPART",
"sDescriptionShort": "Damage only if raw",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000237,
"idDescriptionLongMsg": 1000238,
"sMessageId": ""
},
{
"sValue": "ALWAYS",
"sDescriptionShort": "Can damage",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000239,
"idDescriptionLongMsg": 1000240,
"sMessageId": ""
}
]
@@ -47,6 +57,8 @@
"sValue": "AUTO",
"sDescriptionShort": "Ridge Lap strategy",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000241,
"idDescriptionLongMsg": 1000242,
"sType": "combo",
"sMinUserLevel": "1",
"Choices": [
@@ -54,18 +66,24 @@
"sValue": "AUTO",
"sDescriptionShort": "Automatic",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000243,
"idDescriptionLongMsg": 1000244,
"sMessageId": ""
},
{
"sValue": "BLADE",
"sDescriptionShort": "Use blade",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000245,
"idDescriptionLongMsg": 1000246,
"sMessageId": ""
},
{
"sValue": "MILL",
"sDescriptionShort": "Use mill",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000247,
"idDescriptionLongMsg": 1000248,
"sMessageId": ""
}
]
+16
View File
@@ -8,6 +8,8 @@
"sValue": "0",
"sDescriptionShort": "Tolerance on Diameter",
"sDescriptionLong": "Tolerance on Diameter",
"idDescriptionShortMsg": 1000249,
"idDescriptionLongMsg": 1000250,
"sType": "d",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -18,6 +20,8 @@
"sValue": "0",
"sDescriptionShort": "Use mill as a drillbit",
"sDescriptionLong": "Admit to use the mill as a drillbit",
"idDescriptionShortMsg": 1000251,
"idDescriptionLongMsg": 1000252,
"sType": "b",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -28,6 +32,8 @@
"sValue": "0",
"sDescriptionShort": "Execute contour only",
"sDescriptionLong": "Execute the contour anyway, even the hole is bigger than the tool diameter",
"idDescriptionShortMsg": 1000253,
"idDescriptionLongMsg": 1000254,
"sType": "b",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -38,6 +44,8 @@
"sValue": "AUTO",
"sDescriptionShort": "Drilling mode",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000255,
"idDescriptionLongMsg": 1000256,
"sType": "combo",
"sMinUserLevel": "1",
"Choices": [
@@ -45,18 +53,24 @@
"sValue": "AUTO",
"sDescriptionShort": "Automatic",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000257,
"idDescriptionLongMsg": 1000258,
"sMessageId": ""
},
{
"sValue": "PREFER_ONE",
"sDescriptionShort": "Preferred machining from one side only",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000259,
"idDescriptionLongMsg": 1000260,
"sMessageId": ""
},
{
"sValue": "FORCE_TWO",
"sDescriptionShort": "Force machining from two sides",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000261,
"idDescriptionLongMsg": 1000262,
"sMessageId": ""
}
]
@@ -67,6 +81,8 @@
"sValue": "",
"sDescriptionShort": "Available mill to machine drills",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000263,
"idDescriptionLongMsg": 1000264,
"sType": "tool",
"sSubType": "MCH_TF.MILL",
"sMessageId": " ",
+12
View File
@@ -8,6 +8,8 @@
"sValue": "1",
"sDescriptionShort": "Machining Depth",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000265,
"idDescriptionLongMsg": 1000266,
"sType": "d",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -18,6 +20,8 @@
"sValue": "",
"sDescriptionShort": "Available mill to machine mark and text",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000267,
"idDescriptionLongMsg": 1000268,
"sType": "tool",
"sSubType": "MCH_TF.MILL",
"sMessageId": " ",
@@ -29,6 +33,8 @@
"sValue": "AUTO",
"sDescriptionShort": "Marking Strategy",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000269,
"idDescriptionLongMsg": 1000270,
"sType": "combo",
"sMinUserLevel": "1",
"Choices": [
@@ -36,18 +42,24 @@
"sValue": "AUTO",
"sDescriptionShort": "Automatic",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000271,
"idDescriptionLongMsg": 1000272,
"sMessageId": ""
},
{
"sValue": "PEN_FORCED",
"sDescriptionShort": "Pen only",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000273,
"idDescriptionLongMsg": 1000274,
"sMessageId": ""
},
{
"sValue": "VMILL_FORCED",
"sDescriptionShort": "V-Mill only",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000275,
"idDescriptionLongMsg": 1000276,
"sMessageId": ""
}
]
+26
View File
@@ -8,6 +8,8 @@
"sValue": "0",
"sDescriptionShort": "Depth Chamfer",
"sDescriptionLong": "Depth of the V-Mill to execute chamfers on cut-edges",
"idDescriptionShortMsg": 1000277,
"idDescriptionLongMsg": 1000278,
"sType": "d",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -18,6 +20,8 @@
"sValue": "false",
"sDescriptionShort": "Only Chamfer",
"sDescriptionLong": "Execute the chamfer only, no other machining",
"idDescriptionShortMsg": 1000279,
"idDescriptionLongMsg": 1000280,
"sType": "b",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -28,6 +32,8 @@
"sValue": "0",
"sDescriptionShort": "Overmaterial",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000281,
"idDescriptionLongMsg": 1000282,
"sType": "d",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -38,6 +44,8 @@
"sValue": "15",
"sDescriptionShort": "Max radius left on corners",
"sDescriptionLong": "Radius-limit left by the tool at each corner of the feature",
"idDescriptionShortMsg": 1000283,
"idDescriptionLongMsg": 1000284,
"sType": "d",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -48,6 +56,8 @@
"sValue": "true",
"sDescriptionShort": "Execute cut to remove material",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000285,
"idDescriptionLongMsg": 1000286,
"sType": "b",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -58,6 +68,8 @@
"sValue": "false",
"sDescriptionShort": "Force strip",
"sDescriptionLong": "Enable the parameter to force the software to leave a strip to sustain the piece",
"idDescriptionShortMsg": 1000287,
"idDescriptionLongMsg": 1000288,
"sType": "b",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -68,6 +80,8 @@
"sValue": "0",
"sDescriptionShort": "Strip width",
"sDescriptionLong": "Width of the strip in case if foreseen from the machining",
"idDescriptionShortMsg": 1000289,
"idDescriptionLongMsg": 1000290,
"sType": "d",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -78,6 +92,8 @@
"sValue": "AUTO",
"sDescriptionShort": "Cutting Strategy",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000291,
"idDescriptionLongMsg": 1000292,
"sType": "combo",
"sMinUserLevel": "1",
"Choices": [
@@ -85,24 +101,32 @@
"sValue": "AUTO",
"sDescriptionShort": "Automatic",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000293,
"idDescriptionLongMsg": 1000294,
"sMessageId": ""
},
{
"sValue": "NONE",
"sDescriptionShort": "No machining",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000295,
"idDescriptionLongMsg": 1000296,
"sMessageId": ""
},
{
"sValue": "BLADE_FORCED",
"sDescriptionShort": "Blade forced",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000297,
"idDescriptionLongMsg": 1000298,
"sMessageId": ""
},
{
"sValue": "MILL_FORCED",
"sDescriptionShort": "Mill forced",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000299,
"idDescriptionLongMsg": 1000300,
"sMessageId": ""
}
]
@@ -113,6 +137,8 @@
"sValue": "",
"sDescriptionShort": "Available mill to machine the profile",
"sDescriptionLong": "",
"idDescriptionShortMsg": 1000301,
"idDescriptionLongMsg": 1000302,
"sType": "d",
"sMessageId": " ",
"sMinUserLevel": "1"
+52 -34
View File
@@ -704,6 +704,21 @@ local function GetFeatureResult( Proc)
return Result
end
-------------------------------------------------------------------------------------------------------------
local function GetSCC( Proc, vtToolDirection)
local nSCC = MCH_SCC.NONE
if Proc.AffectedFaces.bRight and not Proc.AffectedFaces.bLeft then
nSCC = MCH_SCC.ADIR_XP
elseif Proc.AffectedFaces.bLeft and not Proc.AffectedFaces.bRight then
nSCC = MCH_SCC.ADIR_XM
elseif vtToolDirection and AreSameOrOppositeVectorApprox( vtToolDirection, Z_AX()) then
nSCC = MCH_SCC.ADIR_YP
end
return nSCC
end
-------------------------------------------------------------------------------------------------------------
function STR0015.Make( bAddMachining, Proc, Part, CustomParameters)
-- carico parametri de default e li aggiorno con quelli passati dal chiamante (potrebbero non essere congruenti)
@@ -814,53 +829,56 @@ function STR0015.Make( bAddMachining, Proc, Part, CustomParameters)
if Strategy.Profile.Machinings then
for i = 1, #Strategy.Profile.Machinings do
Strategy.Profile.Machinings[i].Geometry = {{ Proc.idAddAuxGeom, -1}}
Strategy.Profile.Machinings[i].nToolIndex = Strategy.Profile.Machinings[i].ToolInfo.nToolIndex
Strategy.Profile.Machinings[i].nType = MCH_MY.MILLING
Strategy.Profile.Machinings[i].Steps = MachiningLib.GetMachiningSteps( false, tonumber( Strategy.Profile.Machinings[i].sDepth), TOOLS[Strategy.Profile.Machinings[i].nToolIndex].dStep)
Strategy.Profile.Machinings[i].Steps.nStepType = MCH_MILL_ST.ONEWAY
local CurrentMachining = Strategy.Profile.Machinings[i]
CurrentMachining.Geometry = {{ Proc.idAddAuxGeom, -1}}
CurrentMachining.nToolIndex = CurrentMachining.ToolInfo.nToolIndex
CurrentMachining.nType = MCH_MY.MILLING
CurrentMachining.Steps = MachiningLib.GetMachiningSteps( false, tonumber( CurrentMachining.sDepth), TOOLS[CurrentMachining.nToolIndex].dStep)
CurrentMachining.Steps.nStepType = MCH_MILL_ST.ONEWAY
CurrentMachining.nSCC = GetSCC( Proc, CurrentMachining.vtToolDirection)
-- LeadIn / LeadOut
Strategy.Profile.Machinings[i].LeadIn.nType = MCH_MILL_LI.TANGENT
Strategy.Profile.Machinings[i].LeadOut.nType = MCH_MILL_LI.TANGENT
Strategy.Profile.Machinings[i].LeadIn.dTangentDistance = TOOLS[Strategy.Profile.Machinings[i].ToolInfo.nToolIndex].dDiameter / 2 + BeamData.COLL_SIC
Strategy.Profile.Machinings[i].LeadIn.dPerpDistance = 0
Strategy.Profile.Machinings[i].LeadIn.dStartAddLength = 0
Strategy.Profile.Machinings[i].LeadOut.dTangentDistance = TOOLS[Strategy.Profile.Machinings[i].ToolInfo.nToolIndex].dDiameter / 2 + BeamData.COLL_SIC
Strategy.Profile.Machinings[i].LeadOut.dPerpDistance = 0
Strategy.Profile.Machinings[i].LeadOut.dEndAddLength = 0
CurrentMachining.LeadIn.nType = MCH_MILL_LI.TANGENT
CurrentMachining.LeadOut.nType = MCH_MILL_LI.TANGENT
CurrentMachining.LeadIn.dTangentDistance = TOOLS[CurrentMachining.ToolInfo.nToolIndex].dDiameter / 2 + BeamData.COLL_SIC
CurrentMachining.LeadIn.dPerpDistance = 0
CurrentMachining.LeadIn.dStartAddLength = 0
CurrentMachining.LeadOut.dTangentDistance = TOOLS[CurrentMachining.ToolInfo.nToolIndex].dDiameter / 2 + BeamData.COLL_SIC
CurrentMachining.LeadOut.dPerpDistance = 0
CurrentMachining.LeadOut.dEndAddLength = 0
if Proc.AffectedFaces.bLeft and Strategy.bCanMoveAfterSplit then
Strategy.Profile.Machinings[i].sStage = 'AfterTail'
CurrentMachining.sStage = 'AfterTail'
end
-- preparo attacco/uscita in caso di spezzatura arco
Strategy.Profile.Machinings[i].LeadInForSplit = BeamLib.TableCopyDeep( Strategy.Profile.Machinings[i].LeadIn)
Strategy.Profile.Machinings[i].LeadOutForSplit = BeamLib.TableCopyDeep( Strategy.Profile.Machinings[i].LeadOut)
Strategy.Profile.Machinings[i].LeadInForSplit.nType = MCH_MILL_LI.LINEAR
Strategy.Profile.Machinings[i].LeadOutForSplit.nType = MCH_MILL_LI.LINEAR
Strategy.Profile.Machinings[i].LeadInForSplit.dTangentDistance = 0
Strategy.Profile.Machinings[i].LeadInForSplit.dPerpDistance = TOOLS[Strategy.Profile.Machinings[i].ToolInfo.nToolIndex].dDiameter / 2 + BeamData.COLL_SIC
Strategy.Profile.Machinings[i].LeadOutForSplit.dTangentDistance = 0
Strategy.Profile.Machinings[i].LeadOutForSplit.dPerpDistance = TOOLS[Strategy.Profile.Machinings[i].ToolInfo.nToolIndex].dDiameter / 2 + BeamData.COLL_SIC
CurrentMachining.LeadInForSplit = BeamLib.TableCopyDeep( CurrentMachining.LeadIn)
CurrentMachining.LeadOutForSplit = BeamLib.TableCopyDeep( CurrentMachining.LeadOut)
CurrentMachining.LeadInForSplit.nType = MCH_MILL_LI.LINEAR
CurrentMachining.LeadOutForSplit.nType = MCH_MILL_LI.LINEAR
CurrentMachining.LeadInForSplit.dTangentDistance = 0
CurrentMachining.LeadInForSplit.dPerpDistance = TOOLS[CurrentMachining.ToolInfo.nToolIndex].dDiameter / 2 + BeamData.COLL_SIC
CurrentMachining.LeadOutForSplit.dTangentDistance = 0
CurrentMachining.LeadOutForSplit.dPerpDistance = TOOLS[CurrentMachining.ToolInfo.nToolIndex].dDiameter / 2 + BeamData.COLL_SIC
-- sistemo il lato e la direzione di lavoro
if Strategy.Profile.Machinings[i].bOtherDirection then
Strategy.Profile.Machinings[i].bToolInvert = true
Strategy.Profile.Machinings[i].bInvert = EgtIf( TOOLS[Strategy.Profile.Machinings[i].ToolInfo.nToolIndex].bIsCCW, true, false)
Strategy.Profile.Machinings[i].nWorkside = EgtIf( TOOLS[Strategy.Profile.Machinings[i].ToolInfo.nToolIndex].bIsCCW, MCH_MILL_WS.RIGHT, MCH_MILL_WS.LEFT)
if CurrentMachining.bOtherDirection then
CurrentMachining.bToolInvert = true
CurrentMachining.bInvert = EgtIf( TOOLS[CurrentMachining.ToolInfo.nToolIndex].bIsCCW, true, false)
CurrentMachining.nWorkside = EgtIf( TOOLS[CurrentMachining.ToolInfo.nToolIndex].bIsCCW, MCH_MILL_WS.RIGHT, MCH_MILL_WS.LEFT)
else
Strategy.Profile.Machinings[i].bInvert = EgtIf( TOOLS[Strategy.Profile.Machinings[i].ToolInfo.nToolIndex].bIsCCW, false, true)
Strategy.Profile.Machinings[i].nWorkside = EgtIf( TOOLS[Strategy.Profile.Machinings[i].ToolInfo.nToolIndex].bIsCCW, MCH_MILL_WS.RIGHT, MCH_MILL_WS.LEFT)
CurrentMachining.bInvert = EgtIf( TOOLS[CurrentMachining.ToolInfo.nToolIndex].bIsCCW, false, true)
CurrentMachining.nWorkside = EgtIf( TOOLS[CurrentMachining.ToolInfo.nToolIndex].bIsCCW, MCH_MILL_WS.RIGHT, MCH_MILL_WS.LEFT)
end
Strategy.Profile.Machinings[i].ptEdge1 = EgtSP( Proc.idAddAuxGeom, GDB_ID.ROOT)
Strategy.Profile.Machinings[i].ptEdge2 = EgtEP( Proc.idAddAuxGeom, GDB_ID.ROOT)
Strategy.Profile.Machinings[i].dEdgeLength = EgtCurveLength( Proc.idAddAuxGeom)
Strategy.Profile.Machinings[i].vtEdgeDirection = EgtSV( Proc.idAddAuxGeom, GDB_ID.ROOT) + EgtMV( Proc.idAddAuxGeom, GDB_ID.ROOT) + EgtEV( Proc.idAddAuxGeom, GDB_ID.ROOT)
Strategy.Profile.Machinings[i].dLengthOnX = Proc.b3Box:getDimX()
CurrentMachining.ptEdge1 = EgtSP( Proc.idAddAuxGeom, GDB_ID.ROOT)
CurrentMachining.ptEdge2 = EgtEP( Proc.idAddAuxGeom, GDB_ID.ROOT)
CurrentMachining.dEdgeLength = EgtCurveLength( Proc.idAddAuxGeom)
CurrentMachining.vtEdgeDirection = EgtSV( Proc.idAddAuxGeom, GDB_ID.ROOT) + EgtMV( Proc.idAddAuxGeom, GDB_ID.ROOT) + EgtEV( Proc.idAddAuxGeom, GDB_ID.ROOT)
CurrentMachining.dLengthOnX = Proc.b3Box:getDimX()
local MachiningToSplit = {}
table.insert( MachiningToSplit, Strategy.Profile.Machinings[i])
table.insert( MachiningToSplit, CurrentMachining)
local MachiningResult = MachiningLib.GetSplitMachinings( MachiningToSplit, FeatureSplittingPoints, Part)
-- aggiunge lavorazione
for j = 1, #MachiningResult do
+8
View File
@@ -8,6 +8,8 @@
"sValue": "0",
"sDescriptionShort": "Depth Chamfer",
"sDescriptionLong": "Depth of the V-Mill to execute chamfers on cut-edges",
"idDescriptionShortMsg": 1000309,
"idDescriptionLongMsg": 1000310,
"sType": "d",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -18,6 +20,8 @@
"sValue": "false",
"sDescriptionShort": "Force to use chain saw",
"sDescriptionLong": "Force to use chain saw",
"idDescriptionShortMsg": 1000311,
"idDescriptionLongMsg": 1000312,
"sType": "b",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -28,6 +32,8 @@
"sValue": "true",
"sDescriptionShort": "Force to add PreCuts",
"sDescriptionLong": "Autocam will apply a machining on the theoretical zero, to avoid collision if the theoretical piece length doesn't correspond to the real length",
"idDescriptionShortMsg": 1000313,
"idDescriptionLongMsg": 1000314,
"sType": "b",
"sMessageId": " ",
"sMinUserLevel": "1"
@@ -38,6 +44,8 @@
"sValue": "true",
"sDescriptionShort": "Finish with mill",
"sDescriptionLong": "Use a mill to finish the surface if split with chain saw",
"idDescriptionShortMsg": 1000315,
"idDescriptionLongMsg": 1000316,
"sType": "b",
"sMessageId": " ",
"sMinUserLevel": "1"
+1 -1
View File
@@ -79,7 +79,7 @@ STR0015 = Profilo arcuato (Head Cambered Profile)
; Feature : French Ridge Lap
35,1,Feature,
; Feature : Chamfer
36,0,Feature,
36,0,Feature,STR0002,STR0005,STR0010
; Feature : Block Haus Half Lap
37,0,Feature,
; Feature : Block Haus Front
+1 -1
View File
@@ -216,7 +216,7 @@ function BLADEKEEPWASTE.Make( Proc, Part, OptionalParameters)
local CalculatedMachinings = {}
-- controlli preventivi
if Proc.nFct > 3 and ( not Proc.Topology.sFamily == 'DoubleBevel') then
if Proc.nFct > 3 and Proc.Topology.sFamily ~= 'DoubleBevel' then
Result = FeatureLib.GetStrategyResultNotApplicable( 'BladeKeepWaste : max 3 faces supported')
return Machinings, Result
elseif Proc.nFct == 2 then
+34 -19
View File
@@ -81,12 +81,29 @@ function FACEBYCHAINSAW.Make( Proc, Part, FaceToMachine, EdgeToMachine, Optional
local sDepth = OptionalParameters.sDepth or 'TH'
local dLongitudinalStepSpan = OptionalParameters.dLongitudinalStepSpan
-- lunghezze e punti caratteristici della lavorazione e del lato lavorato
-- lunghezze, direzioni e punti caratteristici della lavorazione e del lato lavorato
Mortising.dEdgeLength = EdgeToMachine.dLength
if OppositeToolDirectionMode == 'Enabled' then
Mortising.vtToolDirection = -EdgeToMachine.vtN
local dCalculatedMaxElev = FaceToMachine.Edges[EdgeToMachine.nPreviousEdgeIndex].dLength
if FaceToMachine.Edges[EdgeToMachine.nNextEdgeIndex].dLength > FaceToMachine.Edges[EdgeToMachine.nPreviousEdgeIndex].dLength + 10 * GEO.EPS_SMALL then
dCalculatedMaxElev = FaceToMachine.Edges[EdgeToMachine.nNextEdgeIndex].dLength
end
-- la direzione di lavoro è calcolata in accordo con la direzione calcolata dal Cam5
-- fine chiusa
if EdgeToMachine.bIsStartOpen and not EdgeToMachine.bIsEndOpen then
Mortising.vtToolDirection = FaceToMachine.Edges[EdgeToMachine.nNextEdgeIndex].vtEdge
-- inizio chiuso
elseif EdgeToMachine.bIsEndOpen and not EdgeToMachine.bIsStartOpen then
Mortising.vtToolDirection = -FaceToMachine.Edges[EdgeToMachine.nPreviousEdgeIndex].vtEdge
-- entrambi aperti o entrambi chiusi
else
Mortising.vtToolDirection = EdgeToMachine.vtN
local vtTemp = ( FaceToMachine.Edges[EdgeToMachine.nNextEdgeIndex].vtEdge - FaceToMachine.Edges[EdgeToMachine.nPreviousEdgeIndex].vtEdge) * 0.5
vtTemp:normalize()
Mortising.vtToolDirection = vtTemp
end
if OppositeToolDirectionMode == 'Enabled' then
Mortising.vtToolDirection = -Mortising.vtToolDirection
else
Mortising.vtToolDirection = Mortising.vtToolDirection
end
Mortising.vtEdgeDirection = Vector3d( EdgeToMachine.vtEdge)
Mortising.ptEdge1, Mortising.ptEdge2 = EdgeToMachine.ptStart, EdgeToMachine.ptEnd
@@ -170,6 +187,8 @@ function FACEBYCHAINSAW.Make( Proc, Part, FaceToMachine, EdgeToMachine, Optional
-- massima elevazione
if dCustomMaxElev < Mortising.dDepthToMachine - 10 * GEO.EPS_SMALL then
Mortising.dMaxElev = max( dCustomMaxElev, dCustomMaxElev - Mortising.dLongitudinalOffset)
else
Mortising.dMaxElev = dCalculatedMaxElev
end
-- offset radiale
Mortising.dRadialOffset = 0
@@ -195,18 +214,8 @@ function FACEBYCHAINSAW.Make( Proc, Part, FaceToMachine, EdgeToMachine, Optional
-- SCC
Mortising.SCC = MCH_SCC.NONE
-- asse bloccato e angoli suggeriti
local vtRes = FaceToMachine.vtN ^ EdgeToMachine.vtN
if abs( vtRes:getZ()) < 10 * GEO.EPS_SMALL then
Mortising.sBlockedAxis = BeamLib.GetBlockedAxis( Mortising.nToolIndex, 'perpendicular', Part.b3Raw, FaceToMachine.vtN)
Mortising.sSuggestedAngles = BeamLib.GetChainSawInitAngs( FaceToMachine.vtN, EdgeToMachine.vtN, 1)
elseif EdgeToMachine.vtN:getZ() < 10 * GEO.EPS_SMALL then
Mortising.sBlockedAxis = BeamLib.GetBlockedAxis( Mortising.nToolIndex, 'parallel', Part.b3Raw, FaceToMachine.vtN)
Mortising.sSuggestedAngles = BeamLib.GetChainSawInitAngs( FaceToMachine.vtN, EdgeToMachine.vtN, 2)
-- TODO al momento si contempla solo sega a catena con asse bloccato
else
Mortising.bIsApplicable = false
return Mortising
end
Mortising.sBlockedAxis = BeamLib.GetBlockedAxis( Mortising.nToolIndex, 'perpendicular', Part.b3Raw, FaceToMachine.vtN)
Mortising.sInitialAngles = BeamLib.GetChainSawInitAngs( FaceToMachine.vtN, Mortising.vtToolDirection, 1)
-- approccio e retrazione
Mortising.LeadIn, Mortising.LeadOut = CalculateLeadInOut( Mortising, EdgeToMachine, sSideToMachine, dLengthToMachine)
-- check finecorsa nei punti di attacco
@@ -219,10 +228,16 @@ function FACEBYCHAINSAW.Make( Proc, Part, FaceToMachine, EdgeToMachine, Optional
vtAux = -FaceToMachine.vtN
end
local bOutOfStroke = PreSimulationLib.CheckOutOfStrokeFromPoints( PointsOnToolTipCenter, Mortising.vtToolDirection, Mortising.nSCC, TOOLS[Mortising.nToolIndex], vtAux, Mortising.sBlockedAxis)
-- se finecorsa si prova a bloccare l'altro asse
if bOutOfStroke then
Mortising.sMessage = 'Out of stroke'
Mortising.bIsApplicable = false
return Mortising
Mortising.sBlockedAxis = BeamLib.GetBlockedAxis( Mortising.nToolIndex, 'parallel', Part.b3Raw, FaceToMachine.vtN)
Mortising.sInitialAngles = BeamLib.GetChainSawInitAngs( FaceToMachine.vtN, Mortising.vtToolDirection, 2)
bOutOfStroke = PreSimulationLib.CheckOutOfStrokeFromPoints( PointsOnToolTipCenter, Mortising.vtToolDirection, Mortising.nSCC, TOOLS[Mortising.nToolIndex], vtAux, Mortising.sBlockedAxis)
if bOutOfStroke then
Mortising.sMessage = 'Out of stroke'
Mortising.bIsApplicable = false
return Mortising
end
end
-- eventuale step verticale
Mortising.CloneStepsLongitudinal = {}