Commit Graph

226 Commits

Author SHA1 Message Date
andrea.villa b68bbb2c48 - Report TXT ora gestisce bene le prerotazioni
- Corretta info indice rotazione su Proc
2026-04-13 13:01:56 +02:00
andrea.villa 6fe6b41e87 Migliorie calcolo prerotazioni 2026-04-13 12:28:09 +02:00
andrea.villa 78189631c1 Aggiunto inversione 2026-04-13 09:43:47 +02:00
andrea.villa 1a6433d5f8 Prima versione che sistema il pezzo in interfaccia come è stato preruotato 2026-04-13 08:08:14 +02:00
andrea.villa 0ca5f92b96 - tolto paraemtro generale GEN_bTestAlternative, sostituito da GEN_sPiecesLoadingPosition == 'FULL_PRE_ROTATION'. Se utente abilita ricerca delle prerotazioni anche a 90°, significa che accetta anche ottimizzazioni nel nesting ruotando pezzo a 90°, probabilmente fibra non importante
- In BatchProcessNew, quando si crea la barra, il paraemtro FlipRot dipende dal BEAM.FLAG == 10
2026-04-03 16:13:15 +02:00
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