Compare commits

..

156 Commits

Author SHA1 Message Date
Nicola Pievani 148d11419e Correzione avvio MachiningDBWindow 2025-05-23 11:01:29 +02:00
Nicola Pievani 8c55f56d84 Merge commit '7e323827de1293d4c61395540df742856400f92b' into Features/3D_In_VeinMatch 2025-04-16 08:49:44 +02:00
Daniele Bariletti 94c11d1ace - piccole correzioni. 2025-02-27 11:39:33 +01:00
Nicola Pievani 70bd114e32 Gestione importazione progetto da EgtSTONE3D 2025-02-10 11:10:53 +01:00
Daniele Bariletti 4201c606ae - piccole correzioni e aggiunta commenti. 2025-01-23 08:57:17 +01:00
Daniele Bariletti f4d00d6ecb -modifica alle opzioni di pair. 2025-01-03 16:37:36 +01:00
Daniele Bariletti 3b00162276 piccole correzioni. 2025-01-02 16:47:14 +01:00
Daniele Bariletti 58576517f0 - creazione automatica dei solidi, se non presenti, durante l'assemblaggio automatico. 2024-12-20 17:51:49 +01:00
Daniele Bariletti 9365ce47d8 Merge branch 'Features/3D_In_VeinMatch' of https://gitlab.steamware.net/egalware-cadcam/interfacce/omagoffice into Features/3D_In_VeinMatch 2024-12-09 15:45:57 +01:00
Daniele Bariletti 8e947039d6 - pulizia codice. 2024-12-09 15:45:51 +01:00
Nicola Pievani 60114f5654 Correzione gestione UpdateView 2024-12-09 13:45:55 +01:00
Nicola Pievani 368a44f7e0 Merge branch 'Features/3D_In_VeinMatch' of https://gitlab.steamware.net/egaltech/omagoffice into Features/3D_In_VeinMatch 2024-12-09 12:19:18 +01:00
Nicola Pievani b4f53198cd Cambio versione 2024-12-09 12:19:09 +01:00
Daniele Bariletti d2e260a91a - modificata la finestra in custom window e aggiunta la titlebar che permette il drag
- gestiti i popup alla chiusura della finestra VeinMatching.
2024-12-02 11:41:32 +01:00
Daniele Bariletti bbd06bb345 Cabinet:
- gestione del passaggio da parametrico a parcheggio.
2024-11-28 11:15:11 +01:00
Daniele Bariletti 42d1ecfa80 VeinMatch:
- cambio variabile da CMP a SLD
- aggiornamento paired allo start
- aggiornamento tree
2024-11-28 11:13:28 +01:00
Daniele Bariletti 1a00df7849 colleati imovimenti della finestra veinMatch ai suoi pop up. 2024-11-22 08:55:06 +01:00
Daniele Bariletti d02d021e33 gestione dell'import di modelli 3D 2024-11-20 17:23:23 +01:00
Daniele Bariletti 20e33435cd piccola correzione 2024-11-19 16:19:25 +01:00
Daniele Bariletti 9ad947761e - aggiunta la finestra per la guida nell'accoppiamento. 2024-11-18 16:06:34 +01:00
Daniele Bariletti 3761ca827e - rinominate e riorganizzate le finestre per inserimento dati. 2024-11-18 10:32:47 +01:00
Daniele Bariletti 1b41f01612 - aggiunte le finestre per inserimento dati per la rotazione e per la creazione solidi
- riattivate le modalità di esplodi e collassa.
2024-11-12 17:01:56 +01:00
Daniele Bariletti ab8e296b15 modificate le immagini dei bottoni explode e collapse. 2024-11-12 17:00:54 +01:00
Daniele Bariletti 3c11425370 - aggiunto il comando PairAll. 2024-11-08 15:23:20 +01:00
Nicola Pievani 539d0c6443 Configurazione file 3D 2024-11-06 10:40:00 +01:00
Daniele Bariletti acee8d5b7d - aggiunta terna locale
- piccola modifica agli assi della terna per la rotazione.
2024-10-23 17:32:54 +02:00
Daniele Bariletti 347c3ab23c - migliorata gestione dei mark durante l'accoppiamento
- migliorata gestione dei reset
 - aggiunta la barra spaziatrice per ripetere l'ultima operazione
