Commit Graph

221 Commits

Author SHA1 Message Date
andrea.villa aaa06c1af5 Corretto indice rotazione da verificare in caso di soluzione invertita. Si aggiunge un offset di 4, l'indice nella tabella delle rotazioni sono 5-6-7-8 2026-04-01 13:17:28 +02:00
andrea.villa 6fd356f757 - Aggiunta tolleranza nella scelta della migliore combinazione di lavorazione. Se voto uguale non era chiaro quale avrebbe scelto prima
- Quando si processano alternative, si resetta flag bPartInCombiIsInverted
2026-04-01 11:06:15 +02:00
luca.mazzoleni d001273704 - in FlipRot e ProcessAlternatives si scrivono le variabili globali nella tabella Beam per l'interfaccia 2026-03-31 16:11:54 +02:00
andrea.villa d32403f546 Il parametro GEN_nMaxReProcessCycles viene letto ora dal pezzo e non dalla lista dei parametri generali (la quale potrebbe avere quelli -sbagliati- di default). 2026-03-18 10:27:29 +01:00
andrea.villa 0fc9e1dd09 - Se la lavorazione non ha percorso, la si disattiva
- Se rotazione impostata su "IF_NECESSARY", prima del numero rotazioni, si controllano il numero di feature non eseguite
2026-03-13 13:26:20 +01:00
luca.mazzoleni 73b6d80510 - in FeatureLib->ClassifyTopology correzione al riconoscimento DoubleBevel su più parti
- in FaceData correzioni per i casi DoubleBevel su più parti
- in BeamExec->CollectFeatures si scrive il numero di parti di cui è composta la trimesh
2026-03-04 16:13:31 +01:00
andrea.villa 37e08e3f42 - Aggiunto tempo di calcolo delle alternative
- Di default la ricerca delle alternative è disattiva
- Piccole migliorie varie
2026-03-02 13:23:28 +01:00
andrea.villa c6ced91b14 - Aggiunti parametri configurabili GEN_bTestAlternative e GEN_bGetAlternativesNesting2D per testare altre alternative valide
- Aggiunta funzione dedicata alla creazione del gruppo ausiliario al MachGroup
- Alla funzione BeamExec.GetCombinationListFromMatrix si può passare una lista con le sole combinazioni da provare
- Nella BeamExec aggiunta funzione ProcessAlternatives solo per provare le alternative (simile alla ProcessFeatures, ma completamente slegata). La ProcessFeature decide il posizionamento iniziale, la ProcessAlternatives verifica solamente le alternative.
- FlipRot adeguata a nuovo funzionamento
- Altre piccole migliorie varie
- TODO :
   1) manca la parte per settare nelle info pezzo la rotazione iniziale (per vista in Aedifica) e le altre alternative (per ottimizzazione in nesting)
   2) In FlipRot gestire interazione con Aedifica, dato che verrà lanciato direttamente dal programma (per ora funziona lanciato come la Process)
