231 Commits

Author SHA1 Message Date
andrea.villa 5ad9e0bf4f Merge branch 'NewMachiningOrder' into develop 2025-12-09 16:40:28 +01:00
andrea.villa c3ea568d99 - Prima versione funzionante ottimizzazione shortest-path
- creata nuova tabella globale DB_MACH_APPLIED che rispecchia il DB delle lavorazioni e fasi (il MachGroup) aggiunte da automatismo
- ripristinata funzione di ordinamento StableSort, solo per lo stage
- adeguamento funzioni ordinamento per operare su nuova tabella DB_MACH_APPLIED
2025-12-09 16:40:14 +01:00
andrea.villa 30f59b0175 - Se lavorazione in positione standard, si setta bStd
- Prima versione ottimizzazione lavorazioni
!! Non funzionante in caso di cloni !!
2025-12-09 10:42:29 +01:00
luca.mazzoleni c18e80a70d - MachiningLib, PreSimulationLib e FACEBYBLADE modificate per introduzione check finecorsa (da completare) e check attacchi 2025-12-05 18:31:35 +01:00
luca.mazzoleni ae30cb5736 - in MachiningLib ennesimo refactoring 2025-12-05 15:09:18 +01:00
luca.mazzoleni cd586673c7 - MachiningLib.CheckCollision spostata in PreSimulationLib 2025-12-05 12:03:36 +01:00
luca.mazzoleni f426311b28 in MachiningLib.GetBladeEngagement refactoring 2025-12-05 11:42:00 +01:00
luca.mazzoleni 69c31e4c2b - PreCollisionLib rinominata PreSimulationLib 2025-12-05 10:01:33 +01:00
luca.mazzoleni 56ca5a74b9 - in PreCollisionLib e MachiningLib refactoring di CheckCollisionWithAxis 2025-12-04 19:02:02 +01:00
luca.mazzoleni ad1ea741d0 - in MachiningLib.GetBladeEngagement refactoring 2025-12-04 18:39:29 +01:00
luca.mazzoleni 327a5a960d - require ( 'BeamData') sostituito con require( 'BeamDataNew') in tutti i punti (temporaneo)
- in PreCollisionLib.CheckCollisionWithAxis refactoring
2025-12-04 11:55:40 +01:00
luca.mazzoleni 68da716da1 - in MachiningLib e PreCollision correzioni per controllare collisione con grezzo nei cubetti 2025-12-02 16:44:51 +01:00
luca.mazzoleni 4bbadb8581 - in MachiningLib miglioramenti a GetBladeEngagement 2025-12-02 10:27:59 +01:00
luca.mazzoleni cb60773216 - in MachiningLib si GetBladeEngagement si controlla la collisione con tutti gli assi in modalità standard o DownUp 2025-12-01 18:54:03 +01:00
luca.mazzoleni 530dce3d0d - PreCollisionLib: ultima versione con controllo 3d fatto nelle 3 viste principali 2025-11-28 18:16:00 +01:00
luca.mazzoleni 198fa3a546 - piccole correzioni riguardanti PreCollision 2025-11-28 14:56:31 +01:00
luca.mazzoleni 1ad5a74a8b - in MachiningLib CheckCollisionAxisAB sostituito con CheckCollisionWithAxis 2025-11-28 13:15:16 +01:00
luca.mazzoleni 9ed315ab9b - in PreCollision varie modifiche e migliorie per rendere CheckCollisionWithAxis unica per ogni asse da testare
- in STR0006 si ritorna a usare dPivot da SetupInfo per check collisione asse Z, in attesa di implementare CheckCollisionWithAxis anche per fresa
2025-11-28 12:54:06 +01:00
luca.mazzoleni 74a12a4a42 - funzioni di precollisione lama spostate in libreria apposita PreCollisionLib
- calcolo tempo esecuzione migliorato (TimeLib e riferimenti)
- idTempGroup ora è scritto nel Part per evitare di ricercarlo ogni volta
2025-11-25 15:19:09 +01:00
luca.mazzoleni 06a73a069f - aggiunta nuova modalità di pre calcolo collisioni, al momento lama e solo asse Z
- aggiunta libreria TimeLib per calcolare i tempi di esecuzione (sostituite chiamate a EgtStartCounter e Stop)
- rimosse chiamate a EgtOutLog deprecate
2025-11-24 17:30:57 +01:00
luca.mazzoleni e3cd0d3033 - in BLADETOWASTE piccola correzione 2025-11-12 17:36:47 +01:00
luca.mazzoleni 8f2a09e5c7 - in BLADEKEEPWASTE, se lavorazione fallisce da un lato, si fa codolo tutto da un lato alla massima profondità
- in BLADETOWASTE.CutWholeWaste, se fallisce il taglio doppio, si verificano i lati a minor elevazione
MachiningLib.GetBladeEngagement si restituisce anche se la lavorazione richiede separazione, verificata in Check2DBladeCollision
- in FACEBYBLADE gestita forzatura dopo split dall'esterno
- in BatchProcessNew e Process si restituisce sempre sMsg, anche se feature completa
- in FaceData rimosso logging MainFaces
2025-11-11 12:12:00 +01:00
luca.mazzoleni 4ce77a4792 - in MachiningLib.FindBlade si restituisce il BladeEngagement, se presente
- in BLADETOWASTE.GetEdgeToMachine aggiunta la possibilità di restituire l'n-esimo lato della lista ordinata; in GetSingleCutStrategy si tenta di cambiare lato se il con il primo set non si è trovato alcun utensile; altre piccole correzioni
- in FACEBYBLADE refactoring per contemplare i vari casi di inversione
2025-11-07 10:15:01 +01:00
luca.mazzoleni 15db75dfad - in FACEBYBLADE correzioni a chiamata Cutting.nToolIndex
- in MachiningLib.Check2DBladeCollision ora si controlla correttamente se c'è intersezione
2025-11-05 18:56:02 +01:00
luca.mazzoleni 6d319d17b6 - corretti alcuni casi in cui si calcolava il caso invertito anche se non necessario
- in MachiningLib.Check2DBladeCollision esclusi i casi in cui l'utensile arriva da una direzione principale
- in BLADETOWASTE.GetDualSideCutStrategy si verifica GetBladeEngagement anche per il lato opposto
- in FACEBYBLADE refactoring e verifica GetBladeEngagement quando necessario
2025-11-05 17:38:55 +01:00
luca.mazzoleni 43b096f531 - tutte le chiamate a EgtSurfTmFacetOppositeSide sostituite con i lati letti in EdgesInfo
- correzioni e migliorie legate e GetBladeEngagement
2025-11-05 11:02:02 +01:00
luca.mazzoleni d9d505fc44 - update versione minima Cam5
- in BeamExec corretto il calcolo di nCycles: ora il calcolo dell'inversione si fa solo se richiesto
- in BeamExec rimossa cancellazione entità temporanee: si mette tutto nel gruppo idTemp; adeguate le funzioni che creano geometrie temporanee
- in MachiningLib Check2DBladeCollision migliorata e ultimata: da testare
2025-11-04 17:40:48 +01:00
luca.mazzoleni ddff655240 - in BatchProcessNew e BeamExec, dove si salva il Box del Part si salva anche idBoxTm, id della trimesh del box
- in BeamLib rimosse funzioni GetPlaneOrientation e IsEdgeOnBox, non usate
- in MachiningLib rivista completamente GetBladeEngagement e aggiunta Check2DBladeCollision
2025-11-04 12:54:09 +01:00
luca.mazzoleni 2536244f1b in MachiningLib.GetBladeEngagement aggiunti i parametri dDepthToMachine e bAvoidCollisionCheckForStandardCut 2025-11-03 16:37:01 +01:00
luca.mazzoleni 7b4673acef - varie modifiche ai tagli di lama per DownUp, caso solo 2d
- in FaceData.GetEdgesInfo si scrivono anche i ptStart e ptEnd; IsFaceRhomboid diventa IsFaceParallelogram
- in BeamLib aggiunta IsEdgeOnBox
2025-11-03 16:29:12 +01:00
luca.mazzoleni 2d1abbb3cc - correzioni per tagli DownUp 2025-10-30 18:53:31 +01:00
luca.mazzoleni 25dbaed63b - funzioni IsFaceZOutOfRange, IsBladeOrientationOkForDownUp e GetBladeEngagement spostate in MachiningLib (da FACEBYBLADE) 2025-10-30 16:49:49 +01:00
andrea.villa 9fe22368cb - In preparazione della tabella Proc da una Trimesh, si salvano anche parametri pinzaggio
- AddMachinings copia deep di "AuxiliaryData" per evitare che venga inserita nella MACHININGS il riferimento
- STR0012 aggiunta gestione lavorazione con codolo
2025-10-24 11:53:36 +02:00
andrea.villa a3a29dc5bf - Feature taglio di testa e coda rinominate con 'StartCut' e 'EndCut'
- Migliorata gestione tagli testa e coda
- Log result scrivono indici dettagliati per voto feature
- Piccole sistemazioni varie
2025-10-23 10:15:42 +02:00
andrea.villa 3b59b8f37a In caso si lasci il codolo, non si considera riduzione pinzaggio testa e coda. 2025-10-14 10:55:57 +02:00
andrea.villa a508b4bb94 - Prima versione con gestione parametri generali
- Possibilità di aprire più configurazioni delle strategie
- Gestione parametri ereditati
- Nuovo JSON parametri generali
- Adeguamento strategie per gestione parametri generali
2025-10-03 11:15:17 +02:00
andrea.villa 1a14d156cf - Aggiunta ricerca utensile anche per UUID
- In BCS piccola modifica in caso di TAG "Cutting"
- Aggiunto parametro sStrategyName a TAILCUT e HEADCUT
2025-10-01 13:25:18 +02:00
andrea.villa 5f663d3362 - Prima versione pulizia corner con lama
- Funzione "FaceData.GetFacesInfo" accetta ora una lista di facce sulle quali calcolare le info, per evitare di calcolarle tutte in caso siano molte
- In "BCS.GetToolsFromMachDataFile", se lista tag vuota, si esce subito
2025-09-26 10:04:30 +02:00
andrea.villa b65a5b758b - In MachiningLib : Aggiunto parametro rotazione per ricerca utensile
- Gestione smussi completa
- Piccole modifiche calcolo Result strategia
2025-09-22 11:33:03 +02:00
andrea.villa 51dec026ec - Completato strategia STR0014
- Migliorata gestione pezzo invertito
- Corretto problema scelta combinazione migliore
- In STR0001 corretto nome variabile
- In STR0011 (foro) cambiato messaggio warning in caso di lavorazione non completa
- In BLADETOWASTE se taglio troncante, si setta da fare dopo taglio coda
2025-09-05 13:14:50 +02:00
andrea.villa 3a4b29070e Prima versione funzionante STR0014 2025-09-04 11:46:50 +02:00
andrea.villa 8e960954ef - Calcolo tempo lavorazione in strategie STR0001 e STR0006
- Modifiche minori per compatibilità nel calcolo tempo strategie precedenti
2025-09-01 12:10:19 +02:00
andrea.villa 8e49d0afcc - In MachiningLib aggiunte funzioni per ricerca utensile nella lista passata anziché in tutta la tabella TOOLS
- In BCS aggiunte funzioni per recuperare lavorazioni attive dai file  *machining*Data.lua, per Essetre
- Per capire dove recuperare strategie e utensili si legge ora il nome della macchina. Il parametro STRATEGIES_SCRIPT poteva essere modificabile in quanto in chiaro
- STR0011 e STR0013 prevedono lettura lista utensili. ( Le altre strategie sono da fare!)
2025-08-27 16:37:41 +02:00
andrea.villa a0e595e58d La scelta utensile contempla la lista parziale passata alle funzioni Find(Tool) 2025-08-25 16:52:00 +02:00
andrea.villa 967df73f43 Prima versione semi-funzionante forature con fresa, ancora in fase di test 2025-07-18 15:51:00 +02:00
andrea.villa 232751fd5d In STR0011:
- aggiunta possibilità di forare da due lati
      - aggiunta gestione tolleranza su diametro foro
Altre piccole modifiche
2025-07-17 13:00:33 +02:00
andrea.villa 188ddce206 - Aggiunta inversione pezzo
- Modificati Log
2025-07-10 17:37:30 +02:00
andrea.villa 91dc770f92 Ripristinato (e corretto) calcolo rotazioni dopo separazione in caso la posizione iniziale sia una prerotazione. In realtà con nuovo metodo non esiste più la pre-rotazione, ma è stata ripristinata la gestione in caso in futuro debba servire ancora. 2025-07-09 16:20:08 +02:00
andrea.villa e4b0955846 Corretto rotazioni e posizionamento iniziale 2025-07-09 11:49:22 +02:00
luca.mazzoleni 4a9db5d986 - in BLADETOWASTE e FACEBYBLADE implementato taglio ridotto e a ghigliottina, solo per facce rettangolari
- in FaceData introdotta funzione IsFaceRectangular
- in STR0005 aggiunto il parametro bReduceBladePath (gestito in BLADETOWASTE)
2025-07-04 16:20:45 +02:00