2024-10-23 12:19:35 +02:00
Daniele Bariletti 5be900b925 - correzioni all'unpair - correzioni alla compilazione dell'AssLog 2024-10-22 16:17:03 +02:00
Daniele Bariletti 7f57ee8f58 correzione e integrazione delle chiamate alla funzioni nel LUA. 2024-10-22 11:18:57 +02:00
Daniele Bariletti fe2155bbe6 aggiunta chiamate al Lua che effettua tutte le operazioni con i part. 2024-10-17 18:09:35 +02:00
Daniele Bariletti 21cf1802b8 correzione nella gestione dell'unpair 2024-10-16 10:01:17 +02:00
Daniele Bariletti bbcd12669e esternalizzati i metodi del PartSolid alla finestra VeinMatch. 2024-10-16 10:00:49 +02:00
Daniele Bariletti 3dc21c390a le funzioni di pair ora richiamano il LUA e non lavorano nel VB ( esclusa la parte di interfaccia). 2024-10-14 10:10:53 +02:00
Daniele Bariletti e479d861f6 Merge branch 'Features/3D_In_VeinMatch' of https://gitlab.steamware.net/egalware-cadcam/interfacce/omagoffice into Features/3D_In_VeinMatch 2024-10-10 11:00:37 +02:00
Daniele Bariletti 69c27fc6b8 aggiunta log 2024-10-10 11:00:31 +02:00
Nicola Pievani 351fec507c Merge branch 'Features/3D_In_VeinMatch' of https://gitlab.steamware.net/egaltech/omagoffice into Features/3D_In_VeinMatch 2024-10-09 19:37:44 +02:00
Nicola Pievani 755413c69a Merge commit 'e01ee20b48ba4adec90fb68ad9804161cddf271e' into Features/3D_In_VeinMatch 2024-10-09 19:37:29 +02:00
Daniele Bariletti c21c2723f7 pulizia del codice 2024-10-09 18:01:31 +02:00
Daniele Bariletti 022c73e16d Correzioni alla gestione dei gruppi di accoppiati. 2024-10-09 12:38:13 +02:00
Daniele Bariletti 9aa245a029 aggiustata la lettura delle impostazioni di accoppiamento. 2024-10-09 09:20:32 +02:00
Daniele Bariletti d60b377098 Merge branch 'Features/3D_In_VeinMatch' of https://gitlab.steamware.net/egalware-cadcam/interfacce/omagoffice into Features/3D_In_VeinMatch 2024-10-07 10:54:08 +02:00
Daniele Bariletti d91d526c1d - correzione bug nel Pair e nel Rotate
- aggiunta gestione cambio automatico del mouse over type
- migliorata gestione Move.
2024-10-07 10:54:03 +02:00
Nicola Pievani 9a74fa0be5 Merge branch 'Features/3D_In_VeinMatch' of https://gitlab.steamware.net/egaltech/omagoffice into Features/3D_In_VeinMatch 2024-10-03 14:30:57 +02:00
Nicola Pievani c36d4677b7 Mark degli elementi misura 2024-10-03 14:27:41 +02:00
Daniele Bariletti c727ef5d88 corretta la gestione delle temp transf e del max apporach. 2024-10-03 09:32:23 +02:00
Daniele Bariletti 0770d280c6 corretta la gestione delle tempTransf di un PartSolid 2024-10-02 12:22:46 +02:00
Nicola Pievani 0c5b7c17a9 Merge branch 'Features/3D_In_VeinMatch' of https://gitlab.steamware.net/egaltech/omagoffice into Features/3D_In_VeinMatch 2024-10-01 11:09:12 +02:00
Nicola Pievani 56f417adbf Preview Linea/Arco/Faccia/Surf 2024-10-01 11:08:57 +02:00
Daniele Bariletti 4c9869a49b - riattivato pulsante disaccoppia. 2024-09-26 10:27:59 +02:00
Nicola Pievani 2e08452644 Correzione Layer terna 2024-09-26 09:59:26 +02:00
Nicola Pievani eda6fbc1b3 Merge branch 'Features/3D_In_VeinMatch' of https://gitlab.steamware.net/egaltech/omagoffice into Features/3D_In_VeinMatch 2024-09-25 12:29:08 +02:00
Nicola Pievani ace652933b Correzione visualizzazione pezzi in parcheggio VeinMatch3D 2024-09-25 12:28:59 +02:00
Daniele Bariletti 5652301a92 Merge branch 'Features/3D_In_VeinMatch' of https://gitlab.steamware.net/egalware-cadcam/interfacce/omagoffice into Features/3D_In_VeinMatch 2024-09-25 12:28:57 +02:00
Daniele Bariletti a9888bb1b1 -migliorata stabilità
- aggiunta gestione nuovi pezzi che vengono aggiunti alla part solid list.
2024-09-25 12:28:51 +02:00
Nicola Pievani b1e7bc6a3f Aggiornamento versione 2024-09-23 17:57:12 +02:00
Nicola Pievani 490f78c4fa Merge branch 'Features/3D_In_VeinMatch' of https://gitlab.steamware.net/egaltech/omagoffice into Features/3D_In_VeinMatch 2024-09-23 16:18:37 +02:00
Nicola Pievani 61d124aff6 Aggiunta chiave di protezione VeinMatch3D 2024-09-23 16:18:30 +02:00
Daniele Bariletti bdb0fb9de5 - rinominata funzione per gestire esc e enter. 2024-09-23 12:42:01 +02:00
Daniele Bariletti b904d142e3 - migliorata robustezza sulle chiamate dei reset e undo
- migliorata la gestione dei messaggi di istruzione dei comandi( textbox in basso).
2024-09-23 12:23:04 +02:00
Daniele Bariletti b666f2d38f - aggiunta gestione dello spessore da inserimento in una text box da parte dell'utente. 2024-09-20 17:38:01 +02:00
Daniele Bariletti 65820fab0a - aggiunti messaggi
- aggiunta gestione attivazione tasti
- migliorata stabilità
- corretti errori.
2024-09-20 16:00:46 +02:00
Daniele Bariletti 18c81e6fb4 - aggiunta l'icona per il pulsante reset
- aggiunti messaggi di istruzione per l'uso dei comandi
- aggiunta gestione dell'attivazione e disattivazione dei pulsanti.
2024-09-20 09:01:31 +02:00
Daniele Bariletti 6fee3f3242 Merge branch 'Features/3D_In_VeinMatch' of https://gitlab.steamware.net/egalware-cadcam/interfacce/omagoffice into Features/3D_In_VeinMatch 2024-09-19 15:13:35 +02:00
Daniele Bariletti 35a4088ad9 modifica minore. 2024-09-19 15:13:30 +02:00
Nicola Pievani 0257ac21da Merge branch 'Features/3D_In_VeinMatch' of https://gitlab.steamware.net/egaltech/omagoffice into Features/3D_In_VeinMatch 2024-09-19 14:55:54 +02:00
Nicola Pievani 2f2ec3c307 Inserito Bit di sicurezza 2^24 per VeinMatch3D 2024-09-19 14:55:36 +02:00
Daniele Bariletti 04cd660411 Aggiunte icone per i pulsanti del VeinMatch3d. 2024-09-19 14:52:49 +02:00
Nicola Pievani cd7e441980 Merge commit 'd01225cd6e114e2741f3b96ed6decab486030ad4' into Features/3D_In_VeinMatch 2024-09-18 14:44:23 +02:00
Daniele Bariletti 394322237c - piccole correzioni e commenti 2024-01-22 14:46:22 +01:00
Daniele Bariletti 1a3b7b6b1f - corretto lo'undo/redo
- corretti errori nella fase di creazione dei
PartSolid in un nuovo .vme e caricamento di un .vme con accoppiamenti
salvati.
2024-01-22 08:59:19 +01:00
Daniele Bariletti c2671d5fc7 Merge branch 'Features/3D_In_VeinMatch' of https://gitlab.steamware.net/egalware-cadcam/interfacce/omagoffice into Features/3D_In_VeinMatch 2024-01-19 14:49:09 +01:00
Daniele Bariletti 61d997a785 - aggiunti i comandi per la selezione multipla
- il caricamento dei file recupera le info di accoppiamento nei .vme
2024-01-19 14:49:03 +01:00
Nicola Pievani d61c1b1375 Gestione spessore in fase di creazione pezzo singolo 2024-01-17 19:35:56 +01:00
Nicola Pievani 2d5ffda589 Merge branch 'Features/3D_In_VeinMatch' of https://gitlab.steamware.net/egaltech/omagoffice into Features/3D_In_VeinMatch 2024-01-17 12:29:06 +01:00
Nicola Pievani 97b1c3d48f - aggiunta gestione assi della terna per rotazione
- aggiunta gestione degli import per il pair.
2024-01-17 12:29:01 +01:00
Daniele Bariletti 60fab0ef18 - piccola correzione. 2024-01-17 11:37:58 +01:00
Daniele Bariletti 35e33faaf7 Merge branch 'Features/3D_In_VeinMatch' of https://gitlab.steamware.net/egalware-cadcam/interfacce/omagoffice into Features/3D_In_VeinMatch 2024-01-17 11:34:18 +01:00
Daniele Bariletti 4caa772e0f - migliorie a rotazione
- migliorie ad accoppia.
2024-01-17 11:34:09 +01:00
Nicola Pievani 29f92f07db Merge branch 'Features/3D_In_VeinMatch' of https://gitlab.steamware.net/egaltech/omagoffice into Features/3D_In_VeinMatch 2024-01-16 15:39:02 +01:00
Nicola Pievani 7b04ea7606 Assi rotazione da terna 2024-01-16 15:38:57 +01:00
Daniele Bariletti cdf2ae682b Merge branch 'Features/3D_In_VeinMatch' of https://gitlab.steamware.net/egalware-cadcam/interfacce/omagoffice into Features/3D_In_VeinMatch 2024-01-16 15:36:30 +01:00
Daniele Bariletti 9987f3a723 - supportata anche le operazioni di accoppiamento e
disaccoppiamento con undo/redo.
2024-01-16 15:35:26 +01:00
Nicola Pievani a3475d7b64 Merge branch 'Features/3D_In_VeinMatch' of https://gitlab.steamware.net/egaltech/omagoffice into Features/3D_In_VeinMatch 2024-01-16 10:53:43 +01:00
Nicola Pievani fb8be27836 Lettura spessore grezzo 2024-01-16 10:52:20 +01:00
Daniele Bariletti c7969e8c99 - aggiunto il move con coordinate definite
- MODIFICATA la linea del tempo: ora gli eventi sono salvati su una
linea del tempo globale.
2024-01-15 17:30:50 +01:00
Daniele Bariletti 63a56af98c - corretti errori nel salvataggio della storia delle
operazioni.
2024-01-15 12:06:09 +01:00
Daniele Bariletti 56220080fe Merge branch 'Features/3D_In_VeinMatch' of https://gitlab.steamware.net/egalware-cadcam/interfacce/omagoffice into Features/3D_In_VeinMatch 2024-01-12 16:59:52 +01:00
Daniele Bariletti fa8a68afd7 - corretta la funzione per mandare in battuta gli
oggetti.
2024-01-12 16:59:48 +01:00
Nicola Pievani 5f105ef28d Merge branch 'Features/3D_In_VeinMatch' of https://gitlab.steamware.net/egaltech/omagoffice into Features/3D_In_VeinMatch 2024-01-12 14:34:33 +01:00
Nicola Pievani e8e1a17892 Visualizzazione in Popup di TreeView 2024-01-12 14:31:04 +01:00
Daniele Bariletti 3c65017639 - aggiornato il sistema di gestione delle
informazioni degli accoppiati.
2024-01-12 12:03:24 +01:00
Nicola Pievani 605a877e5f Merge branch 'Features/3D_In_VeinMatch' of https://gitlab.steamware.net/egaltech/omagoffice into Features/3D_In_VeinMatch 2024-01-11 14:32:31 +01:00
Nicola Pievani 0319a3f15a Visualizzazione TreeView Gruppi/Part 2024-01-11 14:32:15 +01:00
Daniele Bariletti 9a71913b3e - rinominanti i bottoni
- corretti errori di undo/redo.
2024-01-11 13:15:50 +01:00
Daniele Bariletti 07ef7e61ed Merge branch 'Features/3D_In_VeinMatch' of https://gitlab.steamware.net/egalware-cadcam/interfacce/omagoffice into Features/3D_In_VeinMatch 2024-01-10 18:20:18 +01:00
Daniele Bariletti 96dd9bfa17 - migliorata selzione dei part dal tree. 2024-01-10 18:20:13 +01:00
Nicola Pievani 550955c8b6 Merge commit 'fcb754d4ef1b21eeca053468abef4123e9dfe76a' into Features/3D_In_VeinMatch 2024-01-10 17:57:23 +01:00
Daniele Bariletti fcb754d4ef - corretta selezione tra scena e tree. 2024-01-10 17:56:47 +01:00
Daniele Bariletti d27c645ad6 Merge branch 'Features/3D_In_VeinMatch' of https://gitlab.steamware.net/egalware-cadcam/interfacce/omagoffice into Features/3D_In_VeinMatch 2024-01-10 17:48:02 +01:00
Daniele Bariletti 9a330df724 - correzione del cambio tempo con undo/redo sui pezzi
accoppiati.
2024-01-10 17:47:58 +01:00
Nicola Pievani 6b2cf9346d Merge branch 'Features/3D_In_VeinMatch' of https://gitlab.steamware.net/egaltech/omagoffice into Features/3D_In_VeinMatch 2024-01-10 17:46:01 +01:00
Nicola Pievani c38e88a729 Gestione TreeView con StackPanel 2024-01-10 17:45:37 +01:00
Daniele Bariletti ec7abae0ee Merge branch 'Features/3D_In_VeinMatch' of https://gitlab.steamware.net/egalware-cadcam/interfacce/omagoffice into Features/3D_In_VeinMatch 2024-01-10 16:20:15 +01:00
Daniele Bariletti 36c4c56bd1 - aggiunte operazioni sui gruppi di oggetti
accoppiati.
2024-01-10 16:20:00 +01:00
Nicola Pievani f36888b7ad Merge commit '78e46c5fcf1d8124678b7e97526dfda5525dea47' into Features/3D_In_VeinMatch 2024-01-10 12:56:08 +01:00
Daniele Bariletti 78e46c5fcf Merge branch 'Features/3D_In_VeinMatch' of https://gitlab.steamware.net/egalware-cadcam/interfacce/omagoffice into Features/3D_In_VeinMatch 2024-01-10 12:49:00 +01:00
Daniele Bariletti 9cbf8ed37b - modifica al movimento degli accoppiati. 2024-01-10 12:48:52 +01:00
Nicola Pievani 88000451e7 Merge branch 'Features/3D_In_VeinMatch' of https://gitlab.steamware.net/egaltech/omagoffice into Features/3D_In_VeinMatch 2024-01-10 12:38:02 +01:00
Nicola Pievani 810e312edd Aggiunta immagine per TreeView 3D 2024-01-10 12:37:54 +01:00
Daniele Bariletti 7c3a82dc94 - migliorata funzionalità di undo/redo
- migliorato treeview
- migliorie varie.
2024-01-10 10:35:01 +01:00
Demetrio Cassarino c0dd6313ae aggiornamento bottoni interfaccia 2023-12-22 17:35:06 +01:00
Demetrio Cassarino a3db3dded0 Merge branch 'Features/3D_In_VeinMatch' of https://gitlab.steamware.net/egalware-cadcam/interfacce/omagoffice into Features/3D_In_VeinMatch 2023-12-22 17:09:24 +01:00
Demetrio Cassarino 2cb8e0fc6e Modifica interfaccia veinmaching 2023-12-22 17:05:24 +01:00
Daniele Bariletti 39ae2c5d5b - aggiunti i pulsanti undo e redo
- migliorata la stabilità.
2023-12-21 18:09:09 +01:00
Nicola Pievani 8615cebfae Merge branch 'Features/3D_In_VeinMatch' of https://gitlab.steamware.net/egaltech/omagoffice into Features/3D_In_VeinMatch 2023-12-20 18:00:25 +01:00
Nicola Pievani 344103329a Creazione TreeView per pagina VeinMatch 2023-12-20 17:59:59 +01:00
Daniele Bariletti df48b9ec51 - aggiunto lo spostamento e la rotazione
collettiva dei pezzi accoppiati.
2023-12-20 15:38:39 +01:00
Daniele Bariletti 3c1c763235 - aggiunto controllo delle inters durante il drag. 2023-12-20 11:16:47 +01:00
Daniele Bariletti 1153473478 piccole correzioni 2023-12-19 17:42:41 +01:00
Daniele Bariletti bb6be4df18 Merge branch 'Features/3D_In_VeinMatch' of https://gitlab.steamware.net/egalware-cadcam/interfacce/omagoffice into Features/3D_In_VeinMatch 2023-12-19 17:04:32 +01:00
Daniele Bariletti 95b9043610 - aggiunto il reset del comando accoppia 2023-12-19 17:01:55 +01:00
Nicola Pievani 01b9708030 Merge branch 'Features/3D_In_VeinMatch' of https://gitlab.steamware.net/egaltech/omagoffice into Features/3D_In_VeinMatch 2023-12-19 15:41:01 +01:00
Nicola Pievani 02075e7f1f Import *.nge e CTRL per gestione rotazione 2023-12-19 15:40:41 +01:00
Daniele Bariletti d31805571f - ultime modifiche a inters. 2023-12-19 12:39:33 +01:00
Nicola Pievani 800b071c47 Merge commit '06248bee99b402e5ff425350429eecdf2b2b5f34' into Features/3D_In_VeinMatch 2023-12-15 15:35:57 +01:00
Daniele Bariletti 06248bee99 - corretti errori minori
- escluso l'inters
2023-12-15 15:33:02 +01:00
Nicola Pievani 46d2869dbc Inseriti alcuni controlli se esitono gli oggetti 2023-12-14 19:47:19 +01:00
Nicola Pievani a80cdca1ae Merge remote-tracking branch 'origin/Features/3D_In_VeinMatch' into Features/3D_In_VeinMatch 2023-12-14 17:43:44 +01:00
Daniele Bariletti 8dd2e496d3 Merge branch 'Features/3D_In_VeinMatch' of https://gitlab.steamware.net/egalware-cadcam/interfacce/omagoffice into Features/3D_In_VeinMatch 2023-12-14 17:42:56 +01:00
Daniele Bariletti f0136590e5 senza inters 2023-12-14 17:42:50 +01:00
Nicola Pievani 97a6ba6ba9 Merge commit '809ac5f44f9fdee267da42635773108bb53b6e35' into Features/3D_In_VeinMatch 2023-12-14 17:20:26 +01:00
Daniele Bariletti 809ac5f44f Merge branch 'Features/3D_In_VeinMatch' of https://gitlab.steamware.net/egalware-cadcam/interfacce/omagoffice into Features/3D_In_VeinMatch 2023-12-14 17:19:16 +01:00
Daniele Bariletti fba6ff3b0a piccole correzioni 2023-12-14 17:19:02 +01:00
Nicola Pievani 7ca1d96be9 Merge commit '23bb701c4dfbe8f773bf4ad2318a755cb15284b2' into Features/3D_In_VeinMatch 2023-12-14 14:42:50 +01:00
Daniele Bariletti 23bb701c4d Merge branch 'Features/3D_In_VeinMatch' of https://gitlab.steamware.net/egalware-cadcam/interfacce/omagoffice into Features/3D_In_VeinMatch 2023-12-14 14:41:53 +01:00
Daniele Bariletti b928234c54 - migliorato l'accoppia
- migliorie varie.
2023-12-14 14:41:48 +01:00
Nicola Pievani e20f5d436b Merge branch 'Features/3D_In_VeinMatch' of https://gitlab.steamware.net/egaltech/omagoffice into Features/3D_In_VeinMatch 2023-12-14 11:17:40 +01:00
Nicola Pievani a77eb82602 Esplodi lungo le normali 2023-12-14 11:17:06 +01:00
Daniele Bariletti 4dc4fdc03b Merge branch 'Features/3D_In_VeinMatch' of https://gitlab.steamware.net/egalware-cadcam/interfacce/omagoffice into Features/3D_In_VeinMatch 2023-12-13 18:33:07 +01:00
Daniele Bariletti 8b8b977249 correzione a rotazione 2023-12-13 18:31:40 +01:00
Nicola Pievani 58fa9c3fd0 Esplodi Assemblato 2023-12-13 18:30:30 +01:00
Daniele Bariletti 7f3d43d1f3 aggiunta modalità misura 2023-12-13 12:09:37 +01:00
Nicola Pievani 7717f20a90 Merge remote-tracking branch 'origin/Features/3D_In_VeinMatch' into Features/3D_In_VeinMatch 2023-12-13 10:27:30 +01:00
Nicola Pievani 51ac26321e Cambio cartelle 2023-12-13 10:20:50 +01:00
Daniele Bariletti b27b35562b cambio cartella 2023-12-13 09:52:22 +01:00
Daniele Bariletti 4b877300c4 Merge branch 'Features/3D_In_VeinMatch' of https://gitlab.steamware.net/egalware-cadcam/interfacce/omagoffice into Features/3D_In_VeinMatch 2023-12-13 08:54:47 +01:00
Daniele Bariletti ec31948608 - accoppia interattivo 2023-12-13 08:54:43 +01:00
Nicola Pievani 1acf2ae4ca Migliorata grafica comandi 2023-12-12 20:18:22 +01:00
Daniele Bariletti 4f8daff0ce - aggiunta terna per traslazione e rotazione. 2023-12-12 14:52:56 +01:00
Daniele Bariletti 0f1c20ec54 - aggiunto comando per accoppiamento
- ottimizzato il codice.
2023-12-12 10:11:48 +01:00
Daniele Bariletti e327f28626 - aggiunto comando per la rotazione
- ottimizzato il codice per la creazione dei solidi
2023-12-07 08:53:50 +01:00
Daniele Bariletti afd63363c5 Merge branch 'Features/3D_In_VeinMatch' of https://gitlab.steamware.net/egalware-cadcam/interfacce/omagoffice into Features/3D_In_VeinMatch 2023-12-05 18:44:40 +01:00
Daniele Bariletti 7309fc9959 Inserimento texture sul solido 2023-12-05 18:44:32 +01:00
Nicola Pievani ef5578a3ba Gestione sfondo ComboBoxList 2023-12-05 16:26:28 +01:00
Nicola Pievani b45bda985e Correzione esecuzione file LUA 3d 2023-12-04 16:35:05 +01:00
Nicola Pievani a84b27ca8c Inizio gestione comandi 3D 2023-12-04 13:00:10 +01:00
79 changed files with 9252 additions and 4049 deletions
@@ -295,6 +295,8 @@ Public Class CompoManagerVM
If Not CompoWindowMap.refCompoWindowVM.m_bDrawOk Then
Return
End If
' per il CABINET ridisegno le figure piane e non creo i solidi
CompoWindowMap.refCompoWindowVM.UpdateViewForCabinet()
' Leggo numero di pezzi da inserire
Dim InsNbr As Integer
StringToInt(m_PartNum, InsNbr)
+25 -7
View File
@@ -144,9 +144,10 @@ Public Class CompoWindowVM
#Region "METHODS"
Friend Function MakePreview(ByRef sMsg As String) As Boolean
Friend Function MakePreview(ByRef sMsg As String, Optional bDrawSolid As Boolean = True) As Boolean
EgtLuaSetGlobBoolVar("CMP.DrawSolid", bDrawSolid)
If Not EgtLuaExecLine(LUA_CMP_DRAW & "(true)") Then
sMsg = EgtMsg(91689) ' Error in component execution
sMsg = "Error in component execution"
m_bDrawOk = False
Else
EgtLuaGetGlobStringVar(LUA_CMP_VARS & ".MSG", sMsg)
@@ -170,20 +171,32 @@ Public Class CompoWindowVM
Return EgtLuaExecFile(sPath)
End Function
Friend Sub UpdateView()
Friend Sub UpdateView(Optional bDrawSolid As Boolean = True)
' verifico ci sia un componente corrente
If IsNothing(m_SelCompo) Then
Return
End If
' aggiorno le variabili dalla griglia
CompoWindowMap.refCompoParamPageVM.UpdateVariables()
Dim bResetView As Boolean = True
EgtLuaGetGlobBoolVar("CMP.ResetView", bResetView)
' ricalcolo il disegno
Dim sMsg As String = String.Empty
MakePreview(sMsg)
MakePreview(sMsg, bDrawSolid)
CompoWindowMap.refCompoParamPageVM.SetOutputMessage(sMsg, If(m_bDrawOk, MSG_TYPE.INFO, MSG_TYPE.ERROR_))
' aggiorno visualizzazione
EgtSetView(VT.TOP, False)
EgtZoom(ZM.ALL)
If bResetView Then
EgtSetView(VT.TOP, False)
EgtZoom(ZM.ALL)
Else
EgtDraw()
End If
End Sub
Friend Sub UpdateViewForCabinet(Optional bDrawSolid As Boolean = True)
Dim bIsCabinet As Boolean = False
EgtLuaGetGlobBoolVar("CMP.IsCabinet", bIsCabinet)
If bIsCabinet Then UpdateView(False)
End Sub
Friend Function MakeInsert(ByVal nNbr As Integer, sName As String) As Boolean
@@ -366,7 +379,8 @@ Public Class CompoWindowVM
' identificativo univoico del gruppo di pezzi, se più di un pezzo
Dim sGUICode As String = String.Empty
' cancello eventuale layer delle etichette e dimensioni
EgtErase(EgtGetFirstNameInGroup(GDB_ID.ROOT, "Dimensions"))
While Pz <> -1
' imposto il contesto corrente
EgtSetCurrentContext(CompoWindowMap.refCompoSceneHostV.CompoScene.GetCtx())
@@ -380,6 +394,10 @@ Public Class CompoWindowVM
EgtErase(EgtGetFirstNameInGroup(Pz, "Etichette"))
EgtErase(EgtGetFirstNameInGroup(Pz, "Quotature"))
EgtErase(EgtGetFirstNameInGroup(Pz, "Box"))
' elimino il solido corrispondente
Dim nChild As Integer = GDB_ID.NULL
EgtGetInfo(Pz, "Child", nChild)
EgtErase(nChild)
' Cancello layer etichette dei componenti interni (buchi)
Dim nHLId As Integer = EgtGetFirstNameInGroup(Pz, "HoleLabels")
+4 -2
View File
@@ -48,6 +48,10 @@ Module ConstGen
ENABLE_POLISHING = CUInt(2 ^ 18) ' 262144
OFFICE_TYPE = CUInt(2 ^ 19) ' 524288 - Solo per OmagCUT
REGISTRATION = CUInt(2 ^ 20) ' 1048576 - Solo per OmagCUT
' ---
' ---
' ---
VEIN_MATCH_3D = CInt(2 ^ 24) ' 16777216 - Solo per OmagOFFICE
End Enum
' File di log generale
@@ -77,7 +81,5 @@ Module ConstGen
Public Const SETUP_LUA As String = "SetUp.lua"
' Sottodirettorio per BackUp
Public Const BACKUP_DIR As String = "BackUp"
' Info per rotazione in registrazione grezzo
Public Const INFO_REGROT As String = "RegRot"
End Module
-1
View File
@@ -97,7 +97,6 @@ Module ConstIni
Public Const S_SIDES As String = "Sides"
Public Const K_MAXSIDEANGLE As String = "MaxSideAngle"
Public Const K_SIZEALWAYSONTOP As String = "SizeAlwaysOnTop"
Public Const K_PARSIDE_AS_TRF As String = "ParSideAsTrf"
Public Const K_SIDEANGLE As String = "SideAngle"
Public Const K_DELTA_ANG_TG As String = "DeltaAngTg"
+33 -18
View File
@@ -15,6 +15,9 @@ Public Class DxfImportWindowVM
Private m_nFileType As Integer = FT.NULL
Private m_bEnableTrf As Boolean = False
' in "LoadCurrFile" imposto il valore del parametro per import nge
Private bImportSTD As Boolean = True
Private m_sCad2dName As String
Private m_sCad2dPath As String
@@ -707,13 +710,23 @@ Public Class DxfImportWindowVM
EgtScale(GDB_ID.SEL, Frame3d.GLOB, 1, 1, 0)
EgtDeselectAll()
Case FT.NGE
' Carico Nge
If Not EgtOpenFile(m_sFilePath) Then Return False
' Filtro Nge
EstProject.FilterNge()
Case FT_TRF
' Carico Trf
If Not ImportTrf(m_sFilePath) Then Return False
' Carico Nge
If Not EgtOpenFile(m_sFilePath) Then Return False
bImportSTD = True
' Leggo nel file se il progetto arriva dal programma EgtSTONE3D -> bImportSTD = False
Dim idGroupStone As Integer = GDB_ID.NULL
idGroupStone = EgtGetFirstNameInGroup(GDB_ID.ROOT, "EgtStone3D")
If idGroupStone <> GDB_ID.NULL Then
bImportSTD = False
EgtErase(idGroupStone)
End If
' Filtro Nge SOLO se importazione STANDARD
If bImportSTD Then
EstProject.FilterNge()
End If
Case FT_TRF
' Carico Trf
If Not ImportTrf(m_sFilePath) Then Return False
Case Else
Return False
End Select
@@ -1075,18 +1088,20 @@ Public Class DxfImportWindowVM
Public Sub UseRegion(ByVal param As Object)
' Creo i pezzi
Dim nType As Integer = If(m_nFileType = FT.NGE, FPC_TYPE.NGE, FPC_TYPE.REGION)
Dim dToler As Double = GetPrivateProfileDouble(S_FLATPARTS, K_FLPTOLERANCE, 0.1, IniFile.m_sIniFile)
EgtCreateAdjustFlatParts(nType, dToler)
' Se prevista gestione colore->angolo di fianco
If GetPrivateProfileInt(S_COLORTOSIDEANG, K_CTSA_ENABLE, 0, IniFile.m_sIniFile) <> 0 Then
SideEntityControlVM.ColorToSideAngle(DxfImportWindowMap.refDxfImportSceneHostV.ImportDxfScene.GetCtx())
If bImportSTD Then
Dim nType As Integer = If(m_nFileType = FT.NGE, FPC_TYPE.NGE, FPC_TYPE.REGION)
Dim dToler As Double = GetPrivateProfileDouble(S_FLATPARTS, K_FLPTOLERANCE, 0.1, IniFile.m_sIniFile)
EgtCreateAdjustFlatParts(nType, dToler)
' Se prevista gestione colore->angolo di fianco
If GetPrivateProfileInt(S_COLORTOSIDEANG, K_CTSA_ENABLE, 0, IniFile.m_sIniFile) <> 0 Then
SideEntityControlVM.ColorToSideAngle(DxfImportWindowMap.refDxfImportSceneHostV.ImportDxfScene.GetCtx())
End If
' Se prevista gestione colore->incisioni
If GetPrivateProfileInt(S_COLORTOENGRAVE, K_CTE_ENABLE, 0, IniFile.m_sIniFile) <> 0 Then
SideEntityControlVM.ColorToEngrave(DxfImportWindowMap.refDxfImportSceneHostV.ImportDxfScene.GetCtx())
End If
ColorRegion(DxfImportWindowMap.refDxfImportSceneHostV.ImportDxfScene.GetCtx())
End If
' Se prevista gestione colore->incisioni
If GetPrivateProfileInt(S_COLORTOENGRAVE, K_CTE_ENABLE, 0, IniFile.m_sIniFile) <> 0 Then
SideEntityControlVM.ColorToEngrave(DxfImportWindowMap.refDxfImportSceneHostV.ImportDxfScene.GetCtx())
End If
ColorRegion(DxfImportWindowMap.refDxfImportSceneHostV.ImportDxfScene.GetCtx())
' Eseguo zoom
EgtZoom(ZM.ALL)
' disabilito bottoni UseLayer e UseRegion, abilito bottoni Reset e Insert
+31 -48
View File
@@ -1,6 +1,5 @@
Imports System.Security.Cryptography
Imports EgtUILib
Imports EgtWPFLib5
Friend Module CamAuto
@@ -26,12 +25,9 @@ Friend Module CamAuto
bOk = bOk AndAlso EgtLuaCallFunction("CAM.Add")
EgtLuaGetGlobIntVar("CAM.ERR", nErr)
EgtLuaResetGlobVar("CAM")
If nErr > 0 Then
If nErr <> 0 Then
bOk = False
EgtOutLog("Error in CamAuto : " & nErr.ToString())
ElseIf nErr < 0 Then
EgtOutLog("Warning in CamAuto : " & nErr.ToString())
OmagOFFICEMap.refStatusBarVM.SetOutputMessage(EgtMsg(91017), MSG_TYPE.WARNING)
End If
ResetOrderMachiningFlag()
Return bOk
@@ -47,12 +43,9 @@ Friend Module CamAuto
bOk = bOk AndAlso EgtLuaCallFunction("CAM.AddWaterJet")
EgtLuaGetGlobIntVar("CAM.ERR", nErr)
EgtLuaResetGlobVar("CAM")
If nErr > 0 Then
If nErr <> 0 Then
bOk = False
EgtOutLog("Error in CamAuto : " & nErr.ToString())
' m_MainWindow.m_CurrentProjectPageUC.ClearMessage()
ElseIf nErr < 0 Then
EgtOutLog("Warning in CamAuto : " & nErr.ToString())
End If
Return bOk
End Function
@@ -70,11 +63,9 @@ Friend Module CamAuto
bOk = bOk AndAlso EgtLuaCallFunction("CAM.AddWaterJets")
EgtLuaGetGlobIntVar("CAM.ERR", nErr)
EgtLuaResetGlobVar("CAM")
If nErr > 0 Then
If nErr <> 0 Then
bOk = False
EgtOutLog("Error in CamAuto : " & nErr.ToString())
ElseIf nErr < 0 Then
EgtOutLog("Warning in CamAuto : " & nErr.ToString())
End If
Return bOk
End Function
@@ -88,11 +79,9 @@ Friend Module CamAuto
bOk = bOk AndAlso EgtLuaCallFunction("CAM.Erase")
EgtLuaGetGlobIntVar("CAM.ERR", nErr)
EgtLuaResetGlobVar("CAM")
If nErr > 0 Then
If nErr <> 0 Then
bOk = False
EgtOutLog("Error in CamAuto : " & nErr.ToString())
ElseIf nErr < 0 Then
EgtOutLog("Warning in CamAuto : " & nErr.ToString())
End If
ResetOrderMachiningFlag()
Return bOk
@@ -107,11 +96,9 @@ Friend Module CamAuto
bOk = bOk AndAlso EgtLuaCallFunction("CAM.InvertVerticalCut")
EgtLuaGetGlobIntVar("CAM.ERR", nErr)
EgtLuaResetGlobVar("CAM")
If nErr > 0 Then
If nErr <> 0 Then
bOk = False
EgtOutLog("Error in CamAuto : " & nErr.ToString())
ElseIf nErr < 0 Then
EgtOutLog("Warning in CamAuto : " & nErr.ToString())
End If
Return bOk
End Function
@@ -122,7 +109,6 @@ Friend Module CamAuto
End Function
Friend Function ResetAllMachinings(ByRef nWarn As Integer) As Boolean
EgtOutLog(" ++ ReserAllMachining ++ ")
' Cancello tutte le lavorazioni
EraseMachinings(GDB_ID.NULL)
' Reinserisco tutte le lavorazioni piane (non sono previste le lavorazioni delle cornici)
@@ -307,11 +293,9 @@ Friend Module CamAuto
bOk = bOk AndAlso EgtLuaCallFunction("CAM.UpdateAllTp")
EgtLuaGetGlobIntVar("CAM.ERR", nErr)
EgtLuaResetGlobVar("CAM")
If nErr > 0 Then
If nErr <> 0 Then
bOk = False
EgtOutLog("Error in CamAuto : " & nErr.ToString())
ElseIf nErr < 0 Then
EgtOutLog("Warning in CamAuto : " & nErr.ToString())
End If
Return bOk
End Function
@@ -325,11 +309,9 @@ Friend Module CamAuto
bOk = bOk AndAlso EgtLuaCallFunction("CAM.Sort")
EgtLuaGetGlobIntVar("CAM.ERR", nErr)
EgtLuaResetGlobVar("CAM")
If nErr > 0 Then
If nErr <> 0 Then
bOk = False
EgtOutLog("Error in CamAuto : " & nErr.ToString())
ElseIf nErr < 0 Then
EgtOutLog("Warning in CamAuto : " & nErr.ToString())
End If
Return bOk
End Function
@@ -344,11 +326,9 @@ Friend Module CamAuto
bOk = bOk AndAlso EgtLuaCallFunction("CAM.SpecApplyDisp")
EgtLuaGetGlobIntVar("CAM.ERR", nErr)
EgtLuaResetGlobVar("CAM")
If nErr > 0 Then
If nErr <> 0 Then
bOk = False
EgtOutLog("Error in CamAuto : " & nErr.ToString())
ElseIf nErr < 0 Then
EgtOutLog("Warning in CamAuto : " & nErr.ToString())
End If
If ResetOrderMachiningFlag() Then
ResetOrderMachiningFlag()
@@ -491,7 +471,6 @@ Friend Module CamAuto
Return EgtRemoveOperationHome(nId)
End Function
' DA AGGIORNARE PER CAMBIO UTENSILE LAMA
Friend Function VerifySetup(ByRef sMissingTools As String) As Boolean
Dim bOk As Boolean = True
Dim bIsMultiCut = (EgtGetHeadId("H101") <> GDB_ID.NULL)
@@ -903,7 +882,6 @@ Friend Module CamAuto
Private Function SetLuaStandardCamParams(Optional bDripOk As Boolean = True) As Boolean
Dim sMaterial As String = CurrentMachine.CurrMat.sName
Dim sSawMch As String = CurrentMachine.sCurrSawing
Dim sSawTiltedMch As String = CurrentMachine.sCurrSawingTilted
Dim sMillMch As String = CurrentMachine.sCurrMilling
Dim sDrillMch As String = CurrentMachine.sCurrDrilling
Dim sWaterJetMch As String = CurrentMachine.sCurrWaterJetting
@@ -921,7 +899,6 @@ Friend Module CamAuto
Dim dMillingShort As Double = GetPrivateProfileDouble(S_MACH_NEST, K_MACH_MILLING_SHORTENING, 0, CurrentMachine.sMachIniFile)
EgtLuaSetGlobStringVar("CAM.MATERIAL", sMaterial)
EgtLuaSetGlobStringVar("CAM.SAWMCH", sSawMch)
EgtLuaSetGlobStringVar("CAM.SAWTILTEDMCH", sSawTiltedMch)
EgtLuaSetGlobStringVar("CAM.MILLMCH", sMillMch)
EgtLuaSetGlobStringVar("CAM.DRILLMCH", sDrillMch)
EgtLuaSetGlobStringVar("CAM.WATERJETMCH", sWaterJetMch)
@@ -942,29 +919,24 @@ Friend Module CamAuto
Return True
End Function
' ver. 2.7f1
Friend Function GetTableCount() As Integer
If EgtGetTableId(MAIN_TAB) = GDB_ID.NULL Then Return 0
If EgtGetTableId(SECOND_TAB) = GDB_ID.NULL Then Return 1
If EgtGetTableId(THIRD_TAB) = GDB_ID.NULL Then Return 2
If EgtGetTableId(FORTH_TAB) = GDB_ID.NULL Then Return 3
Return 4
Return 3
End Function
Friend Function GetTableName(nInd As Integer) As String
If nInd = 1 Then Return MAIN_TAB
If nInd = 2 Then Return SECOND_TAB
If nInd = 3 Then Return THIRD_TAB
If nInd = 4 Then Return FORTH_TAB
Return ""
End Function
Friend Function GetCurrentTable() As Integer
Dim sTabName As String = MAIN_TAB
EgtGetTableName(sTabName)
If sTabName = FORTH_TAB Then
Return 4
ElseIf sTabName = THIRD_TAB Then
If sTabName = THIRD_TAB Then
Return 3
ElseIf sTabName = SECOND_TAB Then
Return 2
@@ -1003,6 +975,27 @@ Friend Module CamAuto
End If
End Function
Friend Function GetRawHeightFromPart(CurrIdPart As Integer, VeinCtx As Integer, MachCtx As Integer) As Double
Dim H As Double = 5
EgtSetCurrentContext(MachCtx)
Dim IdRaw As Integer = EgtGetFirstRawPart()
While IdRaw <> GDB_ID.NULL
Dim IdPart As Integer = EgtGetFirstPartInRawPart(IdRaw)
While IdPart <> GDB_ID.NULL
If IdPart = CurrIdPart Then
Dim ptRawMin, ptRawMax As Point3d
EgtGetRawPartBBox(GetCurrentRaw(), ptRawMin, ptRawMax)
EgtSetCurrentContext(VeinCtx)
Return ptRawMax.z - ptRawMin.z
End If
IdPart = EgtGetNextPartInRawPart(IdPart)
End While
IdRaw = EgtGetNextRawPart(IdRaw)
End While
EgtSetCurrentContext(VeinCtx)
Return H
End Function
Friend Function UpdateAllRawsZ(dDeltaZ As Double) As Boolean
For i As Integer = 1 To EgtGetPhaseCount()
EgtSetCurrPhase(i)
@@ -1444,14 +1437,4 @@ Friend Module CamAuto
Return EgtApplyMachining(False)
End Function
Friend Function GetRegistrationRotation() As Double
Dim dRegRot As Double = 0
EgtGetInfo(GetCurrentRaw(), INFO_REGROT, dRegRot)
Return dRegRot
End Function
Friend Function SetRegistrationRotation(dRegRot As Double) As Boolean
Return EgtSetInfo(GetCurrentRaw(), INFO_REGROT, dRegRot)
End Function
End Module
-2
View File
@@ -48,7 +48,6 @@ Module ConstMach
Public Const MAIN_TAB As String = "MainTab"
Public Const SECOND_TAB As String = "2ndTab"
Public Const THIRD_TAB As String = "3rdTab"
Public Const FORTH_TAB As String = "4thTab"
' Nome tavola ausiliaria per spostamento finale pezzi
Public Const AUX_TAB As String = "AuxTab"
@@ -167,7 +166,6 @@ Module ConstMach
' Info in entità da tagliare per affondamento
Public Const INFO_DEPTH As String = "Depth"
Public Const INFO_DEPTH2 As String = "Depth2"
Public Const INFO_AGG2 As String = "Agg2"
Public Const INFO_WIDTH As String = "Width"
' Info in entità da tagliare per taglio ristretto
Public Const INFO_STRICT As String = "Strict"
-3
View File
@@ -122,7 +122,6 @@
Public Const K_TAB2_ADDITIONALTABLE As String = "Tab2AdditionalTable"
Public Const K_TAB3_ADDITIONALTABLE As String = "Tab3AdditionalTable"
Public Const K_CENTER_RAW_ONX As String = "CenterRawOnX"
Public Const K_CHANGETABWD As String = "ChangeTabWD"
Public Const S_PHOTO As String = "Photo"
Public Const K_PHOTO_OFFSETX As String = "OffsetX"
@@ -241,7 +240,6 @@
Public Const S_MACH_MACH As String = "Mach"
Public Const K_CURRSAW As String = "CurrSaw"
Public Const K_CURRSAWTILTED As String = "CurrSawTilted"
Public Const K_CURRDRILL As String = "CurrDrill"
Public Const K_CURRMILL As String = "CurrMill"
Public Const K_CURRMILLNOTIP As String = "CurrMillNoTip"
@@ -249,7 +247,6 @@
Public Const K_CURRDRIPDRILL As String = "CurrDripDrill"
Public Const K_CURRWATERJET As String = "CurrWaterJet"
Public Const K_CURRSAWING As String = "CurrSawing"
Public Const K_CURRSAWINGTILTED As String = "CurrSawingTilted"
Public Const K_CURRSAWING_OFFICE As String = "CurrOfficeSawing"
Public Const K_CURRDRILLING As String = "CurrDrilling"
Public Const K_CURRDRILLING_OFFICE As String = "CurrOfficeDrilling"
-23
View File
@@ -107,7 +107,6 @@ Public Module CurrentMachine
' Variabili che contengono il nome degli utensili disponibili per tipo
Private m_sCurrSaw As String = String.Empty
Private m_sCurrSawTilted As String = String.Empty
Private m_sCurrDrill As String = String.Empty
Private m_sCurrMill As String = String.Empty
Private m_sCurrMillNoTip As String = String.Empty
@@ -117,7 +116,6 @@ Public Module CurrentMachine
' Variabili che contengono le lavorazioni correntemente attive (utilizzate per definire lavorazioni nel programma)
Private m_sCurrSawing As String = String.Empty
Private m_sCurrSawingTilted As String = String.Empty
Private m_sCurrDrilling As String = String.Empty
Private m_sCurrMilling As String = String.Empty
Private m_sCurrPocketing As String = String.Empty
@@ -733,18 +731,6 @@ Friend Property sCurrMillNoTip As String
End Set
End Property
Friend Property sCurrSawingTilted As String
Get
Return m_sCurrSawingTilted
End Get
Set(value As String)
If WritePrivateProfileString(S_MACH_MACH, K_CURRSAWINGTILTED, value, sMachIniFile) Then
m_sCurrSawingTilted = value
'm_MainWindow.m_CurrentProjectPageUC.MachiningTxBx.Text = value
End If
End Set
End Property
Friend Property sCurrDrilling As String
Get
Return m_sCurrDrilling
@@ -1284,13 +1270,6 @@ Friend Property sCurrMillNoTip As String
' Leggo utensili correnti
' lama
GetPrivateProfileString(S_MACH_MACH, K_CURRSAW, Nothing, m_sCurrSaw, sMachIniFile)
' lama inclinata
If m_nShowToolChanger = 4 Then
GetPrivateProfileString(S_MACH_MACH, K_CURRSAWTILTED, Nothing, m_sCurrSawTilted, sMachIniFile)
Else
' se non è configurato il cambio utensile e allora imposto l'unica lama disponibile per i tagli inclinati
m_sCurrSawTilted = m_sCurrSaw
End If
' foretto
GetPrivateProfileString(S_MACH_MACH, K_CURRDRILL, Nothing, m_sCurrDrill, sMachIniFile)
' fresa
@@ -1307,8 +1286,6 @@ Friend Property sCurrMillNoTip As String
' Leggo lavorazioni correnti
' lama
m_sCurrSawing = EstCalc.GetCurrSawing()
' lama inlicnata
m_sCurrSawingTilted = EstCalc.GetCurrSawingTilted()
' foretto
m_sCurrDrilling = EstCalc.GetCurrDrilling()
' fresa
+22 -69
View File
@@ -258,14 +258,6 @@ Module EstCalc
Return sCurrSawing
End Function
Friend Function GetCurrSawingTilted() As String
Dim nOperId As Integer = EgtGetFirstNameInGroup(EgtGetCurrMachGroup(), "Opers")
If nOperId = GDB_ID.NULL Then Return ""
Dim sCurrSawing As String = String.Empty
EgtGetInfo(nOperId, INFO_CURRSAWING, sCurrSawing)
Return sCurrSawing
End Function
Friend Function SetCurrMilling(sCurrMilling As String) As Boolean
Dim nOperId As Integer = EgtGetFirstNameInGroup(EgtGetCurrMachGroup(), "Opers")
If nOperId = GDB_ID.NULL Then Return False
@@ -340,7 +332,7 @@ Module EstCalc
Return (nFlag <> 0)
End Function
Public Function AdjustAdditionalTable(Optional bForced As Boolean = False) As Boolean
Public Function AdjustAdditionalTable() As Boolean
' Recupero altezza sottotavola corrente
Dim nFixtId As Integer = EgtGetFirstNameInGroup(EgtGetCurrMachGroup(), MACH_FIXT_GROUP)
Dim nAddTabId As Integer = EgtGetFirstNameInGroup(nFixtId, MACH_ADD_TABLE)
@@ -351,27 +343,18 @@ Module EstCalc
dCurrAddTab = b3AddTab.DimZ()
End If
' Se valore cambiato, aggiorno...
Dim dDeltaZ As Double = CurrentMachine.dAdditionalTable - dCurrAddTab
Dim bChanged As Boolean = (Math.Abs(dDeltaZ) > EPS_SMALL)
If bChanged Or bForced Then
Dim bOldEnMod As Boolean = EgtGetEnableModified()
If Not bChanged AndAlso bOldEnMod Then EgtDisableModified()
Dim dDeltaZ As Double = dAdditionalTable - dCurrAddTab
If Math.Abs(dDeltaZ) > EPS_SMALL Then
AddAdditionalTable()
UpdateAllRawsZ(dDeltaZ)
If GetPhoto() <> GDB_ID.NULL Then
UpdatePhoto()
UpdateContour()
If EgtGetRawPartCount() > 0 Then
ShowPhoto(False)
Dim nRawGrpId As Integer = EgtGetFirstRawPart()
While nRawGrpId <> GDB_ID.NULL
Dim nRawSolidId As Integer = EgtGetFirstNameInGroup(nRawGrpId, NAME_RAW_SOLID)
If nRawSolidId <> GDB_ID.NULL Then EgtSetTextureName(nRawSolidId, PHOTO_NAME)
nRawGrpId = EgtGetNextRawPart(nRawGrpId)
End While
End If
End If
If Not bChanged AndAlso bOldEnMod Then EgtEnableModified()
' !!! FOTO DA GESTIRE !!!
'If GetPhoto() <> GDB_ID.NULL Then
' UpdatePhoto()
' UpdateContour()
' If EgtGetRawPartCount() > 0 Then
' ShowPhoto(False)
' End If
'End If
End If
Return True
End Function
@@ -743,65 +726,49 @@ Module EstCalc
nLayId = EgtGetNextName(nLayId, NAME_INLOOP)
End While
' Aggiorno le entità con tallone e quelle con angolo esterno
Const AGG_DEPTH As Double = 0.75
Dim bSizeOnTop As Boolean = (GetMainPrivateProfileInt(S_SIDES, K_SIZEALWAYSONTOP, 0) <> 0)
Const AGG_DEPTH As Double = 2.0
For Each nEnt As Integer In vEnt
' Se aggiornamento vietato, vado oltre
If EgtExistsInfo(nEnt, INFO_SIDE_FIXED) Then Continue For
If EgtExistsInfo( nEnt, INFO_SIDE_FIXED) Then continue for
' Recupero eventuali tallone ed angolo originale
Dim dHeel As Double = 0
Dim dSideAng As Double = 0
EgtGetInfo(nEnt, INFO_HEEL, dHeel)
EgtGetInfo(nEnt, INFO_ORIG_SIDE_ANGLE, dSideAng)
' Se inclinazione con tallone
If Math.Abs(dSideAng) > EPS_ANG_SMALL And dHeel > 10 * EPS_SMALL Then
' Inclinazione esterna
' Angolo esterno
If dSideAng > 0 Then
' Se tallone inferiore a spessore
If dHeel < dTh - 10 * EPS_SMALL Then
EgtSetInfo(nEnt, INFO_SIDE_ANGLE, 0.0)
EgtSetInfo(nEnt, INFO_SIDE_ANGLE2, dSideAng)
If Not bSizeOnTop Then
EgtSetInfo(nEnt, INFO_OFFSET, 0)
EgtSetInfo(nEnt, INFO_OFFSET2, -(dTh - dHeel) * Math.Tan(dSideAng * Math.PI / 180))
Else
EgtSetInfo(nEnt, INFO_OFFSET, (dTh - dHeel) * Math.Tan(dSideAng * Math.PI / 180))
EgtSetInfo(nEnt, INFO_OFFSET2, 0)
End If
EgtSetInfo(nEnt, INFO_OFFSET2, -(dTh - dHeel) * Math.Tan(dSideAng * Math.PI / 180))
EgtSetInfo(nEnt, INFO_DEPTH2, (dTh - dHeel) + AGG_DEPTH)
EgtSetInfo(nEnt, INFO_AGG2, AGG_DEPTH)
' altrimenti, tallone superiore a spessore -> non c'è taglio inclinato
' altrimenti, tallone superiore a spessore -> non c'è taglio inclinato
Else
EgtSetInfo(nEnt, INFO_SIDE_ANGLE, 0.0)
EgtSetInfo(nEnt, INFO_SIDE_ANGLE2, 0.0)
EgtRemoveInfo(nEnt, INFO_OFFSET2)
EgtRemoveInfo(nEnt, INFO_DEPTH2)
EgtRemoveInfo(nEnt, INFO_AGG2)
End If
' Inclinazione interna
' Angolo interno
Else
' Se tallone inferiore a spessore
If dHeel < dTh - 10 * EPS_SMALL Then
EgtSetInfo(nEnt, INFO_OFFSET, dHeel * Math.Tan(-dSideAng * Math.PI / 180))
EgtSetInfo(nEnt, INFO_SIDE_ANGLE2, 0.0)
EgtSetInfo(nEnt, INFO_DEPTH2, dHeel + AGG_DEPTH)
EgtSetInfo(nEnt, INFO_AGG2, AGG_DEPTH)
' altrimenti, tallone superiore a spessore -> non c'è taglio inclinato
' altrimenti, tallone superiore a spessore -> non c'è taglio inclinato
Else
EgtSetInfo(nEnt, INFO_SIDE_ANGLE, 0.0)
EgtRemoveInfo(nEnt, INFO_OFFSET)
EgtRemoveInfo(nEnt, INFO_SIDE_ANGLE2)
EgtRemoveInfo(nEnt, INFO_DEPTH2)
EgtRemoveInfo(nEnt, INFO_AGG2)
End If
End If
' Se altrimenti inclinazione esterna
' Se altrimenti inclinazione esterna
ElseIf dSideAng > EPS_ANG_SMALL Then
If Not bSizeOnTop Then
EgtSetInfo(nEnt, INFO_OFFSET, -dTh * Math.Tan(dSideAng * Math.PI / 180))
Else
EgtSetInfo(nEnt, INFO_OFFSET, 0)
End If
EgtSetInfo(nEnt, INFO_OFFSET, -dTh * Math.Tan(dSideAng * Math.PI / 180))
End If
Next
Return True
@@ -1023,22 +990,8 @@ Module EstCalc
Const STORE_DIST As Double = 200
' 40 il Font usato per indicare il numero di pezzi in parcheggio "# N"
Const STORE_OFFS As Double = 20 + 40 + 20
Dim dStoreLarg As Double = GetPrivateProfileDouble("Store", "StoreLargh", STORE_LARGH, CurrentMachine.sMachIniFile)
Dim dStoreDist As Double = GetPrivateProfileDouble("Store", "StoreDist", STORE_DIST, CurrentMachine.sMachIniFile)
Dim dStoreOffs As Double = GetPrivateProfileDouble("Store", "StoreOffs", STORE_OFFS, CurrentMachine.sMachIniFile)
Dim dStXmin As Double = b3Tab.Min().x - 0.5 * (dStoreLarg - b3Tab.DimX())
' Verifico che il pezzo ha una posizione salvata
Dim ptCenter As Point3d
If EgtGetInfo(nId, "PosInPark", ptCenter) Then
Dim ptCurrPos As Point3d
EgtCenterPoint(nId, GDB_ID.ROOT, ptCurrPos)
Dim vt As New Vector3d(ptCenter - ptCurrPos)
EgtMove(nId, vt, GDB_RT.GLOB)
Return True
End If
Return EgtPackBox(nId, dStXmin, -INFINITO, dStXmin + dStoreLarg, b3Tab.Min().y - dStoreDist, dStoreOffs, False)
Dim dStXmin As Double = b3Tab.Min().x - 0.5 * (STORE_LARGH - b3Tab.DimX())
Return EgtPackBox(nId, dStXmin, -INFINITO, dStXmin + STORE_LARGH, b3Tab.Min().y - STORE_DIST, STORE_OFFS, False)
End Function
Friend Function VerifyPartsNesting(bReducedCut As Boolean) As Boolean
-31
View File
@@ -1,31 +0,0 @@
<Window x:Class="VeinMatchingWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Height="500" Width="500" ShowInTaskbar="False" Initialized="Window_Initialized" MinWidth="300" MinHeight="300">
<Grid Name="VeinMatchingGrid" Background="{StaticResource Omag_Gray}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="91"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<StackPanel Orientation="Vertical">
<ToggleButton Name="ShowTextBtn" Height="40" Width="80"
Margin="0,5,0,0"/>
<ToggleButton Name="EditBtn" Height="40" Width="80"
Margin="0,5,0,0"/>
<ToggleButton Name="VerifyBtn" Height="40" Width="80"
Margin="0,5,0,0"/>
<ToggleButton Name="MagneticBtn" Height="40" Width="80"
Visibility="Collapsed"
Margin="0,5,0,0"/>
<Button Name="ExportBtn" Height="40" Width="80"
Margin="0,5,0,0"/>
<Button Name="AssemblyBtn" Height="40" Width="80"
Margin="0,5,0,0"
Content="3D"/>
</StackPanel>
</Grid>
</Window>
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -78,7 +78,7 @@ Public Class PrintPanelVM
tmpImg.Stretch = Stretch.Uniform
tmpImg.EndInit()
' eseguo la stampa
printDlg.PrintVisual(tmpImg, EgtMsg(91688)) ' Parts Layout
printDlg.PrintVisual(tmpImg, "Parts Layout")
Catch
' Rrror in executing print
EgtOutLog(EgtMsg(50182))
+2 -2
View File
@@ -576,13 +576,13 @@ Public Class MachOptionWindowVM
Public ReadOnly Property OkMsg As String
Get
Return EgtMsg(91651) ' Ok
Return "Ok"
End Get
End Property
Public ReadOnly Property CancelMsg As String
Get
Return EgtMsg(91652) ' Cancel
Return "Cancel"
End Get
End Property
+4 -3
View File
@@ -228,8 +228,8 @@ Public Class MainWindowM
' Verifico abilitazione nesting automatico
m_bAutoNestOption = Not String.IsNullOrWhiteSpace( sNestKey)
' Recupero livello e opzioni della chiave
Dim bKey As Boolean = EgtGetKeyLevel(9423, 2707, 1, m_nKeyLevel) And
EgtGetKeyOptions(9423, 2707, 1, m_nKeyOptions)
Dim bKey As Boolean = EgtGetKeyLevel(9423, 2612, 1, m_nKeyLevel) And
EgtGetKeyOptions(9423, 2612, 1, m_nKeyOptions)
' Verifico abilitazione prodotto
Dim bProd As Boolean = GetKeyOption(KEY_OPT.OFFICE_BASE)
' Inizializzazione generale di EgtInterface
@@ -291,7 +291,7 @@ Public Class MainWindowM
' Leggo nome cartella delle foto
GetMainPrivateProfileString(S_GENERAL, K_PHOTODIR, sDataRoot & "\Data", m_sPhotoDir)
' Creo connessione al Db
If m_SlabDB AndAlso Not ManageDb.ConnectToDb(m_sPhotoDir & "\" & DB_FILENAME) Then
If m_SlabDB And Not ManageDb.ConnectToDb(m_sPhotoDir & "\" & DB_FILENAME) Then
EgtOutLog("Error connecting to DB")
MessageBox.Show(EgtMsg(92000 + 1), EgtMsg(MSG_EGTMSGBOX + 15), MessageBoxButton.OK, MessageBoxImage.Error)
m_SlabDB = False
@@ -381,6 +381,7 @@ Public Class MainWindowM
End Sub
Friend Function GetKeyOption(nKeyOpt As KEY_OPT) As Boolean
Dim int As UInteger = m_nKeyOptions And nKeyOpt
Return ((m_nKeyOptions And nKeyOpt) <> 0)
End Function
+3 -3
View File
@@ -30,7 +30,7 @@ Imports System.Windows
#End If
<Assembly: AssemblyCompany("Egalware s.r.l.")>
<Assembly: AssemblyProduct("OmagOFFICE")>
<Assembly: AssemblyCopyright("Copyright © 2017-2025 by Egalware s.r.l.")>
<Assembly: AssemblyCopyright("Copyright © 2017-2023 by Egalware s.r.l.")>
<Assembly: AssemblyTrademark("")>
<Assembly: ComVisible(false)>
'In order to begin building localizable applications, set
@@ -69,6 +69,6 @@ Imports System.Windows
' by using the '*' as shown below:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("2.7.7.1")>
<Assembly: AssemblyFileVersion("2.7.7.1")>
<Assembly: AssemblyVersion("2.6.12.1")>
<Assembly: AssemblyFileVersion("2.6.12.1")>
+5 -5
View File
@@ -351,11 +351,11 @@ Public Class MyMachGroup
If Not EgtGetInfo(Id, INFO_SLABHEIGHT, dSlabHeight) Then dSlabHeight = 0
Dim sCurrSawing As String = String.Empty
If Not EgtGetInfo(m_nOpersGroupId, INFO_CURRSAWING, sCurrSawing) Then sCurrSawing = "---"
Return EgtMsg(91683) & sSlabName & Environment.NewLine & ' Name:
EgtMsg(91684) & sMaterial & Environment.NewLine & ' Material:
EgtMsg(91685) & LenToString(dSlabHeight, 3) & Environment.NewLine & ' Thickness:
EgtMsg(91686) & sCurrSawing & Environment.NewLine & ' Sawing:
EgtMsg(91687) & Machine ' Machine:
Return "Name: " & sSlabName & Environment.NewLine &
"Material: " & sMaterial & Environment.NewLine &
"Thickness: " & LenToString(dSlabHeight, 3) & Environment.NewLine &
"Sawing: " & sCurrSawing & Environment.NewLine &
"Machine: " & Machine
End Get
End Property
+139 -139
View File
@@ -1,165 +1,165 @@
<EgtWPFLib5:EgtCustomWindow x:Class="MyToolDbWindowV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
Title="{Binding Title}"
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}"
WindowStyle="None" ResizeMode="NoResize" TitleBarHeight="30" IsResizable="False"
IsMinimizable="False" WindowStartupLocation="CenterOwner" ShowInTaskbar="False"
CloseCommand="{Binding CloseToolsDbCommand,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}"
CloseCommandParameter="{Binding Path=SelectedItem, ElementName=ToolsTreeView}"
Height="900">
<EgtWPFLib5:EgtCustomWindow.InputBindings>
<KeyBinding Key="Escape" Command="{Binding ReloadToolCommand}"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
Title="{Binding Title}"
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}"
WindowStyle="None" ResizeMode="NoResize" TitleBarHeight="30" IsResizable="False"
IsMinimizable="False" WindowStartupLocation="CenterOwner" ShowInTaskbar="False"
CloseCommand="{Binding CloseToolsDbCommand,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}"
CloseCommandParameter="{Binding Path=SelectedItem, ElementName=ToolsTreeView}"
Height="900">
<EgtWPFLib5:EgtCustomWindow.InputBindings>
<KeyBinding Key="Escape" Command="{Binding ReloadToolCommand}"
CommandParameter="{Binding Path=SelectedItem,ElementName=ToolsTreeView}"/>
</EgtWPFLib5:EgtCustomWindow.InputBindings>
</EgtWPFLib5:EgtCustomWindow.InputBindings>
<EgtWPFLib5:EgtCustomWindow.Resources>
<!--<EgtWPFLib5:ToolParamVisibilityConverter x:Key="ToolParamVisibilityConverter"/>-->
<EgtWPFLib5:ToolDrawUUIDConverter x:Key="ToolDrawUUIDConverter"/>
<EgtWPFLib5:ErrorVisibilityConverter x:Key="ErrorVisibilityConverter"/>
<sys:Int32 x:Key="Corr">0</sys:Int32>
<sys:Int32 x:Key="ExitPar">1</sys:Int32>
<sys:Int32 x:Key="Coolant">2</sys:Int32>
<sys:Int32 x:Key="CornRad">3</sys:Int32>
<sys:Int32 x:Key="Diam">4</sys:Int32>
<sys:Int32 x:Key="TotDiam">5</sys:Int32>
<sys:Int32 x:Key="Feed">6</sys:Int32>
<sys:Int32 x:Key="EndFeed">7</sys:Int32>
<sys:Int32 x:Key="StartFeed">8</sys:Int32>
<sys:Int32 x:Key="TipFeed">9</sys:Int32>
<sys:Int32 x:Key="Len">10</sys:Int32>
<sys:Int32 x:Key="TotLen">11</sys:Int32>
<sys:Int32 x:Key="MaxMat">12</sys:Int32>
<sys:Int32 x:Key="LonOffset">13</sys:Int32>
<sys:Int32 x:Key="RadOffset">14</sys:Int32>
<sys:Int32 x:Key="Speed">15</sys:Int32>
<sys:Int32 x:Key="SideAng">16</sys:Int32>
<sys:Int32 x:Key="MaxSpeed">17</sys:Int32>
<sys:Int32 x:Key="Thick">18</sys:Int32>
<sys:Int32 x:Key="MaxAbsorption">19</sys:Int32>
<sys:Int32 x:Key="MinFeed">20</sys:Int32>
<sys:Int32 x:Key="Draw">21</sys:Int32>
<sys:Int32 x:Key="Head">22</sys:Int32>
<sys:Int32 x:Key="NamePar">23</sys:Int32>
<sys:Int32 x:Key="UserNotes">24</sys:Int32>
<sys:Int32 x:Key="TcPos">25</sys:Int32>
</EgtWPFLib5:EgtCustomWindow.Resources>
<EgtWPFLib5:EgtCustomWindow.Resources>
<!--<EgtWPFLib5:ToolParamVisibilityConverter x:Key="ToolParamVisibilityConverter"/>-->
<EgtWPFLib5:ToolDrawUUIDConverter x:Key="ToolDrawUUIDConverter"/>
<EgtWPFLib5:ErrorVisibilityConverter x:Key="ErrorVisibilityConverter"/>
<sys:Int32 x:Key="Corr">0</sys:Int32>
<sys:Int32 x:Key="ExitPar">1</sys:Int32>
<sys:Int32 x:Key="Coolant">2</sys:Int32>
<sys:Int32 x:Key="CornRad">3</sys:Int32>
<sys:Int32 x:Key="Diam">4</sys:Int32>
<sys:Int32 x:Key="TotDiam">5</sys:Int32>
<sys:Int32 x:Key="Feed">6</sys:Int32>
<sys:Int32 x:Key="EndFeed">7</sys:Int32>
<sys:Int32 x:Key="StartFeed">8</sys:Int32>
<sys:Int32 x:Key="TipFeed">9</sys:Int32>
<sys:Int32 x:Key="Len">10</sys:Int32>
<sys:Int32 x:Key="TotLen">11</sys:Int32>
<sys:Int32 x:Key="MaxMat">12</sys:Int32>
<sys:Int32 x:Key="LonOffset">13</sys:Int32>
<sys:Int32 x:Key="RadOffset">14</sys:Int32>
<sys:Int32 x:Key="Speed">15</sys:Int32>
<sys:Int32 x:Key="SideAng">16</sys:Int32>
<sys:Int32 x:Key="MaxSpeed">17</sys:Int32>
<sys:Int32 x:Key="Thick">18</sys:Int32>
<sys:Int32 x:Key="MaxAbsorption">19</sys:Int32>
<sys:Int32 x:Key="MinFeed">20</sys:Int32>
<sys:Int32 x:Key="Draw">21</sys:Int32>
<sys:Int32 x:Key="Head">22</sys:Int32>
<sys:Int32 x:Key="NamePar">23</sys:Int32>
<sys:Int32 x:Key="UserNotes">24</sys:Int32>
<sys:Int32 x:Key="TcPos">25</sys:Int32>
</EgtWPFLib5:EgtCustomWindow.Resources>
<Grid Background="Transparent">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.95*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Grid Background="Transparent">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.95*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Grid Background="Transparent">
<Grid.RowDefinitions>
<RowDefinition Height="0.75*"/>
<RowDefinition Height="12*"/>
</Grid.RowDefinitions>
<Grid Background="Transparent">
<Grid.RowDefinitions>
<RowDefinition Height="0.75*"/>
<RowDefinition Height="12*"/>
</Grid.RowDefinitions>
<UniformGrid Grid.Row="0" Columns="8">
<Button ToolTip="New" Command="{Binding NewCommand}"
CommandParameter="{Binding Path=SelectedItem, ElementName=ToolsTreeView}"
IsEnabled="{Binding IsEnabledNewBtn, Mode=OneWay}"
Style = "{DynamicResource MachiningDB_Button}">
<Image Source="/Resources/TopCommandBar/New.png" Stretch="Uniform"/>
</Button>
<Button ToolTip="Save" Command="{Binding SaveCommand}"
CommandParameter="{Binding Path=SelectedItem, ElementName=ToolsTreeView}"
IsEnabled="{Binding IsEnabledSaveBtn, Mode=OneWay}"
Style = "{DynamicResource MachiningDB_Button}">
<Image Source="/Resources/TopCommandBar/Save.png" Stretch="Uniform"/>
</Button>
<Button ToolTip="Remove" Command="{Binding RemoveCommand}"
CommandParameter="{Binding Path=SelectedItem, ElementName=ToolsTreeView}"
IsEnabled="{Binding IsEnabledRemoveBtn, Mode=OneWay}"
Style = "{DynamicResource MachiningDB_Button}">
<Image Source="/Resources/TopCommandBar/Remove.png" Stretch="Uniform"/>
</Button>
<UniformGrid Grid.Row="0" Columns="8">
<Button ToolTip="New" Command="{Binding NewCommand}"
CommandParameter="{Binding Path=SelectedItem, ElementName=ToolsTreeView}"
IsEnabled="{Binding IsEnabledNewBtn, Mode=OneWay}"
Style = "{DynamicResource MachiningDB_Button}">
<Image Source="/Resources/TopCommandBar/New.png" Stretch="Uniform"/>
</Button>
<Button ToolTip="Save" Command="{Binding SaveCommand}"
CommandParameter="{Binding Path=SelectedItem, ElementName=ToolsTreeView}"
IsEnabled="{Binding IsEnabledSaveBtn, Mode=OneWay}"
Style = "{DynamicResource MachiningDB_Button}">
<Image Source="/Resources/TopCommandBar/Save.png" Stretch="Uniform"/>
</Button>
<Button ToolTip="Remove" Command="{Binding RemoveCommand}"
CommandParameter="{Binding Path=SelectedItem, ElementName=ToolsTreeView}"
IsEnabled="{Binding IsEnabledRemoveBtn, Mode=OneWay}"
Style = "{DynamicResource MachiningDB_Button}">
<Image Source="/Resources/TopCommandBar/Remove.png" Stretch="Uniform"/>
</Button>
<Button ToolTip="Import" Command="{Binding ImportCommand}"
CommandParameter="{Binding Path=SelectedItem, ElementName=MachiningsTreeView}"
IsEnabled="{Binding IsEnabledNewBtn, Mode=OneWay}"
Style = "{DynamicResource MachiningDB_Button}">
<Image Source="/Resources/TopCommandBar/Import.png" Stretch="Uniform"/>
</Button>
<Button ToolTip="Export" Command="{Binding ExportCommand}"
CommandParameter="{Binding Path=SelectedItem, ElementName=MachiningsTreeView}"
IsEnabled="{Binding IsEnabledSaveBtn, Mode=OneWay}"
Style = "{DynamicResource MachiningDB_Button}">
<Image Source="/Resources/TopCommandBar/Export_1.png" Stretch="Uniform"/>
</Button>
<Button ToolTip="Reset" Command="{Binding ReloadToolCommand}"
CommandParameter="{Binding Path=SelectedItem, ElementName=MachiningsTreeView}"
IsEnabled="{Binding IsEnabledRemoveBtn, Mode=OneWay}"
Style = "{DynamicResource MachiningDB_Button}">
<Image Source="/Resources/TopCommandBar/Reset.png" Stretch="Uniform"/>
</Button>
</UniformGrid>
<Button ToolTip="Import" Command="{Binding ImportCommand}"
CommandParameter="{Binding Path=SelectedItem, ElementName=MachiningsTreeView}"
IsEnabled="{Binding IsEnabledNewBtn, Mode=OneWay}"
Style = "{DynamicResource MachiningDB_Button}">
<Image Source="/Resources/TopCommandBar/Import.png" Stretch="Uniform"/>
</Button>
<Button ToolTip="Export" Command="{Binding ExportCommand}"
CommandParameter="{Binding Path=SelectedItem, ElementName=MachiningsTreeView}"
IsEnabled="{Binding IsEnabledSaveBtn, Mode=OneWay}"
Style = "{DynamicResource MachiningDB_Button}">
<Image Source="/Resources/TopCommandBar/Export_1.png" Stretch="Uniform"/>
</Button>
<Button ToolTip="Reset" Command="{Binding ReloadToolCommand}"
CommandParameter="{Binding Path=SelectedItem, ElementName=MachiningsTreeView}"
IsEnabled="{Binding IsEnabledRemoveBtn, Mode=OneWay}"
Style = "{DynamicResource MachiningDB_Button}">
<Image Source="/Resources/TopCommandBar/Reset.png" Stretch="Uniform"/>
</Button>
</UniformGrid>
<!--Elenco degli utensili-->
<TreeView Name="ToolsTreeView" Grid.Row="1"
Background="Transparent" BorderThickness="0"
ItemsSource="{Binding ToolsList}">
<TreeView.ItemContainerStyle>
<!--Elenco degli utensili-->
<TreeView Name="ToolsTreeView" Grid.Row="1"
Background="Transparent" BorderThickness="0"
ItemsSource="{Binding ToolsList}">
<TreeView.ItemContainerStyle>
<Style TargetType="{x:Type TreeViewItem}" BasedOn="{StaticResource Db_TreeViewItem}">
<Setter Property="FontSize" Value="10" />
<Setter Property="Foreground" Value="{StaticResource Omag_White}" />
<Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}" />
<Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}" />
<Setter Property="IsEnabled" Value="{Binding IsEnabled, Mode=TwoWay}" />
</Style>
</TreeView.ItemContainerStyle>
<Setter Property="FontSize" Value="10" />
<Setter Property="Foreground" Value="{StaticResource Omag_White}" />
<Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}" />
<Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}" />
<Setter Property="IsEnabled" Value="{Binding IsEnabled, Mode=TwoWay}" />
</Style>
</TreeView.ItemContainerStyle>
<TreeView.Resources>
<HierarchicalDataTemplate DataType="{x:Type EgtWPFLib5:FamilyToolTreeViewItem}" ItemsSource="{Binding Items}">
<TreeView.Resources>
<HierarchicalDataTemplate DataType="{x:Type EgtWPFLib5:FamilyToolTreeViewItem}" ItemsSource="{Binding Items}">
<Grid Background="Transparent">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Grid Background="Transparent">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Image Grid.Column="0" Source="{Binding PictureString}" Height="32" Width="32" Margin="0" />
<TextBlock Grid.Column="1" Text="{Binding Name}" FontSize="15" Margin="5,0,10,0" VerticalAlignment="Center" HorizontalAlignment="left" />
<Ellipse Grid.Column="2" Height="10" Width="10" Fill="{Binding FamilyColor}" />
<Image Grid.Column="0" Source="{Binding PictureString}" Height="32" Width="32" Margin="0" />
<TextBlock Grid.Column="1" Text="{Binding Name}" FontSize="15" Margin="5,0,10,0" VerticalAlignment="Center" HorizontalAlignment="left" />
<Ellipse Grid.Column="2" Height="10" Width="10" Fill="{Binding FamilyColor}" />
</Grid>
</Grid>
</HierarchicalDataTemplate>
</HierarchicalDataTemplate>
<DataTemplate DataType="{x:Type EgtWPFLib5:ToolTreeViewItem}">
<Grid Background="Transparent">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<DataTemplate DataType="{x:Type EgtWPFLib5:ToolTreeViewItem}">
<Grid Background="Transparent">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<!--<Image Grid.Column="0" Source="{Binding PictureString}" Height="32" Margin="0,8,6,4" />-->
<TextBlock Grid.Column="1" Text="{Binding NamePar}" Height="21" FontSize="13" Margin="30,0,10,0"
VerticalAlignment="Center" HorizontalAlignment="left"/>
<Ellipse Grid.Column="2" Height="10" Width="10" Fill="{Binding ToolColor}" />
<!--<Image Grid.Column="0" Source="{Binding PictureString}" Height="32" Margin="0,8,6,4" />-->
<TextBlock Grid.Column="1" Text="{Binding NamePar}" Height="21" FontSize="13" Margin="30,0,10,0"
VerticalAlignment="Center" HorizontalAlignment="left"/>
<Ellipse Grid.Column="2" Height="10" Width="10" Fill="{Binding ToolColor}" />
</Grid>
</Grid>
</DataTemplate>
</DataTemplate>
</TreeView.Resources>
</TreeView.Resources>
</TreeView>
</TreeView>
</Grid>
</Grid>
<ContentControl Content="{Binding Path=ParamPageV}" Grid.Column="1"/>
<ContentControl Content="{Binding Path=ParamPageV}" Grid.Column="1"/>
<!--ContentControl che ospita la scena restituita sotto forma di WindowsFormsHost-->
<ContentControl Content="{Binding ToolSceneHost}" Grid.Column="2"/>
<!--ContentControl che ospita la scena restituita sotto forma di WindowsFormsHost-->
<ContentControl Content="{Binding ToolSceneHost}" Grid.Column="2"/>
</Grid>
</Grid>
</EgtWPFLib5:EgtCustomWindow>
+73
View File
@@ -0,0 +1,73 @@
<Window x:Class="PairInputDataVeinMatch"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:OmagOFFICE"
mc:Ignorable="d"
ShowInTaskbar="False"
WindowStyle="None"
Title="PairInputDataVeinMatch" Height="auto" Width="300"
Background="{StaticResource Omag_DarkGray}">
<StackPanel Name ="WinPair" Orientation="Vertical" VerticalAlignment="Center">
<TextBlock Name="TopBar"
Text="Seleziona dal primo Part il lato che vuoi accoppiare" HorizontalAlignment="Center"
Width="Auto"
TextWrapping="Wrap"
Margin="0,0,0,10"
FontSize="20"/>
<ComboBox Name="PairOption"
Style="{StaticResource Raw_ComboBox}"
Margin="1,5,1,0"
IsEnabled="True"
Visibility="Collapsed"/>
<!--<CheckBox Name="InvertOption" Margin="1,5,1,0"
Foreground="{DynamicResource Omag_White}"
IsEnabled="True"
Visibility="Collapsed">Invert</CheckBox>-->
<CheckBox Name="FlipOption1" Margin="1,5,1,0"
Foreground="{DynamicResource Omag_White}"
IsEnabled="True"
Visibility="Collapsed">Flip ∥</CheckBox>
<CheckBox Name="FlipOption2" Margin="1,5,1,0"
Foreground="{DynamicResource Omag_White}"
IsEnabled="True"
Visibility="Collapsed">Flip ⟂</CheckBox>
<!--<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="2*"/>
</Grid.ColumnDefinitions>
<TextBlock Name="Testo" Height="26"
Foreground="{DynamicResource Omag_White}"
Background="{DynamicResource Omag_Black}"
Margin="1,5,1,0"
Text="Angolo"
TextAlignment="Center"
Grid.Column="0"
IsEnabled="True"/>
<TextBox Name="RotInputData" Height="26"
Foreground="{DynamicResource Omag_White}"
Background="{DynamicResource Omag_Black}"
Margin="1,5,1,0"
Grid.Column="1"
Text="0"
HorizontalContentAlignment="Right"
VerticalContentAlignment="Center"
IsEnabled="False"/>
</Grid>-->
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="2*"/>
</Grid.ColumnDefinitions>
<Button Name="Conferma"
Grid.Column="0"
Content="Conferma"/>
<Button Name="Annulla"
Grid.Column="1"
Content="Annulla"/>
</Grid>
</StackPanel>
</Window>
@@ -0,0 +1,62 @@
Imports EgtUILib.EgtInterface
Public Class PairInputDataVeinMatch
Private Ref As VeinMatchingWindow
Public Sub New(ByVal MVD As Window)
Owner = MVD
Ref = DirectCast(MVD, VeinMatchingWindow)
' La chiamata è richiesta dalla finestra di progettazione.
InitializeComponent()
PairOption.ItemsSource = New List(Of String)({"Start-Start", "Start-End", "End-Start", "End-End", "Middle-Middle"})
PairOption.SelectedIndex = 1
End Sub
Public Sub ConfirmBtn_click() Handles Conferma.Click
OmagOFFICEMap.refVeinMatchingWindow.bInputDone = True
OmagOFFICEMap.refVeinMatchingWindow.TgBtn_Pair.IsChecked = False
Me.Close()
End Sub
Public Sub CancelBtn_click() Handles Annulla.Click
OmagOFFICEMap.refVeinMatchingWindow.bInputDone = False
OmagOFFICEMap.refVeinMatchingWindow.ResetPairing()
OmagOFFICEMap.refVeinMatchingWindow.TgBtn_Pair.IsChecked = False
Me.Close()
End Sub
Private Sub PairOption_Changed() Handles PairOption.SelectionChanged
OmagOFFICEMap.refVeinMatchingWindow.PairOption_Changed()
End Sub
'Private Sub InvertOption_Changed() Handles InvertOption.Click
' OmagOFFICEMap.refVeinMatchingWindow.InvertOption_Changed()
'End Sub
Private Sub FlipParallel_Changed() Handles FlipOption1.Click
OmagOFFICEMap.refVeinMatchingWindow.InvertOption_Changed()
End Sub
Private Sub FlipPerpendicular_Changed() Handles FlipOption2.Click
OmagOFFICEMap.refVeinMatchingWindow.FlipPerpendicular_Changed()
End Sub
Private m_MouseLeftPressed As Boolean = False
' qui dovrebbe funzionare quando entrambe le condizioni sono attive, non solo
Private Sub TopCommandBar_pressed() Handles TopBar.MouseLeftButtonDown
m_MouseLeftPressed = True
End Sub
Private Sub TopCommandBar_released() Handles TopBar.MouseLeftButtonUp
m_MouseLeftPressed = False
End Sub
Private Sub TopCommandBar_Drag() Handles TopBar.MouseMove
If m_MouseLeftPressed Then
Try
Me.DragMove()
Catch e As Exception
End Try
m_MouseLeftPressed = False ' non si sa perché, ma è l'UNICO modo con cui funziona
End If
End Sub
End Class
@@ -0,0 +1,57 @@
<Window x:Class="RotationInputDataVeinMatch"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:OmagOFFICE"
mc:Ignorable="d"
ShowInTaskbar="False"
WindowStyle="None"
Title="InputDataVeinMatch" Height="100" Width="200"
Background="{StaticResource Omag_DarkGray}">
<!--<local:RotateUC></local:RotateUC>-->
<!--<UserControl Name="MyUserControl" Content="{Binding ControlUC}"></UserControl>-->
<StackPanel Name ="WinRotate" Orientation="Vertical" VerticalAlignment="Center">
<Label Name="TopBar"
Content="Seleziona l'asse di rotazione" HorizontalAlignment="Center"
Width="Auto"/>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="2*"/>
</Grid.ColumnDefinitions>
<TextBlock Name="Testo" Height="26"
Foreground="{DynamicResource Omag_White}"
Background="{DynamicResource Omag_Black}"
Margin="1,5,1,0"
Text="Angolo"
TextAlignment="Center"
Grid.Column="0"
IsEnabled="True"/>
<TextBox Name="RotInputData" Height="26"
Foreground="{DynamicResource Omag_White}"
Background="{DynamicResource Omag_Black}"
Margin="1,5,1,0"
Grid.Column="1"
Text="0"
HorizontalContentAlignment="Right"
VerticalContentAlignment="Center"
IsEnabled="False"/>
</Grid>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="2*"/>
</Grid.ColumnDefinitions>
<Button Name="Conferma"
Grid.Column="0"
Content="Conferma"/>
<Button Name="Annulla"
Grid.Column="1"
Content="Annulla"/>
</Grid>
</StackPanel>
</Window>
@@ -0,0 +1,73 @@
Imports System.IO
Imports System.Windows.Interop
Imports System.Collections.ObjectModel
Imports System.Windows.Forms
Imports OmagOFFICE.VeinMatchingWindow
Imports MS.Internal
Public Class RotationInputDataVeinMatch
Private Ref As VeinMatchingWindow
Public Sub New(ByVal MVD As Window)
Owner = MVD
Ref = DirectCast(MVD, VeinMatchingWindow)
' La chiamata è richiesta dalla finestra di progettazione.
InitializeComponent()
'' Aggiungere le eventuali istruzioni di inizializzazione dopo la chiamata a InitializeComponent().
'AddHandler Ref.eAxisSelected, AddressOf MainWindow_MyVariableChanged
End Sub
'' Subscribe to the event
'Private Sub MainWindow_MyVariableChanged(sender As Object, e As EventHandler(Of AxisSelectedEventArgs))
' ' Call a method in the user control
' MyUserControl.HandleMyVariableChanged(e.newValue)
'End Sub
'Public Sub Key_Press(sender As Object, e As System.Windows.Forms.KeyPressEventHandler) Handles Me.KeyDown
' 'If e.KeyChar = ChrW(System.Windows.Forms.Keys.Escape) Then
' ' Dim a As Integer = 10
' 'End If
'End Sub
Public Sub TextValueChanged() Handles RotInputData.TextChanged
OmagOFFICEMap.refVeinMatchingWindow.sInputAng = RotInputData.Text
OmagOFFICEMap.refVeinMatchingWindow.AngText_Changed()
End Sub
Public Sub ConfirmBtn_click() Handles Conferma.Click
OmagOFFICEMap.refVeinMatchingWindow.bInputDone = True
OmagOFFICEMap.refVeinMatchingWindow.TgBtn_Rotation.IsChecked = False
Me.Close()
End Sub
Public Sub CancelBtn_click() Handles Annulla.Click
OmagOFFICEMap.refVeinMatchingWindow.sInputAng = ""
OmagOFFICEMap.refVeinMatchingWindow.bInputDone = False
OmagOFFICEMap.refVeinMatchingWindow.ResetRotation(True, True)
OmagOFFICEMap.refVeinMatchingWindow.TgBtn_Rotation.IsChecked = False
OmagOFFICEMap.refVeinMatchingWindow.MyMsgTxBl.Text = ""
Me.Close()
End Sub
Private m_MouseLeftPressed As Boolean = False
' qui dovrebbe funzionare quando entrambe le condizioni sono attive, non solo
Private Sub TopCommandBar_pressed() Handles TopBar.MouseLeftButtonDown
m_MouseLeftPressed = True
End Sub
Private Sub TopCommandBar_released() Handles TopBar.MouseLeftButtonUp
m_MouseLeftPressed = False
End Sub
Private Sub TopCommandBar_Drag() Handles TopBar.MouseMove
If m_MouseLeftPressed Then
Try
Me.DragMove()
Catch e As Exception
End Try
m_MouseLeftPressed = False ' non si sa perché, ma è l'UNICO modo con cui funziona
End If
End Sub
End Class
@@ -0,0 +1,14 @@
Public Class RotationInputDataVeinMatchVM
'Private m_ControlUC As Control
'Public Property ControlUC As Control
' Get
' Return m_ControlUC
' End Get
' Set(value As Control)
' m_ControlUC = value
' End Set
'End Property
'Sub New(CurrentUC As Control)
' m_ControlUC = CurrentUC
'End Sub
End Class
+52
View File
@@ -0,0 +1,52 @@
<Window x:Class="SolidInputDataVeinMatch"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:OmagOFFICE"
mc:Ignorable="d"
ShowInTaskbar="False"
WindowStyle="None"
Title="InputDataVeinMatch" Height="100" Width="200"
Background="{StaticResource Omag_DarkGray}">
<StackPanel>
<Label Name="TopBar"
Content="Inserisci lo spessore dei solidi" HorizontalAlignment="Center"
Width="Auto"/>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="2*"/>
</Grid.ColumnDefinitions>
<TextBlock Name="Testo" Height="26"
Foreground="{DynamicResource Omag_White}"
Background="{DynamicResource Omag_Black}"
Margin="1,5,1,0"
Text="Spessore"
Grid.Column="0"
IsEnabled="True"/>
<TextBox Name="InputData" Height="26"
Foreground="{DynamicResource Omag_White}"
Background="{DynamicResource Omag_Black}"
Margin="1,5,1,0"
Grid.Column="1"
Text="0"
HorizontalContentAlignment="Right"
VerticalContentAlignment="Center"
IsEnabled="True"/>
</Grid>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="2*"/>
</Grid.ColumnDefinitions>
<Button Name="Conferma"
Grid.Column="0"
Content="Conferma"/>
<Button Name="Annulla"
Grid.Column="1"
Content="Annulla"/>
</Grid>
</StackPanel>
</Window>
@@ -0,0 +1,41 @@
Public Class SolidInputDataVeinMatch
Private m_Ref As Window
Sub New(RefWindow As Window)
m_Ref = RefWindow
' La chiamata è richiesta dalla finestra di progettazione.
InitializeComponent()
' Aggiungere le eventuali istruzioni di inizializzazione dopo la chiamata a InitializeComponent().
End Sub
Public Sub ConfirmBtn_click() Handles Conferma.Click
OmagOFFICEMap.refVeinMatchingWindow.sInputThick = InputData.Text
OmagOFFICEMap.refVeinMatchingWindow.bInputDone = True
Me.Close()
End Sub
Public Sub CancelBtn_click() Handles Annulla.Click
OmagOFFICEMap.refVeinMatchingWindow.sInputThick = ""
OmagOFFICEMap.refVeinMatchingWindow.bInputDone = False
Me.Close()
End Sub
Private m_MouseLeftPressed As Boolean = False
' qui dovrebbe funzionare quando entrambe le condizioni sono attive, non solo
Private Sub TopCommandBar_pressed() Handles TopBar.MouseLeftButtonDown
m_MouseLeftPressed = True
End Sub
Private Sub TopCommandBar_released() Handles TopBar.MouseLeftButtonUp
m_MouseLeftPressed = False
End Sub
Private Sub TopCommandBar_Drag() Handles TopBar.MouseMove
If m_MouseLeftPressed Then
Try
Me.DragMove()
Catch e As Exception
End Try
m_MouseLeftPressed = False ' non si sa perché, ma è l'UNICO modo con cui funziona
End If
End Sub
End Class
+11
View File
@@ -0,0 +1,11 @@
<DockPanel x:Class="TopBarVeinMatch"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" >
<Button Name="Riduci"
DockPanel.Dock="Right"
Style="{StaticResource VeinMatchWindow_Button}"
Margin="0,0,0,0"
ToolTip="Crea solido del part selezionato">
<Image Source="/Resources/VeinMatchNewIcon/cube.png" Stretch="Uniform"/>
</Button>
</DockPanel>
+12
View File
@@ -0,0 +1,12 @@
Public Class TopBarVeinMatch
Public Sub RiduciBtn_click() Handles Riduci.Click
OmagOFFICEMap.refVeinMatchPanelVM.SetVeinMatchIsChecked(False)
' chiudo anche i popup del TreeView
'ClosePopUps()
End Sub
'Public Sub ClosePopUps()
' Popup_LeftPanel.IsOpen = False
' TreeViewWnd.RiduciInfo()
'End Sub
End Class
+54
View File
@@ -0,0 +1,54 @@
<UserControl x:Class="VeinMatchingInfo"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:OmagOFFICE"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800">
<!--<Grid>
<TextBlock x:Name="InfoPart" Text="La mia prima volta"/>
</Grid>-->
<Grid>
<DataGrid x:Name ="InfoGrid"
Background="{DynamicResource Omag_Black}"
Foreground="{DynamicResource Omag_Black}" ColumnWidth="*" HeadersVisibility = "Column"
HorizontalScrollBarVisibility="Hidden"
BorderThickness="0">
<DataGrid.Resources>
<Style TargetType="{x:Type DataGridColumnHeader}" BasedOn="{StaticResource {x:Type DataGridColumnHeader}}">
<Setter Property="Background" Value="{StaticResource Omag_Black}"/>
<Setter Property="Foreground" Value="{StaticResource Omag_White}"/>
<Setter Property="BorderBrush" Value="{StaticResource Omag_Yellow}"/>
<Setter Property="BorderThickness" Value="0.75"/>
<Setter Property="FontWeight" Value="Bold"/>
<Setter Property="Margin" Value="0"/>
<Setter Property="Opacity" Value="1"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="FontSize" Value="15"/>
</Style>
<Style TargetType="{x:Type DataGridRow}">
<Setter Property="Background" Value="{StaticResource Omag_Black}"/>
<Setter Property="Foreground" Value="{StaticResource Omag_White}"/>
<Setter Property="BorderBrush" Value="{StaticResource Omag_Yellow}"/>
<Setter Property="BorderThickness" Value="0.75"/>
</Style>
<Style TargetType="{x:Type DataGridCell}">
<Setter Property="BorderBrush" Value="{StaticResource Omag_Yellow}"/>
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="HorizontalAlignment" Value="Center"/>
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="{StaticResource Omag_DarkGray}"/>
<Setter Property="Foreground" Value="{StaticResource Omag_White}"/>
<Setter Property="BorderBrush" Value="{StaticResource Omag_DarkGray}"/>
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.Resources>
</DataGrid>
</Grid>
</UserControl>
+79
View File
@@ -0,0 +1,79 @@
Imports System.Collections.ObjectModel
Imports EgtUILib
Public Class VeinMatchingInfo
Sub New()
' La chiamata è richiesta dalla finestra di progettazione.
InitializeComponent()
' Aggiungere le eventuali istruzioni di inizializzazione dopo la chiamata a InitializeComponent().
End Sub
Private m_RefVeinMatchingWindow As VeinMatchingWindow
Sub LoadRef(vmw As VeinMatchingWindow)
m_RefVeinMatchingWindow = vmw
End Sub
Sub UpdateText(nIdPart As Integer)
'InfoPart.Text = sText
Dim EdgesList As New ObservableCollection(Of Edge)
EgtSetCurrentContext(m_RefVeinMatchingWindow.VeinMatchingScene.GetCtx())
Dim nEdge As Integer = EgtGetFirstInGroup(EgtGetFirstNameInGroup(nIdPart, "OutLoop"))
Dim nSideAngVal As Integer = 0
Dim nHeelVal As Integer = 0
Dim sName As String = String.Empty
While nEdge <> GDB_ID.NULL
nSideAngVal = 0
nHeelVal = 0
EgtGetName(nEdge, sName)
EgtGetInfo(nEdge, "SideAng", nSideAngVal)
EgtGetInfo(nEdge, "Heel", nHeelVal)
Dim EdgeTemp As New Edge(sName, nSideAngVal, nHeelVal)
EdgesList.Add(EdgeTemp)
nEdge = EgtGetNext(nEdge)
End While
InfoGrid.ItemsSource = EdgesList
End Sub
End Class
Public Class Edge
Private m_EdgeNum As String = String.Empty
Public Property Edge As String
Get
Return m_EdgeNum
End Get
Set(value As String)
m_EdgeNum = value
End Set
End Property
Private m_SideAng As Integer = 0
Public Property Ang As Integer
Get
Return m_SideAng
End Get
Set(value As Integer)
m_SideAng = value
End Set
End Property
Private m_Heel As Integer = 0
Public Property Heel As Integer
Get
Return m_Heel
End Get
Set(value As Integer)
m_Heel = value
End Set
End Property
Sub New(sName As String, nAng As Integer, nHeel As Integer)
m_EdgeNum = sName
m_SideAng = nAng
m_Heel = nHeel
End Sub
End Class
+39
View File
@@ -0,0 +1,39 @@
<UserControl x:Class="VeinMatchingTree"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:OmagOFFICE="clr-namespace:OmagOFFICE"
mc:Ignorable="d"
Background="Transparent"
d:DesignHeight="450" d:DesignWidth="800">
<StackPanel Orientation="Vertical" Background="Transparent">
<TreeView x:Name="PartInScene"
BorderThickness="0"
Background="Transparent"
Foreground="{DynamicResource Omag_White}"
Margin="10"
SelectedItemChanged="OnTVSelectedItemChanged"
Focusable="False">
<TreeView.ItemContainerStyle>
<Style TargetType="{x:Type TreeViewItem}" BasedOn="{StaticResource TreeViewItem_Part3D}">
<Setter Property="FontSize" Value="18" />
<Setter Property="Foreground" Value="{StaticResource Omag_White}" />
<Setter Property="Background" Value="Transparent"/>
<Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}" />
<Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}" />
<Setter Property="IsEnabled" Value="{Binding IsEnabled, Mode=TwoWay}" />
</Style>
</TreeView.ItemContainerStyle>
</TreeView>
<Popup x:Name="Popup_CurrPart" PlacementTarget="{Binding ElementName=TreeViewItem_CurrPart}" Placement="Right" AllowsTransparency="True">
<!--<TextBlock x:Name="Popup_Text" Text="Placement=Left" FontSize="14" Background="LightGreen"></TextBlock>-->
<OmagOFFICE:VeinMatchingInfo x:Name="Info2PartWnd"/>
</Popup>
<TextBlock Name="Info" Text="" FontSize="18" HorizontalAlignment="Right"
Margin="0,0,10,0"
Background="Transparent"
Foreground="{StaticResource Omag_Yellow}"/>
</StackPanel>
</UserControl>
+121
View File
@@ -0,0 +1,121 @@
Imports System.IO.Ports
Imports System.Windows.Forms
Imports EgtUILib
Public Class VeinMatchingTree
Private m_RefVeinMatchingInfo As VeinMatchingInfo
Private m_RefVeinMatchingWindow As VeinMatchingWindow
Sub New()
' La chiamata è richiesta dalla finestra di progettazione.
InitializeComponent()
' Aggiungere le eventuali istruzioni di inizializzazione dopo la chiamata a InitializeComponent().
End Sub
Public Sub LoadRef(vmiRef As VeinMatchingInfo)
m_RefVeinMatchingInfo = vmiRef
End Sub
Sub LoadRef(vmwRef As VeinMatchingWindow)
m_RefVeinMatchingWindow = vmwRef
End Sub
Public Sub RiduciInfo()
Popup_CurrPart.IsOpen = False
End Sub
Public Sub AdjustInfoPosition()
' spostando l'offset e rimettendolo al valore originale il pop up viene riposizionato correttamente rispetto relativamente
' alla finestra che l'ha creato
Dim offset As Double = Popup_CurrPart.HorizontalOffset
Popup_CurrPart.HorizontalOffset = offset + 1
Popup_CurrPart.HorizontalOffset = offset
End Sub
Private Sub SetStackPanelTextFromTreeView(tItem As TreeViewItem, ByRef PartId As Integer, ByRef sNamePart As String)
If IsNothing(tItem) Then Return
Dim Pan As StackPanel = DirectCast(tItem.Header, StackPanel)
sNamePart = String.Empty
For Each PanItem In Pan.Children
If TypeOf (PanItem) Is TextBlock Then
sNamePart = DirectCast(PanItem, TextBlock).Text
Exit For
End If
Next
PartId = CInt(Val(New Text.StringBuilder((From ch In sNamePart.ToString.ToCharArray Where IsNumeric(ch)).ToArray).ToString))
End Sub
Private Sub SelectItem_Click() Handles PartInScene.SelectedItemChanged
Dim tItem As TreeViewItem = CType(PartInScene.SelectedItem, TreeViewItem)
If IsNothing(tItem) Then Return
'Dim Pan As StackPanel = DirectCast(tItem.Header, StackPanel)
'Dim sNamepart As String = String.Empty
'For Each PanItem In Pan.Children
' If TypeOf (PanItem) Is TextBlock Then
' sNamepart = DirectCast(PanItem, TextBlock).Text
' Exit For
' End If
'Next
'Dim nPartId As Integer = CInt(Val(New Text.StringBuilder((From ch In sNamepart.ToString.ToCharArray Where IsNumeric(ch)).ToArray).ToString))
Dim nPartId As Integer = -1
Dim sNamePart As String = String.Empty
SetStackPanelTextFromTreeView(tItem, nPartId, sNamePart)
Info.Text = sNamePart.ToString
m_RefVeinMatchingInfo.UpdateText(nPartId)
End Sub
Private m_InfoPart As VeinMatchingInfo
Private Sub FaiQualcosa() Handles PartInScene.MouseRightButtonUp
Dim tItem As TreeViewItem = CType(PartInScene.SelectedItem, TreeViewItem)
If IsNothing(tItem) Then Return
Dim nPartId As Integer = -1
Dim sNamePart As String = String.Empty
SetStackPanelTextFromTreeView(tItem, nPartId, sNamePart)
Popup_CurrPart.IsOpen = Not Popup_CurrPart.IsOpen
Popup_CurrPart.PlacementTarget = tItem
Popup_CurrPart.MaxWidth = 175
m_InfoPart = Info2PartWnd
m_InfoPart.LoadRef(m_RefVeinMatchingWindow)
m_InfoPart.UpdateText(nPartId)
'Popup_Text.Text = sNamePart
End Sub
Private Sub OnTVSelectedItemChanged(sender As Object, e As RoutedPropertyChangedEventArgs(Of Object))
If (Keyboard.Modifiers And ModifierKeys.Shift) > 0 Then
'C#
'MyTextBlock.Text = ( (TreeViewItem) ( (TreeView) sender ).SelectedItem ).Header.ToString()
SelectInVeinMatchScene()
End If
End Sub
Public Sub HighlightItem() Handles PartInScene.MouseDoubleClick
SelectInVeinMatchScene()
End Sub
Private Sub SelectInVeinMatchScene()
' prima deseleziono tutto
m_RefVeinMatchingWindow.DeselectAll()
'Dim nPartId As Integer = CInt(Val(New Text.StringBuilder((From ch In tItem.Header.ToString.ToCharArray Where IsNumeric(ch)).ToArray).ToString))
Dim tItem As TreeViewItem = CType(PartInScene.SelectedItem, TreeViewItem)
If IsNothing(tItem) Then Return
Dim nPartId As Integer = -1
Dim sNamePart As String = String.Empty
SetStackPanelTextFromTreeView(tItem, nPartId, sNamePart)
EgtSetCurrentContext(m_RefVeinMatchingWindow.VeinMatchingScene.GetCtx())
For Each PartSolidSel In m_RefVeinMatchingWindow.m_PartSolidList
If PartSolidSel.PartId = nPartId Then
PartSolidSel.SelectPart()
End If
Next
EgtDraw()
End Sub
End Class
+573
View File
@@ -0,0 +1,573 @@
<EgtWPFLib5:EgtCustomWindow x:Class="VeinMatchingWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:OmagOFFICE="clr-namespace:OmagOFFICE"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
Background="{StaticResource Omag_DarkGray}"
Height="800" Width="500" ShowInTaskbar="False"
Initialized="Window_Initialized"
MinWidth="300" MinHeight="300"
Title="VeinMatching"
WindowStyle="None"
IsClosable="False"
IsMinimizable="False"
IsResizable="True"
Style="{DynamicResource VeinMatchStyle}">
<EgtWPFLib5:EgtCustomWindow.TitlePanel>
<OmagOFFICE:TopBarVeinMatch HorizontalAlignment="Right"/>
</EgtWPFLib5:EgtCustomWindow.TitlePanel>
<!--<Window.Resources>
<Style TargetType="{x:Type Window}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Window}">
<ContentPresenter/>
</ControlTemplate>
</Setter.Value>
</Setter>
<Setter Property="Background" Value="Transparent"></Setter>
</Style>
</Window.Resources>-->
<!--<Window.CommandBindings>
<CommandBinding Command="OmagOFFICE:MoveItCommand.MoveIt"
Executed="CommandBinding_Executed"
CanExecute="CommandBinding_CanExecute"/>
</Window.CommandBindings>-->
<DockPanel x:Name="DockPanelVeinMatching" Background="Transparent" VirtualizingStackPanel.IsVirtualizing="True">
<StackPanel Name="TopCommandBar1"
DockPanel.Dock="Top" HorizontalAlignment="Right" Orientation="Horizontal"
Background="Transparent">
<!--<Label Name ="TopCommandBar" Content="" Width="{Binding ActualWidth, ElementName=DockPanelVeinMatching}"/>-->
<!--<Button Name="Riduci"
Style="{StaticResource VeinMatchWindow_Button}"
Margin="0,0,0,0"
ToolTip="Crea solido del part selezionato">
<Image Source="/Resources/VeinMatchNewIcon/cube.png" Stretch="Uniform"/>
</Button>-->
</StackPanel>
<TabControl DockPanel.Dock="Left"
x:Name="MyTabCtrl"
Background="Transparent"
Margin="2,0,0,0"
BorderThickness="0"
Width="125">
<TabItem Name="TabItem2"
Background="Transparent"
Foreground="{DynamicResource Omag_Yellow}"
HorizontalContentAlignment="Center"
Style="{StaticResource TabItemVeinMatch}"
Padding="0"
Margin="0,0,0,0">
<TabItem.Header>
<StackPanel Orientation="Horizontal">
<TextBlock Text="🌐"
FontSize="18"/>
</StackPanel>
</TabItem.Header>
<StackPanel Orientation="Vertical">
<Border Style="{StaticResource Border}" Margin="0,1,0,5">
<Expander Foreground="{DynamicResource Omag_White}"
HorizontalAlignment="Stretch"
Header="Options"
ExpandDirection="Down"
IsExpanded="False">
<StackPanel>
<ComboBox Name="OptionColor"
Style="{StaticResource Raw_ComboBox}"
Margin="1,5,1,0"/>
<ComboBox Name="SelType"
Style="{StaticResource Raw_ComboBox}"
Margin="1,5,1,0"/>
<ComboBox Name="RefType"
Style="{StaticResource Raw_ComboBox}"
Margin="1,5,1,0"/>
</StackPanel>
</Expander>
</Border>
<Border Style="{StaticResource Border}" Margin="0,1,0,5">
<Expander Foreground="{DynamicResource Omag_White}"
HorizontalAlignment="Stretch"
Header="RESET"
ExpandDirection="Down"
IsExpanded="False">
<UniformGrid Columns="3" Margin="2">
<Button Name="Btn01"
Style="{StaticResource VeinMatchWindow_Button}"
Margin="1,5,1,0"
Content="🚀"
ToolTip="Crea Part Solid"/>
<Button Name="Btn02"
Style="{StaticResource VeinMatchWindow_Button}"
Margin="1,5,1,0"
Content="👾"
ToolTip="Resetta Part Solid"/>
</UniformGrid>
</Expander>
</Border>
<Border Style="{StaticResource Border}" Margin="0,1,0,5">
<Expander Foreground="{DynamicResource Omag_White}"
HorizontalAlignment="Stretch"
Header="SOLID"
ExpandDirection="Down"
IsExpanded="True">
<StackPanel>
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<Button Name="CreateCurrSolidBtn" Grid.Row="0" Grid.Column="0"
Style="{StaticResource VeinMatchWindow_Button}"
Margin="1,5,1,0"
ToolTip="Crea solido del part selezionato">
<Image Source="/Resources/VeinMatchNewIcon/cube.png" Stretch="Uniform"/>
</Button>
<Button Name="CreateAllSolidsBtn" Grid.Row="0" Grid.Column="1"
Style="{StaticResource VeinMatchWindow_Button}"
Margin="1,5,1,0"
ToolTip="Crea tutti i solidi">
<Image Source="/Resources/VeinMatchNewIcon/cubes.png" Stretch="Uniform"/>
</Button>
<Button Name="ResetAllSolidsBtn" Grid.Row="0" Grid.Column="2"
Style="{StaticResource VeinMatchWindow_Button}"
Margin="1,5,1,0"
ToolTip="Resetta i solidi">
<Image Source="/Resources/VeinMatchNewIcon/reset cubes.png" Stretch="Uniform"/>
</Button>
<Button Name="ExplodeBtn" Grid.Row="1" Grid.Column="0"
Style="{StaticResource VeinMatchWindow_Button}"
Margin="1,5,1,0"
ToolTip="Esplodi assemblato"
IsEnabled="True">
<Image Source="/Resources/VeinMatchNewIcon/explode.png" Stretch="Uniform"/>
</Button>
<Button Name="CollapseBtn" Grid.Row="1" Grid.Column="1"
Style="{StaticResource VeinMatchWindow_Button}"
Margin="1,5,1,0"
ToolTip="Ricomponi assemblato"
IsEnabled="False">
<Image Source="/Resources/VeinMatchNewIcon/collapse.png" Stretch="Uniform"/>
</Button>
<Button Name="ExplodeNormalsBtn" Grid.Row="1" Grid.Column="2"
Style="{StaticResource VeinMatchWindow_Button}"
Margin="0,5,1,0"
ToolTip="Esplodi assemblato lungo le normali"
HorizontalAlignment="Right" Width="35"
IsEnabled="True">
<Image Source="/Resources/VeinMatchNewIcon/explode_normals.png" Stretch="Uniform"/>
</Button>
</Grid>
<!--<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.5*"/>
<ColumnDefinition Width="1.5*"/>
</Grid.ColumnDefinitions>
<UniformGrid>
<TextBlock Name="Spessore" Height="20"
Foreground="{DynamicResource Omag_White}"
Background="Transparent"
Margin="1,5,1,0"
Text="Thick"
HorizontalAlignment="Center"
VerticalAlignment="Center"/>
</UniformGrid>
<UniformGrid Columns="1" Grid.Column="1">
<TextBox Name="TB_Thick" Height="26"
Foreground="{DynamicResource Omag_White}"
Background="{DynamicResource Omag_Black}"
Margin="1,5,1,0"
Text="0"
HorizontalContentAlignment="Right"
VerticalContentAlignment="Center"
IsEnabled="True"/>
</UniformGrid>
</Grid>-->
</StackPanel>
</Expander>
</Border>
<Border Style="{StaticResource Border}" Margin="0,1,0,5">
<Expander Foreground="{DynamicResource Omag_White}"
HorizontalAlignment="Stretch"
Header="ROTATE"
ExpandDirection="Down"
IsExpanded="True">
<StackPanel>
<UniformGrid Columns="3">
<ToggleButton Name="TgBtn_Rotation"
Style="{StaticResource VeinMatchWindow_ToggleButton}"
Margin="1,5,1,0"
ToolTip="Attiva/Conferma Rotazione"
IsEnabled="True">
<Image Source="/Resources/VeinMatchNewIcon/rotate.png" Stretch="Uniform"/>
</ToggleButton>
<Button Name="ResetRotationBtn"
Style="{StaticResource VeinMatchWindow_Button}"
Margin="1,5,1,0"
ToolTip="Resetta Rotazione"
IsEnabled="False">
<Image Source="/Resources/VeinMatchNewIcon/reset rotation.png" Stretch="Uniform"/>
</Button>
</UniformGrid>
<!--<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.5*"/>
<ColumnDefinition Width="1.5*"/>
</Grid.ColumnDefinitions>
<UniformGrid>
<TextBlock Name="Angolo" Height="20"
Foreground="{DynamicResource Omag_White}"
Background="Transparent"
Margin="1,5,1,0"
Text="Ang"
HorizontalAlignment="Center"
VerticalAlignment="Center"/>
</UniformGrid>
<UniformGrid Columns="1" Grid.Column="1">
<TextBox Name="AngText" Height="26"
Foreground="{DynamicResource Omag_White}"
Background="{DynamicResource Omag_Black}"
Margin="1,5,1,0"
Text="0"
HorizontalContentAlignment="Right"
VerticalContentAlignment="Center"
IsEnabled="False"/>
</UniformGrid>
</Grid>-->
<!--<CheckBox Name="AllOption_Rotate" Margin="1,5,1,0"
Foreground="{DynamicResource Omag_White}"
IsEnabled="False">All Selected</CheckBox>-->
</StackPanel>
</Expander>
</Border>
<Border Style="{StaticResource Border}" Margin="0,1,0,5">
<Expander Foreground="{DynamicResource Omag_White}"
HorizontalAlignment="Stretch"
Header="PAIR"
ExpandDirection="Down"
IsExpanded="True">
<StackPanel>
<UniformGrid Columns="3">
<ToggleButton Name="TgBtn_Pair"
Style="{StaticResource VeinMatchWindow_ToggleButton}"
Margin="1,5,1,0"
ToolTip="Attiva/Conferma Accoppiamento">
<Image Source="/Resources/VeinMatchNewIcon/pair.png" Stretch="Uniform"/>
</ToggleButton>
<Button Name="ResetPairBtn"
Style="{StaticResource VeinMatchWindow_Button}"
Margin="1,5,1,0"
ToolTip="Resetta Accoppiamento"
IsEnabled="False">
<Image Source="/Resources/VeinMatchNewIcon/reset pair.png" Stretch="Uniform"/>
</Button>
<Button Name="PairAllBtn"
Style="{StaticResource VeinMatchWindow_Button}"
Margin="1,5,1,0"
ToolTip="Accoppiamento automatico"
IsEnabled="True">
<Image Source="/Resources/VeinMatchNewIcon/autopair.png" Stretch="Uniform"/>
</Button>
</UniformGrid>
<ComboBox Name="PairOption"
Style="{StaticResource Raw_ComboBox}"
Margin="1,5,1,0"
IsEnabled="False"
Visibility="Collapsed"/>
<CheckBox Name="InvertOption" Margin="1,5,1,0"
Foreground="{DynamicResource Omag_White}"
IsEnabled="False"
Visibility="Collapsed">Invert</CheckBox>
<CheckBox Name="FlipOption1" Margin="1,5,1,0"
Foreground="{DynamicResource Omag_White}"
IsEnabled="False"
Visibility="Collapsed">Flip ∥</CheckBox>
<CheckBox Name="FlipOption2" Margin="1,5,1,0"
Foreground="{DynamicResource Omag_White}"
IsEnabled="False"
Visibility="Collapsed">Flip ⟂</CheckBox>
</StackPanel>
</Expander>
</Border>
<Border Style="{StaticResource Border}" Margin="0,1,0,5">
<Expander Foreground="{DynamicResource Omag_White}"
HorizontalAlignment="Stretch"
Header="MISURA"
ExpandDirection="Down"
IsExpanded="False">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="2*"/>
</Grid.ColumnDefinitions>
<ToggleButton Name="TgBtn_Measure"
Style="{StaticResource VeinMatchWindow_ToggleButton}"
Margin="1,5,1,0"
ToolTip="Attiva misura">
<Image Source="/Resources/VeinMatchNewIcon/ruler.png" Stretch="Uniform"/>
</ToggleButton>
<ComboBox Grid.Column="2"
Name="MeasureOption"
Style="{StaticResource Raw_ComboBox}"
Margin="1,5,1,0"
IsEnabled="False"/>
</Grid>
</Expander>
</Border>
<Border Style="{StaticResource Border}" Margin="0,1,0,5">
<Expander Foreground="{DynamicResource Omag_White}"
Header="IMPORT"
ExpandDirection="Down"
IsExpanded="False">
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="2*"/>
</Grid.ColumnDefinitions>
<Button Name="ImportBtn"
Style="{StaticResource VeinMatchWindow_Button}"
Margin="1,5,1,0"
ToolTip="Importa oggetto 3D">
<Image Source="/Resources/VeinMatchNewIcon/import.png" Stretch="Uniform"/>
</Button>
</Grid>
</Expander>
</Border>
<UniformGrid Columns="3">
<ToggleButton Name="TgBtn_Inters"
Style="{StaticResource VeinMatchWindow_ToggleButton}"
Margin="1,5,1,0"
ToolTip="Impedisci intersezioni">
<Image Source="/Resources/VeinMatchNewIcon/avoid intersection.png" Stretch="Uniform"/>
</ToggleButton>
<Button Name="ResetIntersBtn"
Style="{StaticResource VeinMatchWindow_Button}"
Margin="1,5,1,0"
ToolTip="Spegni intersezioni"
IsEnabled="False">
<Image Source="/Resources/VeinMatchNewIcon/hide intersections.png" Stretch="Uniform"/>
</Button>
<Button Name="UnpairBtn"
Style="{StaticResource VeinMatchWindow_Button}"
Margin="1,5,1,0"
ToolTip="Disaccoppia"
IsEnabled="False">
<Image Source="/Resources/VeinMatchNewIcon/unpair.png" Stretch="Uniform"/>
</Button>
</UniformGrid>
<UniformGrid Columns="3">
<Button Name="UndoBtn"
Style="{StaticResource VeinMatchWindow_Button}"
Margin="1,5,1,0"
ToolTip="Annulla ultima operazione"
IsEnabled="False">
<Image Source="/Resources/VeinMatchNewIcon/undo.png" Stretch="Uniform"/>
</Button>
<Button Name="RedoBtn"
Style="{StaticResource VeinMatchWindow_Button}"
Margin="1,5,1,0"
ToolTip="Ripeti ultima operazione annullata"
IsEnabled="False">
<Image Source="/Resources/VeinMatchNewIcon/redo.png" Stretch="Uniform"/>
</Button>
</UniformGrid>
<Border Style="{StaticResource Border}" Margin="0,1,0,5">
<Expander Foreground="{DynamicResource Omag_White}"
Header="MOVE"
ExpandDirection="Down"
IsExpanded="False"
Name="MoveExpander"
IsEnabled="False">
<StackPanel>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.5*"/>
<ColumnDefinition Width="1.5*"/>
</Grid.ColumnDefinitions>
<UniformGrid Columns="1" Grid.Column="0" Margin="0,0,0,0">
<TextBlock Name="TextBlX" Height="20"
Foreground="{DynamicResource Omag_White}"
Background="Transparent"
Margin="1,0,1,0"
Text="X"
HorizontalAlignment="Center"
VerticalAlignment="Center"/>
<TextBlock Name="TextBlY" Height="20"
Foreground="{DynamicResource Omag_White}"
Background="Transparent"
Margin="1,0,1,0"
Text="Y"
HorizontalAlignment="Center"
VerticalAlignment="Center"/>
<TextBlock Name="TextBlZ" Height="20"
Foreground="{DynamicResource Omag_White}"
Background="Transparent"
Margin="1,0,1,0"
Text="Z"
HorizontalAlignment="Center"
VerticalAlignment="Center"/>
</UniformGrid>
<UniformGrid Columns="1" Grid.Column="1">
<TextBox Name="TextX" Height="26"
Foreground="{DynamicResource Omag_White}"
Background="{DynamicResource Omag_Black}"
Margin="1,0,1,0"
Text="0"
HorizontalContentAlignment="Right"
VerticalContentAlignment="Center"/>
<TextBox Name="TextY" Height="26"
Foreground="{DynamicResource Omag_White}"
Background="{DynamicResource Omag_Black}"
Margin="1,0,1,0"
Text="0"
HorizontalContentAlignment="Right"
VerticalContentAlignment="Center"/>
<TextBox Name="TextZ" Height="26"
Foreground="{DynamicResource Omag_White}"
Background="{DynamicResource Omag_Black}"
Margin="1,0,1,0"
Text="0"
HorizontalContentAlignment="Right"
VerticalContentAlignment="Center"/>
</UniformGrid>
</Grid>
<UniformGrid Columns="3">
<Button Name="MovePreviewBtn"
Style="{StaticResource VeinMatchWindow_Button}"
Margin="1,5,1,0"
ToolTip="Preview dello spostamento">
<Image Source="/Resources/VeinMatchNewIcon/move.png" Stretch="Uniform"/>
</Button>
<Button Name="ConfirmMoveBtn"
Style="{StaticResource VeinMatchWindow_Button}"
Margin="1,5,1,0"
ToolTip="Conferma spostamento">
<Image Source="/Resources/VeinMatchNewIcon/confirm move.png" Stretch="Uniform"/>
</Button>
<Button Name="ResetMoveBtn"
Style="{StaticResource VeinMatchWindow_Button}"
Margin="1,5,1,0"
ToolTip="Resetta spostamento"
IsEnabled="False">
<Image Source="/Resources/VeinMatchNewIcon/reset move.png" Stretch="Uniform"/>
</Button>
</UniformGrid>
<CheckBox Name="AllOption_Move" Margin="1,5,1,0"
Foreground="{DynamicResource Omag_White}">All Selected</CheckBox>
</StackPanel>
</Expander>
</Border>
<Border Style="{StaticResource Border}" Margin="0,1,0,5">
<Expander Foreground="{DynamicResource Omag_White}"
HorizontalAlignment="Stretch"
Header="SELECTION"
ExpandDirection="Down"
IsExpanded="False"
Name="SelectExpander"
IsEnabled="True">
<UniformGrid Columns="3">
<Button Name="SelectAllBtn"
Style="{StaticResource VeinMatchWindow_Button}"
Margin="1,5,1,0"
ToolTip="Seleziona tutti i pezzi">
<Image Source="/Resources/VeinMatchNewIcon/select all.png" Stretch="Uniform"/>
</Button>
<Button Name="DeselectAllBtn"
Style="{StaticResource VeinMatchWindow_Button}"
Margin="1,5,1,0"
ToolTip="Deseleziona tutti i pezzi">
<Image Source="/Resources/VeinMatchNewIcon/deselect all.png" Stretch="Uniform"/>
</Button>
<ToggleButton Name="TgBtn_MultiSel"
Style="{StaticResource VeinMatchWindow_ToggleButton}"
Margin="1,5,1,0"
ToolTip="Attiva selezione multipla">
<Image Source="/Resources/VeinMatchNewIcon/multi sel.png" Stretch="Uniform"/>
</ToggleButton>
</UniformGrid>
</Expander>
</Border>
</StackPanel>
</TabItem>
<TabItem Name="TabItem1"
Background="Transparent"
Foreground="{DynamicResource Omag_Yellow}"
Style="{StaticResource TabItemVeinMatch}"
HorizontalContentAlignment="Center"
Margin="0,0,0,0">
<TabItem.Header>
<StackPanel Orientation="Horizontal">
<TextBlock Text="🗺" FontSize="18"/>
</StackPanel>
</TabItem.Header>
<StackPanel Orientation="Vertical" Grid.Row="0">
<ToggleButton Name="ShowTextBtn" Height="40" Width="80"
Margin="0,5,0,0"
Content="ShowText"/>
<ToggleButton Name="EditBtn" Height="40" Width="80"
Margin="0,5,0,0"
Content="Edit"/>
<ToggleButton Name="VerifyBtn" Height="40" Width="80"
Margin="0,5,0,0"
Content="Verify"/>
<ToggleButton Name="MagneticBtn" Height="40" Width="80"
Visibility="Collapsed"
Margin="0,5,0,0"
Content="Magnetic"/>
<Button Name="ExportBtn" Height="40" Width="80"
Margin="0,5,0,0"
Content="Export"/>
<Button Name="AssemblyBtn" Height="40" Width="80"
Margin="0,5,0,0"
Content="3D"/>
</StackPanel>
</TabItem>
</TabControl>
<StackPanel DockPanel.Dock="Right"
Margin="0,1,0,5"
Width="15">
<Button x:Name="ShowTreeView"
Height="15">
<Image Source="/Resources/VeinMatchNewIcon/feature-tree.png" Stretch="Uniform"/>
</Button>
<!--<OmagOFFICE:VeinMatchingTree x:Name="TreeViewWnd" Visibility="Hidden"/>-->
<OmagOFFICE:VeinMatchingInfo x:Name="InfoPartWnd" Visibility="Hidden"/>
<Popup x:Name="Popup_LeftPanel" PlacementTarget="{Binding ElementName=ShowTreeView}"
Placement="Left" AllowsTransparency="True" Focusable="False">
<OmagOFFICE:VeinMatchingTree x:Name="TreeViewWnd"/>
</Popup>
</StackPanel>
<TextBlock DockPanel.Dock="Bottom"
TextWrapping="WrapWithOverflow"
Margin="5,2,5,2"
Name="MyMsgTxBl"
Text="DEMO by Egalware ( N. and D. ) "
Foreground="{DynamicResource Omag_Yellow}"
FontSize="20"
Height="auto"/>
</DockPanel>
</EgtWPFLib5:EgtCustomWindow>
File diff suppressed because it is too large Load Diff
@@ -116,15 +116,6 @@
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
</DataGridTextColumn>
<!--Flux-->
<DataGridTextColumn Binding="{Binding Flux}"
Width="*">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding DataContext.Flux_Msg,RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"/>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
</DataGridTextColumn>
<!--Q1-->
<DataGridTextColumn Binding="{Binding Q1}"
Width="*">
+131 -27
View File
@@ -135,13 +135,11 @@
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\EgtProg\Dll32\EgtPHOTOLib.dll</HintPath>
</Reference>
<Reference Include="EgtUILib, Version=2.7.5.2, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\EgtProg\OmagOFFICE\EgtUILib.dll</HintPath>
<Reference Include="EgtUILib">
<HintPath>..\..\EgtProg\DllD32\EgtUILib.dll</HintPath>
</Reference>
<Reference Include="EgtWPFLib5, Version=2.7.4.1, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\EgtProg\OmagOFFICE\EgtWPFLib5.dll</HintPath>
<Reference Include="EgtWPFLib5">
<HintPath>..\..\EgtProg\DllD32\EgtWPFLib5.dll</HintPath>
</Reference>
<Reference Include="PresentationFramework.Aero" />
<Reference Include="System.Core" />
@@ -231,7 +229,26 @@
<Compile Include="EgtStoneLib\GeomCalc.vb" />
<Compile Include="EgtStoneLib\SplitAuto.vb" />
<Compile Include="EgtStoneLib\VacuumCups.vb" />
<Compile Include="EgtStoneLib\VeinMatchingWindow.xaml.vb">
<Compile Include="MyVeinMatch\PairInputDataVeinMatch.xaml.vb">
<DependentUpon>PairInputDataVeinMatch.xaml</DependentUpon>
</Compile>
<Compile Include="MyVeinMatch\RotationInputDataVeinMatch.xaml.vb">
<DependentUpon>RotationInputDataVeinMatch.xaml</DependentUpon>
</Compile>
<Compile Include="MyVeinMatch\RotationInputDataVeinMatchVM.vb" />
<Compile Include="MyVeinMatch\SolidInputDataVeinMatch.xaml.vb">
<DependentUpon>SolidInputDataVeinMatch.xaml</DependentUpon>
</Compile>
<Compile Include="MyVeinMatch\TopBarVeinMatch.xaml.vb">
<DependentUpon>TopBarVeinMatch.xaml</DependentUpon>
</Compile>
<Compile Include="MyVeinMatch\VeinMatchingInfo.xaml.vb">
<DependentUpon>VeinMatchingInfo.xaml</DependentUpon>
</Compile>
<Compile Include="MyVeinMatch\VeinMatchingTree.xaml.vb">
<DependentUpon>VeinMatchingTree.xaml</DependentUpon>
</Compile>
<Compile Include="MyVeinMatch\VeinMatchingWindow.xaml.vb">
<DependentUpon>VeinMatchingWindow.xaml</DependentUpon>
</Compile>
<Compile Include="InstrumentPanel\PrintPanelV.xaml.vb">
@@ -293,10 +310,6 @@
<DependentUpon>SplitModeV.xaml</DependentUpon>
</Compile>
<Compile Include="OptionPanel\MachiningTab\SplitModeVM.vb" />
<Compile Include="OptionPanel\NestingTab\ChangeTableV.xaml.vb">
<DependentUpon>ChangeTableV.xaml</DependentUpon>
</Compile>
<Compile Include="OptionPanel\NestingTab\ChangeTableVM.vb" />
<Compile Include="OptionPanel\NestingTab\MultiSelectionV.xaml.vb">
<DependentUpon>MultiSelectionV.xaml</DependentUpon>
</Compile>
@@ -427,7 +440,31 @@
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="EgtStoneLib\VeinMatchingWindow.xaml">
<Page Include="MyVeinMatch\PairInputDataVeinMatch.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="MyVeinMatch\RotationInputDataVeinMatch.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="MyVeinMatch\SolidInputDataVeinMatch.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="MyVeinMatch\TopBarVeinMatch.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="MyVeinMatch\VeinMatchingInfo.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="MyVeinMatch\VeinMatchingTree.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="MyVeinMatch\VeinMatchingWindow.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
@@ -503,10 +540,6 @@
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="OptionPanel\NestingTab\ChangeTableV.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="OptionPanel\NestingTab\MultiSelectionV.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
@@ -971,31 +1004,102 @@
<Resource Include="Resources\NewIcons\Linea-Copia.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\TreeView\Import.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\TreeView\PartSolid.png" />
<Resource Include="Resources\NewIcons\DB-WJ.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\VeinMatchNewIcon\cube.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\VeinMatchNewIcon\cubes.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\VeinMatchNewIcon\reset cubes.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\VeinMatchNewIcon\explode.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\VeinMatchNewIcon\collapse.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\VeinMatchNewIcon\explode_normals.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\VeinMatchNewIcon\rotate.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\VeinMatchNewIcon\reset rotation.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\VeinMatchNewIcon\import.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\VeinMatchNewIcon\pair.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\VeinMatchNewIcon\unpair.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\VeinMatchNewIcon\feature-tree.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\VeinMatchNewIcon\ruler.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\VeinMatchNewIcon\avoid intersection.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\VeinMatchNewIcon\hide intersections.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\VeinMatchNewIcon\undo.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\VeinMatchNewIcon\redo.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\VeinMatchNewIcon\move.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\VeinMatchNewIcon\confirm move.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\VeinMatchNewIcon\reset move.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\VeinMatchNewIcon\reset pair.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\VeinMatchNewIcon\select all.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\VeinMatchNewIcon\deselect all.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\VeinMatchNewIcon\multi sel.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\VeinMatchNewIcon\reset.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\DetailPage\Cancel.png" />
<Resource Include="Resources\DetailPage\Confirm.png" />
<Resource Include="Resources\DetailPage\Elimina.png" />
<Resource Include="Resources\DetailPage\Pencil.png" />
<Resource Include="Resources\DetailPage\Photo.png" />
<Resource Include="Resources\DetailPage\Polygon.png" />
<Resource Include="Resources\DetailPage\Print.png" />
<Resource Include="Resources\DetailPage\Reset.png" />
<Resource Include="Resources\DetailPage\Rubber.png" />
<Resource Include="Resources\DetailPage\Save.png" />
<Resource Include="Resources\DetailPage\ZoomAll.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\VeinMatchNewIcon\autopair.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\NewIcons\LightArrowOff.png" />
<Resource Include="Resources\NewIcons\LightArrowOn.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\NewIcons\table.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\NewIcons\tableS.png" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
<PropertyGroup>
<PostBuildEvent>IF "$(PlatformName)"=="x86" IF "$(ConfigurationName)" == "Release" copy $(TargetPath) c:\EgtProg\OmagOFFICE\OmagOFFICER32.exe
+3 -3
View File
@@ -749,7 +749,7 @@ Public Class MoveRawModeVM
If VerifyCollisionWithOtherRawPart(nId) Then
' mantengo la selezione del pezzo
EgtSetStatus(nId, GDB_ST.SEL)
OmagOFFICEMap.refStatusBarVM.SetOutputMessage(EgtMsg(91231), 3, MSG_TYPE.ERROR_) ' Collisione pezzi
OmagOFFICEMap.refStatusBarVM.SetOutputMessage("Collisione pezzi", 3, MSG_TYPE.ERROR_)
Else
' Se con ventose, le nascondo
If Not OmagOFFICEMap.refMachiningTabVM.ByHand Then EgtSetStatus(GetVacuumId(), GDB_ST.OFF)
@@ -761,7 +761,7 @@ Public Class MoveRawModeVM
If VerifyCollisionWithOtherRawPart(m_CurrRawOnVacuum) Then
' mantengo la selezione del pezzo
EgtSetStatus(m_CurrRawOnVacuum, GDB_ST.SEL)
OmagOFFICEMap.refStatusBarVM.SetOutputMessage(EgtMsg(91231), 3, MSG_TYPE.ERROR_) ' Collisione pezzi
OmagOFFICEMap.refStatusBarVM.SetOutputMessage("Collisione pezzi", 3, MSG_TYPE.ERROR_)
EgtDraw()
' esco dal ciclo, prima devo depositare correttamente il pezzo
Exit While
@@ -819,7 +819,7 @@ Public Class MoveRawModeVM
If VerifyCollisionWithOtherRawPart(m_CurrRawOnVacuum) Then
' mantengo la selezione del pezzo
EgtSetStatus(m_CurrRawOnVacuum, GDB_ST.SEL)
OmagOFFICEMap.refStatusBarVM.SetOutputMessage(EgtMsg(91231), 3, MSG_TYPE.ERROR_) ' Collisione pezzi
OmagOFFICEMap.refStatusBarVM.SetOutputMessage("Collisione pezzi", 3, MSG_TYPE.ERROR_)
EgtDraw()
End If
+10 -10
View File
@@ -371,11 +371,11 @@ Public Class SplitModeVM
m_LayNbArrTgBtn_IsChecked = value
If value Then
StatusOffNumbArrow(GDB_ST.ON_)
m_LayNbArrTgBtnMsg = EgtMsg(91218) ' Hide
m_LayNbArrTgBtnMsg = "Hide"
m_LayNbArrTgBtnImg = "/Resources/NewIcons/LightArrowOn.png"
Else
StatusOffNumbArrow(GDB_ST.OFF)
m_LayNbArrTgBtnMsg = EgtMsg(91219) ' Show
m_LayNbArrTgBtnMsg = "Show"
m_LayNbArrTgBtnImg = "/Resources/NewIcons/LightArrowOff.png"
End If
NotifyPropertyChanged(NameOf(LayNbArrTgBtnMsg))
@@ -819,7 +819,7 @@ Public Class SplitModeVM
End Sub
Private Sub AddTopText(ByRef sName As String)
sName &= EgtMsg(91217) ' Top
sName &= " Top"
End Sub
Private Sub RemovePauseText(ByRef sName As String)
@@ -2325,7 +2325,7 @@ Public Class SplitModeVM
If bFirstInd Then
Dim ModifStartWindow As New ModifStartEndCutWindowV
Dim ModifStartWindowVM As New ModifStartEndCutWindowVM
ModifStartWindowVM.Title = EgtMsg(90791) ' Sawing
ModifStartWindowVM.Title = "Sawing"
ModifStartWindow.DataContext = ModifStartWindowVM
ModifStartWindow.Owner = Application.Current.MainWindow
ModifStartWindowVM.SetVal(dOrigUsal)
@@ -2386,7 +2386,7 @@ Public Class SplitModeVM
If bFirstMill Then
Dim ModifStartWindow As New ModifStartEndCutWindowV
Dim ModifStartWindowVM As New ModifStartEndCutWindowVM
ModifStartWindowVM.Title = EgtMsg(90793) ' Milling
ModifStartWindowVM.Title = "Milling"
ModifStartWindow.DataContext = ModifStartWindowVM
ModifStartWindow.Owner = Application.Current.MainWindow
ModifStartWindowVM.SetVal(dOrigUsal)
@@ -2423,7 +2423,7 @@ Public Class SplitModeVM
' Dialogo richiesta valori
Dim ModifStartWnd As New ModifStartEndWjWindowV
Dim ModifStartWndVM As New ModifStartEndWjWindowVM
ModifStartWndVM.Title = EgtMsg(90798) ' Water jetting
ModifStartWndVM.Title = "Water jetting"
ModifStartWnd.DataContext = ModifStartWndVM
ModifStartWnd.Owner = Application.Current.MainWindow
ModifStartWndVM.HoleVisibility = Visibility.Visible
@@ -2509,7 +2509,7 @@ Public Class SplitModeVM
If bFirstInd Then
Dim ModifStartWindow As New ModifStartEndCutWindowV
Dim ModifStartWindowVM As New ModifStartEndCutWindowVM
ModifStartWindowVM.Title = EgtMsg(90791) ' Sawing
ModifStartWindowVM.Title = "Sawing"
ModifStartWindow.DataContext = ModifStartWindowVM
ModifStartWindow.Owner = Application.Current.MainWindow
ModifStartWindowVM.SetVal(dOrigUeal)
@@ -2564,7 +2564,7 @@ Public Class SplitModeVM
If bFirstMill Then
Dim ModifStartWindow As New ModifStartEndCutWindowV
Dim ModifStartWindowVM As New ModifStartEndCutWindowVM
ModifStartWindowVM.Title = EgtMsg(90793) ' Milling
ModifStartWindowVM.Title = "Milling"
ModifStartWindow.DataContext = ModifStartWindowVM
ModifStartWindow.Owner = Application.Current.MainWindow
ModifStartWindowVM.SetVal(dOrigUeal)
@@ -2599,7 +2599,7 @@ Public Class SplitModeVM
' Dialogo richiesta valori
Dim ModifStartWnd As New ModifStartEndWjWindowV()
Dim ModifStartWndVM As New ModifStartEndWjWindowVM
ModifStartWndVM.Title = EgtMsg(90798) ' Water jetting
ModifStartWndVM.Title = "Water jetting"
ModifStartWnd.DataContext = ModifStartWndVM
ModifStartWnd.Owner = Application.Current.MainWindow
ModifStartWndVM.HoleVisibility = Visibility.Collapsed
@@ -3007,7 +3007,7 @@ Public Class SplitModeVM
'(m_MainWindow, m_MainWindow.m_CurrentMachine.Qualities, "Quality")
Dim ModifyQualityWnd As New ModifyQualityV
Dim ModifyQuality As New ModifyQualityVM
ModifyQuality.Title = EgtMsg(91673) ' Quality
ModifyQuality.Title = "Quality"
ModifyQuality.QualityList = CurrentMachine.Qualities
ModifyQualityWnd.DataContext = ModifyQuality
ModifyQualityWnd.Owner = Application.Current.MainWindow
-63
View File
@@ -1,63 +0,0 @@
<EgtWPFLib5:EgtCustomWindow x:Class="ChangeTableV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}"
WindowStyle="None" ResizeMode="NoResize" TitleBarHeight="30" IsResizable="False"
IsMinimizable="False" WindowStartupLocation="CenterScreen"
CloseCommand="{Binding CloseCommand,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}"
Title="{Binding sTitle}" Height="150" Width="320">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="2*"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<ItemsControl ItemsSource="{Binding CurrTableList}">
<!--Definisco l'organizzazione dei comandi-->
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"
HorizontalAlignment="Center"
VerticalAlignment="Center"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<!--Definisco il contenuto del comando-->
<ItemsControl.ItemTemplate>
<DataTemplate>
<RadioButton GroupName="TabGrp"
IsChecked="{Binding IsActive}"
Width="60" Height="60"
Style="{DynamicResource ChangeTable_ToggleButton}">
<Grid>
<!--Nome della tavole: Tab #-->
<TextBlock Text="{Binding sName}"
HorizontalAlignment="Center"
Background="Transparent">
<TextBlock.Style>
<Style TargetType="{x:Type TextBlock}">
<Setter Property="Foreground" Value="{StaticResource Omag_LightGray}"/>
<Style.Triggers>
<DataTrigger Binding="{Binding IsChecked, RelativeSource={RelativeSource AncestorType=RadioButton}}" Value="True">
<Setter Property="Foreground" Value="{StaticResource Omag_White}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
<!--Rappresentazione di una tavola di lavoro-->
<Image Source="{Binding ImgTab}" Margin="0,20,0,0"/>
</Grid>
</RadioButton>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
<UniformGrid Grid.Row="1" Columns="2">
<Button Content="Ok" Margin="5" Command="{Binding OkCommand}"
Style="{StaticResource OptionPanel_TextButton}"/>
<Button Content="Cancel" Margin="5" Command="{Binding CancelCommand}"
Style="{StaticResource OptionPanel_TextButton}"/>
</UniformGrid>
</Grid>
</EgtWPFLib5:EgtCustomWindow>
@@ -1,3 +0,0 @@
Public Class ChangeTableV
End Class
-143
View File
@@ -1,143 +0,0 @@
Public Class ChangeTableVM
Inherits VMBase
Private m_refChanTableV As ChangeTableV
Public Enum EnumDialogResult
OK
CANCEL
End Enum
Private m_MyDialogResult As EnumDialogResult
Public ReadOnly Property MyDialogResult As EnumDialogResult
Get
Return m_MyDialogResult
End Get
End Property
Private m_sTitle As String = "Seleziona tavola di lavoro"
Public ReadOnly Property sTitle As String
Get
Return m_sTitle
End Get
End Property
Private m_nSelectedTable As Integer = 0
Public ReadOnly Property nSelectedTable As Integer
Get
Return m_nSelectedTable
End Get
End Property
Private m_cmdOk As ICommand
Private m_cmdCancel As ICommand
Sub New(refV As ChangeTableV)
m_refChanTableV = refV
' Procedo alla creazione della lista delle tavole disponibili
Initialized()
End Sub
Private m_CurrTableList As New List(Of TableToChange)
Public ReadOnly Property CurrTableList As List(Of TableToChange)
Get
Return m_CurrTableList
End Get
End Property
Private Sub Initialized()
' recuepero l'inidce della tavola corrente
Dim nIndeXCurrTab As Integer = GetCurrentTable()
' creo la lista delle tavole disponibili (attivo il bottone della tavola attualmente in uso)
For nInd As Integer = 0 To GetTableCount() - 1
m_CurrTableList.Add(New TableToChange("Tab", (nInd + 1), ((nInd + 1) = nIndeXCurrTab)))
Next
End Sub
Public ReadOnly Property OkCommand() As ICommand
Get
If m_cmdOk Is Nothing Then
m_cmdOk = New Command(AddressOf Ok)
End If
Return m_cmdOk
End Get
End Property
Public ReadOnly Property CancelCommand() As ICommand
Get
If m_cmdCancel Is Nothing Then
m_cmdCancel = New Command(AddressOf Cancel)
End If
Return m_cmdCancel
End Get
End Property
Private Sub Ok()
' recupero l'indice della tavola impostata
For Each ItemTab As TableToChange In CurrTableList
If ItemTab.IsActive Then
m_nSelectedTable = ItemTab.nIndex
Exit For
End If
Next
m_MyDialogResult = EnumDialogResult.OK
' procedo alla chiusura della finetra
m_refChanTableV.Close()
End Sub
Private Sub Cancel()
m_MyDialogResult = EnumDialogResult.CANCEL
' procedo alla chiusura della finetra
m_refChanTableV.Close()
End Sub
End Class
Public Class TableToChange
Inherits VMBase
Private Property m_sName As String = "Tab"
Public ReadOnly Property sName As String
Get
Return m_sName
End Get
End Property
Private m_sImgTab As String = "\Resources\NewIcons\table.png"
Public ReadOnly Property ImgTab As String
Get
Return If(m_bIsActive, "\Resources\NewIcons\table.png", "\Resources\NewIcons\tableS.png")
End Get
End Property
Private Property m_nIndex As Integer = 3
Public ReadOnly Property nIndex As Integer
Get
Return m_nIndex
End Get
End Property
Private m_bIsActive As Boolean = False
Public Property IsActive As Boolean
Get
Return m_bIsActive
End Get
Set(value As Boolean)
m_bIsActive = value
If m_bIsActive Then
m_sImgTab = "\Resources\NewIcons\table.png"
Else
m_sImgTab = "\Resources\NewIcons\tableS.png"
End If
NotifyPropertyChanged(NameOf(IsActive))
NotifyPropertyChanged(NameOf(ImgTab))
End Set
End Property
Public Sub New(Name As String, Ind As Integer, IsCurrent As Boolean)
m_sName = Name & " " & Ind.ToString
m_nIndex = Ind
m_bIsActive = IsCurrent
NotifyPropertyChanged("IsActive")
End Sub
End Class
+5 -4
View File
@@ -1,4 +1,5 @@
Imports EgtUILib
Imports EgtWPFLib5
Public Class MultiSelectionVM
Inherits VMBase
@@ -7,24 +8,24 @@ Public Class MultiSelectionVM
Public ReadOnly Property TitleMsg As String
Get
Return EgtMsg(91681) ' Multiple selection
Return "Multiple selection"
End Get
End Property
Public ReadOnly Property SelectionMsg As String
Get
Return EgtMsg(91682) ' Number of Parts
Return "Number of Parts"
End Get
End Property
Public ReadOnly Property OkMsg As String
Get
Return EgtMsg(91651) ' Ok
Return "Ok"
End Get
End Property
Public ReadOnly Property CancelMsg As String
Get
Return EgtMsg(91652) ' Cancel
Return "Cancel"
End Get
End Property
+4 -303
View File
@@ -1,6 +1,5 @@
Imports EgtWPFLib5
Imports EgtUILib
Imports OmagOFFICE.ChangeTableVM
Public Class NestingTabVM
Inherits VMBase
@@ -408,8 +407,6 @@ Public Class NestingTabVM
m_CsvImportWindow = New CsvWindowV(Application.Current.MainWindow, New CsvWindowVM)
m_CsvImportWindow.Show()
End If
' Per sicurezza spengo la visualizzazione di tutti i percorsi di lavorazione
HideAllMachinings()
EgtZoom(ZM.ALL)
Return True
End Function
@@ -585,208 +582,6 @@ Public Class NestingTabVM
m_bStartRot = False
End Sub
Friend Function RotateAllRawParts(dAngDeg As Double, Optional bIsReg As Boolean = True) As Boolean
' Recupero rotazione totale
Dim dRegRot As Double = CamAuto.GetRegistrationRotation()
' Recupero il centro del grezzo iniziale per usarlo come centro della rotazione
Dim ptCen As New Point3d
GetRawCenter(ptCen)
' Provo la rotazione
Dim bMoveOk As Boolean = True
Dim nPhase As Integer = 1
Dim nRawId As Integer = GDB_ID.NULL
While nPhase <= EgtGetPhaseCount()
EgtSetCurrPhase(nPhase)
nRawId = EgtGetFirstRawPart()
While nRawId <> GDB_ID.NULL
If EgtVerifyRawPartPhase(nRawId, nPhase) Then
' Rotazione del centro come spostamento grezzo più rotazione grezzo attorno al suo centro
Dim ptRawCen As New Point3d
EgtGetRawPartCenter(nRawId, ptRawCen)
Dim ptMovCen As New Point3d(ptRawCen)
ptMovCen.Rotate(ptCen, Vector3d.Z_AX(), dAngDeg)
If Not EgtMoveRawPart(nRawId, ptMovCen - ptRawCen) Then
bMoveOk = False
Exit While
End If
If Not EgtRotateRawPart(nRawId, Vector3d.Z_AX(), dAngDeg) Then
EgtMoveRawPart(nRawId, -(ptMovCen - ptRawCen))
bMoveOk = False
Exit While
End If
End If
nRawId = EgtGetNextRawPart(nRawId)
End While
If Not bMoveOk Then Exit While
nPhase += 1
End While
' Se rotazione impossibile, ripristino posizione dei grezzi già spostati
If Not bMoveOk Then
Dim nRevPhase As Integer = 1
Dim nRevRawId As Integer = GDB_ID.NULL
While nRevPhase <= nPhase
EgtSetCurrPhase(nRevPhase)
nRevRawId = EgtGetFirstRawPart()
While nRevRawId <> GDB_ID.NULL And (nRevPhase < nPhase Or nRevRawId <> nRawId)
If EgtVerifyRawPartPhase(nRevRawId, nRevPhase) Then
' Eseguo al contrario
EgtRotateRawPart(nRevRawId, Vector3d.Z_AX(), -dAngDeg)
Dim ptRawCen As New Point3d
EgtGetRawPartCenter(nRevRawId, ptRawCen)
Dim ptMovCen As New Point3d(ptRawCen)
ptMovCen.Rotate(ptCen, Vector3d.Z_AX(), -dAngDeg)
EgtMoveRawPart(nRevRawId, (ptMovCen - ptRawCen))
End If
nRevRawId = EgtGetNextRawPart(nRevRawId)
End While
nRevPhase += 1
End While
' Altrimenti eseguo sistemazioni
Else
' Origine della tavola
Dim ptOri As Point3d
EgtGetTableRef(1, ptOri)
' Annullo rotazioni dei grezzi e le rifaccio sulle parti componenti
Dim nRevPhase As Integer = 1
Dim nRevRawId As Integer = GDB_ID.NULL
While nRevPhase <= EgtGetPhaseCount()
EgtSetCurrPhase(nRevPhase)
nRevRawId = EgtGetFirstRawPart()
While nRevRawId <> GDB_ID.NULL
If EgtVerifyRawPartPhase(nRevRawId, nRevPhase) Then
' Eseguo al contrario
EgtRotateRawPart(nRevRawId, Vector3d.Z_AX(), -dAngDeg)
Dim ptRawCen As New Point3d
EgtGetRawPartCenter(nRevRawId, ptRawCen)
Dim ptMovCen As New Point3d(ptRawCen)
ptMovCen.Rotate(ptCen, Vector3d.Z_AX(), -dAngDeg)
EgtMoveRawPart(nRevRawId, (ptMovCen - ptRawCen))
' Rifaccio sugli oggetti contenuti nel grezzo
Dim nId As Integer = EgtGetFirstInGroup(nRevRawId)
While nId <> GDB_ID.NULL
EgtRotate(nId, ptCen, Vector3d.Z_AX(), dAngDeg, GDB_RT.GLOB)
nId = EgtGetNext(nId)
End While
' Imposto posizione esatta del grezzo dopo rotazione
Dim b3Raw As New BBox3d
EgtGetRawPartBBox(nRevRawId, b3Raw)
EgtMoveToCornerRawPart(nRevRawId, (b3Raw.Min() - ptOri) + Point3d.ORIG(), MCH_CR.BL)
End If
nRevRawId = EgtGetNextRawPart(nRevRawId)
End While
nRevPhase += 1
End While
' Ruoto opportunamente anche i dati di movimento
Dim nOpeId As Integer = EgtGetFirstActiveOperation()
While nOpeId <> GDB_ID.NULL
If EgtGetOperationType(nOpeId) = MCH_OY.DISP Then
' Recupero i gruppi con i dati
Dim nRpmId As Integer = EgtGetFirstNameInGroup(nOpeId, "Rpm*")
While nRpmId <> GDB_ID.NULL
' Recupero le informazioni
Dim vtRawMove As New Vector3d
If EgtGetInfo(nRpmId, "Mv", vtRawMove) Then
vtRawMove.Rotate(Vector3d.Z_AX(), dAngDeg)
EgtSetInfo(nRpmId, "Mv", vtRawMove)
End If
Dim vtDelta As New Vector3d
If EgtGetInfo(nRpmId, "Dt", vtDelta) Then
vtDelta.Rotate(Vector3d.Z_AX(), dAngDeg)
EgtSetInfo(nRpmId, "Dt", vtDelta)
End If
Dim dAngRotDeg As Double = 0
If EgtGetInfo(nRpmId, "Ad", dAngRotDeg) Then
EgtSetInfo(nRpmId, "Ad", dAngRotDeg + dAngDeg)
End If
' Cerco un altro gruppo
nRpmId = EgtGetNextName(nRpmId, "Rpm*")
End While
End If
nOpeId = EgtGetNextActiveOperation(nOpeId)
End While
' Se non è registrazione, ruoto anche l'eventuale foto della lastra
'If Not bIsReg Then
' Dim nPhotoId = m_CurrProjPage.GetPhoto()
' If nPhotoId <> GDB_ID.NULL then EgtRotatePhoto(nPhotoId, ptCen, Vector3d.Z_AX(), dAngDeg)
'End If
' Aggiorno rotazione totale
If bIsReg Then
CamAuto.SetRegistrationRotation(dRegRot + dAngDeg)
Else
CamAuto.SetRegistrationRotation(0)
End If
' Dichiaro grezzo per punti
EgtSetInfo(GetCurrentRaw(), KEY_RAWBYPOINTS, 1)
End If
' Ruoto i punti SpotReg disegnati in Office
If bMoveOk Then
RotateAllSpotRegistration(dAngDeg, ptCen)
End If
' Ripristino lo stato iniziale
EgtSetCurrPhase(1)
HideAllMachinings()
Return bMoveOk
End Function
' Ruoto solo gli elementi SpotReg creati nel programma OFFICE
Private Sub RotateAllSpotRegistration(dAngRot As Double, ptCen As Point3d)
Dim nId As Integer = EgtGetFirstInGroup(OmagOFFICEMap.refRawPartTabVM.m_nRegGroupId)
While nId <> GDB_ID.NULL
Dim sName As String = String.Empty
EgtGetName(nId, sName)
If Not sName.Contains("CUT") Then
EgtRotate(nId, ptCen, Vector3d.Z_AX, dAngRot)
End If
nId = EgtGetNext(nId)
End While
EgtDraw()
End Sub
Private Sub MoveAllRawParts(vtMove As Vector3d)
' Provo il movimento
Dim bMoveOk As Boolean = True
Dim nPhase As Integer = 1
Dim nRawId As Integer = GDB_ID.NULL
While nPhase <= EgtGetPhaseCount()
EgtSetCurrPhase(nPhase)
nRawId = EgtGetFirstRawPart()
While nRawId <> GDB_ID.NULL
If EgtVerifyRawPartPhase(nRawId, nPhase) Then
If Not EgtMoveRawPart(nRawId, vtMove) Then
bMoveOk = False
Exit While
End If
End If
nRawId = EgtGetNextRawPart(nRawId)
End While
If Not bMoveOk Then Exit While
nPhase += 1
End While
' Se movimento impossibile, ripristino posizione dei grezzi già spostati
If Not bMoveOk Then
Dim nRevPhase As Integer = 1
Dim nRevRawId As Integer = GDB_ID.NULL
While nRevPhase <= nPhase
EgtSetCurrPhase(nRevPhase)
nRevRawId = EgtGetFirstRawPart()
While nRevRawId <> GDB_ID.NULL And (nRevPhase < nPhase Or nRevRawId <> nRawId)
If EgtVerifyRawPartPhase(nRevRawId, nRevPhase) Then
EgtMoveRawPart(nRevRawId, -vtMove)
End If
nRevRawId = EgtGetNextRawPart(nRevRawId)
End While
nRevPhase += 1
End While
End If
' Muovo i punti SpotReg generati nel programma OFFICE
If bMoveOk Then
OmagOFFICEMap.refRawPartTabVM.MoveAllSpotRegistration(vtMove)
End If
' Ripristino lo stato iniziale
EgtSetCurrPhase(1)
HideAllMachinings()
End Sub
' verifica che la rotazione sia ammessa
Private Function RotatePartInsideBond(dAngRotDeg As Double, nIdMove As Integer) As Boolean
' Verifico se ci sono dei pezzi bloccati in rotazione
@@ -2375,6 +2170,10 @@ Public Class NestingTabVM
#Region "EVENTS"
Friend Sub OnMouseDownScene(sender As Object, e As Windows.Forms.MouseEventArgs)
Dim nCtx As Integer = EgtGetCurrentContext()
Dim x As Integer = EgtGetFirstInGroup(0)
Dim y As Integer = EgtGetLastInGroup(0)
Dim z As Integer = EgtGetFirstPart()
' se in modalità DragRectangle (deformazione delle componenti rettangolari)
If m_bDragRectangle Then
OnMyMouseDownSceneSelSideRectangle(sender, e)
@@ -2407,8 +2206,6 @@ Public Class NestingTabVM
While nId <> GDB_ID.NULL
' Recupero l'identificativo del pezzo cui appartiene
Dim nPartId As Integer = EgtGetParent(EgtGetParent(nId))
Dim sNamePartId As String = String.Empty
EgtGetName(nPartId, sNamePartId)
Dim bPartInTable As Boolean = (EgtGetParent(nPartId) = GetRawId())
If EgtIsPart(nPartId) Or bPartInTable Then
Dim nStat As Integer = GDB_ST.ON_
@@ -2446,102 +2243,6 @@ Public Class NestingTabVM
' Drag possibile
m_bDrag = True
Exit While
Else
' verifico se l'elemento selezionato è il nome della tavola
If EgtGetType(nId) = GDB_TY.EXT_TEXT AndAlso (sNamePartId = MAIN_TAB Or
sNamePartId = SECOND_TAB Or
sNamePartId = THIRD_TAB Or
sNamePartId = FORTH_TAB) Then
' Apro la finestra per la selezione della tavola da usare
Dim ChgTbV As New ChangeTableV
Dim ChgTbVM As New ChangeTableVM(ChgTbV)
ChgTbV.DataContext = ChgTbVM
ChgTbV.ShowDialog()
' se non è stata eseguita nessuna scelta esco dal ciclo
If ChgTbVM.MyDialogResult = EnumDialogResult.CANCEL Or ChgTbVM.nSelectedTable = 0 Then Exit While
' recupero il nome della tavola corrente
Dim sOtherTab As String = GetTableName(ChgTbVM.nSelectedTable)
EgtChangeTable(sOtherTab, True)
EstCalc.AdjustAdditionalTable(True)
EgtSetMachineLook(MCH_LOOK.TAB)
' aggiorno le lavorazioni
UpdateAllMachiningsToolpaths()
' aggiorno i movimenti pezzi tra disposizioni
For nI As Integer = 1 To EgtGetPhaseCount()
EgtSetCurrPhase(nI)
Dim nDispId As Integer = EgtGetPhaseDisposition(nI)
SpecialApplyDisposition(nDispId, True)
Next
' aggiorno posizionamento ventose per lavorazioni da sotto
UpdateVacuumsForDrip()
' dichiaro tutto aggiornato
EstCalc.SetOrderMachiningFlag()
EgtSetCurrPhase(1)
' aggiorno posizione pezzi in parcheggio
Dim nPPId As Integer = EgtGetFirstPart()
While nPPId <> GDB_ID.NULL
PackPartInStore(nPPId)
nPPId = EgtGetNextPart(nPPId)
End While
' se prevista rotazione
If GetPrivateProfileInt(S_TABLE, K_CHANGETABWD, 0, CurrentMachine.sMachIniFile) = 2 Then
' Dati tavola
Dim b3Tab As New BBox3d
EgtGetTableArea(1, b3Tab)
' Box lastra
Dim b3OrigRaw As New BBox3d
GetRawBox(b3OrigRaw)
' Allargo i limiti della tavola in tutte le fasi
Const TAB_OFFS As Double = 3000
For nI As Integer = 1 To EgtGetPhaseCount()
EgtSetCurrPhase(nI)
EgtSetTableAreaOffset(TAB_OFFS, TAB_OFFS, TAB_OFFS, TAB_OFFS)
Next
' aggiorno posizionamento ventose per lavorazioni da sotto
UpdateVacuumsForDrip()
' dichiaro tutto aggiornato
EstCalc.SetOrderMachiningFlag()
EgtSetCurrPhase(1)
' Rotazione
Dim dAngRot As Double = If(sOtherTab = SECOND_TAB, 180, -180)
If Not RotateAllRawParts(dAngRot, False) Then
'm_CurrProjPage.SetWarningMessage(EgtMsg(90339)) 'Rotazione impossibile
End If
' Traslazione per riportare la lastra nella stessa posizione rispetto all'angolo BL che diveta TR e viceversa
Dim b3Raw As New BBox3d
GetRawBox(b3Raw)
Dim vtMove As Vector3d
If sOtherTab = SECOND_TAB Then
Dim vtDiffIni As Vector3d = b3OrigRaw.Min() - b3Tab.Min()
Dim vtDiffFin As Vector3d = b3Tab.Max() - b3Raw.Max()
vtMove = vtDiffFin - vtDiffIni
Else
Dim vtDiffIni As Vector3d = b3Tab.Max() - b3OrigRaw.Max()
Dim vtDiffFin As Vector3d = b3Raw.Min() - b3Tab.Min()
vtMove = -(vtDiffFin - vtDiffIni)
End If
vtMove.z = 0
MoveAllRawParts(vtMove)
' Ripristino i limiti della tavola in tutte le fasi
For nI As Integer = 1 To EgtGetPhaseCount()
EgtSetCurrPhase(nI)
EgtSetTableAreaOffset(0, 0, 0, 0)
Next
EgtSetCurrPhase(1)
HideAllMachinings()
End If
' visualizzazione
EgtZoom(ZM.ALL)
' Elimino il datacontext della finsetra per la selezione della tavola
ChgTbVM = Nothing
Exit While
End If
End If
nId = EgtGetNextObjInSelWin()
End While
+4 -8
View File
@@ -43,7 +43,7 @@ Public Class RawPartTabVM
Private m_nTempLay As Integer = GDB_ID.NULL
' Layer per crocette dei punti REG
Friend m_nRegGroupId As Integer = GDB_ID.NULL
Private m_nRegGroupId As Integer = GDB_ID.NULL
' Numero di spot inseriti nel grezzo corrente
Private m_nCountSpot As Integer = 0
' Gruppo Spot attualmente selezionato
@@ -1978,14 +1978,10 @@ Public Class RawPartTabVM
Return True
End Function
Friend Sub MoveAllSpotRegistration(vtMove As Vector3d, Optional bOnlyOfficeSpot As Boolean = True)
Dim nId As Integer = EgtGetFirstInGroup(OmagOFFICEMap.refRawPartTabVM.m_nRegGroupId)
Private Sub MoveAllSpotRegistration(vtMove As Vector3d)
Dim nId As Integer = EgtGetFirstInGroup(m_nRegGroupId)
While nId <> GDB_ID.NULL
Dim sName As String = String.Empty
EgtGetName(nId, sName)
If Not sName.Contains("CUT") Or Not bOnlyOfficeSpot Then
EgtMove(nId, vtMove)
End If
EgtMove(nId, vtMove)
nId = EgtGetNext(nId)
End While
EgtDraw()
Binary file not shown.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 329 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 301 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 125 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 170 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