2026-03-02 12:35:12 +01:00
andrea.villa 02390c2e9b - Tolte pre-rotazioni dalla Process
- FlipRot modificata, ora ereditata dalla Process
2026-02-24 16:50:48 +01:00
andrea.villa 7f7d75c113 - BatchProcess non calcola più le prerotazioni
- Modifiche varie per nuova gestione pre-rotazioni
- Nuovo script FlipRot (per ora copiata da BatchProcess, poi dovrà ruotare i pezzi e posizionarli in base alla migliore posizione di lavoro)
2026-02-23 16:24:43 +01:00
andrea.villa ecd50c0fea Piccola correzione gestione ricalcolo lavorazioni dopo applicazione 2026-02-10 13:33:05 +01:00
andrea.villa fe6c0bb31c - GetBestStrategy suddivisa in : GetBestStrategyFromProcList e GetFeatureBestStrategy
- Se si deve riprocessare, si riporta il pezzo in posizione originale
- in GetCombinationListFromMatrix si ricalcola la migliore strategia in caso ChosenStrategy non presente (solo se ReProcess)
- Piccole migliorie
2026-02-10 09:02:31 +01:00
andrea.villa 1c24f1046d - Prima versione per riprocessare il calcolo lavorazioni in caso l'applicazione di una (o più lavorazioni) abbia dato errore.
- Per ora cancella la ChosenStrategy, come se non avesse trovato alcuna strategia di sponibile
2026-02-09 15:20:21 +01:00
luca.mazzoleni 0a073ead4c - in BeamExec corretto indice salvato nell'utensile Tool.nIndex 2026-01-22 18:15:03 +01:00
luca.mazzoleni 76c8f45284 - in BLADETOWASTE.CutWithDicing refactor 2026-01-22 18:07:18 +01:00
andrea.villa d3a9284944 Piccoal correzione. C'era già il parametro 'idFeature' sulla Proc che indica l'indice della feature nella lista del BeamWall 2026-01-13 13:15:34 +01:00
andrea.villa 90f06cb7ec Gestione feature non lavorata perché slave di un'altra. Per ora gestito il caso speciale dei tagli in testa e coda 2026-01-13 13:04:03 +01:00
luca.mazzoleni 340a249948 - in BeamExec il volume della feature viene calcolato nel Collect direttamente: modificate le altre chiamate
- in STR0012 (RidgeLap) piccola correzione
2026-01-08 11:53:06 +01:00
luca.mazzoleni 3b65f6233d - in PreSimulationLib si usa l'uscita utensile 2025-12-22 11:46:15 +01:00
luca.mazzoleni f1805625d3 - per lama implementata verifica finecorsa (PreSimulationLib, MachiningLib) con funzione Machine Calc
- nei timer si logga il tempo di apertura Json
2025-12-22 11:19:03 +01:00
andrea.villa e646351f3f Ripristinata funzione FinalizeSorting che garantisce che l'ordine delle lavorazioni interne alla feature sia rispettato 2025-12-12 11:53:01 +01:00
andrea.villa 660cca04ca - In ShortestPathSorting tolte le dipendenze tra lavorazioni in rotazioni diverse. Analizzando un DISP palla volta no c'è rischio che si possano mischiare
- Aggiunto TIMER per algoritmo di sorting
2025-12-12 10:44:27 +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 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 a8c6424839 Merge branch 'develop' into CuttingImprovements 2025-11-28 12:54:27 +01:00
Emmanuele Sassi 1c8049d9a9 - in BatchProcessNew gestito ritorno risultati in caso di errore e ritorno tempi
- in BeamExec resa non locale la funzione AddApplyResultToGlobalList
2025-11-26 16:47:09 +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 711ac3930d - in FaceData corretta assegnazione ptStart e ptEnd nei MainEdges
- in FeatureLib.GetAdditionalInfo gestita correttamente 61 (Text)
2025-11-07 15:41:06 +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 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
andrea.villa 6ce4af9884 I parametri generici BTL non è detto che ci siano, quindi bisogna controllare se effettivamente siano stati impostati 2025-10-29 14:58:37 +01:00
andrea.villa fa36c51de0 - Corretto ID strategia STR0015
- Paramtri generali sono pre-processati quindi si deve controllare che non siano nil, perchè potrebbero esserci, ma essere falsi
2025-10-29 13:11:53 +01: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 66b273354e Tagli testa e coda si riconoscono da topologia e non più da Prc=340/350 2025-10-20 10:33:35 +02:00
andrea.villa 5c41793b70 Merge remote-tracking branch 'origin/develop' into NewHeadTailCut 2025-10-20 08:26:27 +02:00
luca.mazzoleni 58a98231ad - a FeatureLib.NeedTopologyFeature si passa anche il Part
- aggiunta gestione SawCut 1 faccia, troncante
2025-10-15 17:45:49 +02:00
andrea.villa 69f9669a5c Prime modifiche nuova gestione tagli testa e coda 2025-10-15 08:26:27 +02:00
andrea.villa 911113e853 - Migliorato calcolo tempo per rating strategia/soluzione
- 'dTimeToMachine' ora obbligatorio nei Result (da sistemare tutte le strategie)
- Piccola modifica ai nomi delle variabili, qualità e completamento diventano double e non più interi
- Riduzione numero scelte in parametri generici
2025-10-10 11:56:51 +02:00
andrea.villa 810bf4f7ab Modificate funzioni per lettura e gestione parametri generali 2025-10-09 08:33:52 +02:00
andrea.villa 0f4f245827 In GetPieceGeneralParameters si leggono parametri forzati su pezzo 2025-10-06 10:43:53 +02:00
andrea.villa ddbbc894fd - Lettura parametri globali PROJECT e BTL
- Possibilità di leggere più file BTLInfo
- Creata funzione GetPieceGeneralParameters (DA FARE) per aggiornamento parametri su pezzo
2025-10-03 17:14:10 +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 4cc0b6e2b3 - HEADCUT ore chiama SPLITCUT in caso di PreCut e BLADETOWASTE per materiale residuo.
- Modifiche varie minori per gestire HEADCUT con librerie standard
2025-09-29 12:35:17 +02:00
andrea.villa e1bce72db5 Nuova gestione qualità lavorazione unificata 2025-09-15 14:42:29 +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