+18 -12
View File
@@ -31,7 +31,7 @@ Public Class SideEntityControlVM
' Variabile che indica se sono in sideangle o drip
Friend m_Mode As ModeOpt
Friend Shared m_SideAngleCheck As Boolean = False
Friend Shared m_SideAngleCheck As Boolean = True
' Lista di tutte le entità (inclinabili) presenti nel progetto
Private m_SideEntityList As ObservableCollection(Of SideEntity)
@@ -70,7 +70,7 @@ Public Class SideEntityControlVM
sMsg = EgtMsg(91653)
ElseIf m_Mode = SideEntityControlVM.ModeOpt.ALZANDFRONT Then
' Alz
sMsg = EgtMsg(91674)
sMsg = "Alz."
End If
Return sMsg
End Get
@@ -87,7 +87,7 @@ Public Class SideEntityControlVM
sMsg = EgtMsg(91654)
ElseIf m_Mode = SideEntityControlVM.ModeOpt.ALZANDFRONT Then
' Front
sMsg = EgtMsg(91675)
sMsg = "Front."
End If
Return sMsg
End Get
@@ -102,7 +102,8 @@ Public Class SideEntityControlVM
Get
If m_Mode = ModeOpt.SIDEANGLE Then
If m_SideAngleCheck Then
Return Visibility.Visible
'Return Visibility.Visible
Return Visibility.Collapsed
Else
Return Visibility.Collapsed
End If
@@ -568,8 +569,10 @@ Public Class SideEntityControlVM
'------------------ VISIBILITA' PARAMETRI
' Gestisco visualizzazione dei parametri (sotto l'elenco dei parametri)
If m_Mode = ModeOpt.SIDEANGLE Then
Parameter23_Visibility = Windows.Visibility.Hidden
Parameter2_Visibility = Visibility.Visible
Parameter23_Visibility = Visibility.Hidden
'' Prima dell'inserimento della nuova gestione
'Parameter2_Visibility = Visibility.Visible
Parameter2_Visibility = Visibility.Hidden
Parameter2ab_Visibility = Visibility.Hidden
Parameter4_Visibility = Visibility.Hidden
Parameter5_Visibility = Visibility.Hidden
@@ -617,7 +620,7 @@ Public Class SideEntityControlVM
ElseIf m_Mode = ModeOpt.FILOTOP Then
Parameter1Msg = EgtMsg(MSG_IMPORTPAGEUC + 10) ' Offset
Parameter2Msg = EgtMsg(MSG_IMPORTPAGEUC + 11) ' Depth
Parameter5Msg = EgtMsg(91676) ' Round Off
Parameter5Msg = "Round Off"
m_dOffsetFiloTop = GetMainPrivateProfileDouble(S_SIDES, K_FILOTOPOFFSET, 5)
m_dDepthFiloTop = GetMainPrivateProfileDouble(S_SIDES, K_FILOTOPDEPTH, 5)
m_bCornerRadius = GetMainPrivateProfileInt(S_SIDES, K_FILOTOPROUNDOFF, 0) <> 0
@@ -646,9 +649,9 @@ Public Class SideEntityControlVM
ElseIf m_Mode = ModeOpt.ALZANDFRONT Then
' definisco i nomi dei campi
Parameter1Msg = EgtMsg(91677) ' Spessore
Parameter2Msg = EgtMsg(91678) ' Altezza
Parameter3Msg = EgtMsg(91679) ' Delta Ang.
Parameter1Msg = "Spessore"
Parameter2Msg = "Altezza"
Parameter3Msg = "Delta Ang."
' carico i valori letti da file ini
m_HeightA = GetMainPrivateProfileDouble("Alz&Front", "A_Height", 0)
m_HeightF = GetMainPrivateProfileDouble("Alz&Front", "F_Height", 0)
@@ -1844,7 +1847,7 @@ Public Class SideEntityControlVM
Dim sMsg As String = String.Empty
' eseguo la funzione per il disegno della componente (CMP_Draw)
If Not EgtLuaExecLine("CMP_Draw" & "(true)") Then
sMsg = EgtMsg(91680) ' Error in component execution
sMsg = "Error in component execution"
'm_bDrawOk = False
Else
EgtLuaGetGlobStringVar("CMP" & ".MSG", sMsg)
@@ -2116,7 +2119,10 @@ Public MustInherit Class SideEntity
Get
If m_Mode = SideEntityControlVM.ModeOpt.SIDEANGLE Then
If SideEntityControlVM.m_SideAngleCheck Then
Return Visibility.Collapsed
'' Per ogni lato della compo visulizzo solo la CheckBox
'Return Visibility.Collapsed
' Per ogni lato della compo visulizzo campi Ang a Hill
Return Visibility.Visible
Else
Return Visibility.Visible
End If
+2 -2
View File
@@ -456,6 +456,7 @@ Public Class TopCommandBarVM
If String.IsNullOrEmpty(sFilePath) Then EgtGetCurrFilePath(sFilePath)
Dim nPartInRawsProj As Integer = 0
Dim nGrpId = EgtGetFirstMachGroup()
While nGrpId <> GDB_ID.NULL
' Imposto la macchinata corrente
EgtSetCurrMachGroup(nGrpId)
@@ -467,6 +468,7 @@ Public Class TopCommandBarVM
End While
nGrpId = EgtGetNextMachGroup(nGrpId)
End While
nGrpId = EgtGetFirstMachGroup()
While nGrpId <> GDB_ID.NULL
' percorso progetto
@@ -482,8 +484,6 @@ Public Class TopCommandBarVM
EgtOutLog(" NbrProjParts:" & nPartInRawsProj.ToString)
' Reimposto la macchina corrente
EgtSetCurrMachGroup(CurrGrpId)
' Nascondo tutte le lavorazioni
CamAuto.HideAllMachinings()
End Sub
End Class
File diff suppressed because it is too large Load Diff
+12
View File
@@ -35,6 +35,7 @@ Module OmagOFFICEMap
Private m_refSimulTabVM As SimulTabVM
Private m_refSceneHostVM As SceneHostVM
Private m_refVeinMatchingWindow As VeinMatchingWindow
#Region "Get"
@@ -168,6 +169,12 @@ Module OmagOFFICEMap
End Get
End Property
Public ReadOnly Property refVeinMatchingWindow As VeinMatchingWindow
Get
Return m_refVeinMatchingWindow
End Get
End Property
#End Region ' Get
#Region "Set"
@@ -284,6 +291,11 @@ Module OmagOFFICEMap
Return m_HeightProjectV
End Function
Friend Function SetRefVeinMatchingWindow(_VeinMatchingWindow As VeinMatchingWindow) As Boolean
m_refVeinMatchingWindow = _VeinMatchingWindow
Return Not IsNothing(m_refVeinMatchingWindow)
End Function
#End Region ' Set
#Region "Init"
+1
View File
@@ -32,6 +32,7 @@ Public Class VeinMatchPanelVM
VeinMatchingWnd.Show()
Else
VeinMatchingWnd.Hide()
'VeinMatchingWnd.ClosePopUps()
End If
EgtSetCurrentContext(OmagOFFICEMap.refSceneHostVM.MainScene.GetCtx())
End Set