OpenCADStudio: Come un appassionato scrive CAD in Rust e lo esegue nel browser
Chiunque abbia mai provato ad aprire rapidamente un file DWG su Linux o macOS senza acquistare pesanti pacchetti proprietari conosce questo problema. Le opzioni sono solitamente limitate: o versioni gratuite ridotte all'osso di software professionali, o vecchie utility con grafica degli inizi degli anni 2000.
Su GitHub è apparso un progetto interessante chiamato OpenCADStudio (OCS). È un editor CAD 2D e 3D, completamente scritto in Rust. La cosa migliore — l'autore ha implementato il supporto nativo per i formati DWG e DXF senza librerie di terze parti ingombranti e ha creato una versione WebAssembly funzionante che può essere aperta direttamente nel browser.
Cosa può fare il progetto
L'interfaccia di OpenCADStudio è stata progettata tenendo a mente il classico AutoCAD. In basso c'è la familiare riga di comando con l'autocomplete, in alto il menu Ribbon, e ai lati i pannelli per i layer e le proprietà della geometria.
Se si guarda l'elenco dei comandi supportati, diventa chiaro: non è un concetto astratto, ma un programma funzionante.
Lettura e scrittura dei file
L'editor può leggere e salvare disegni DWG e DXF dalle versioni R13 a R2018. È disponibile l'esportazione in STL, STEP AP203 e PDF per la stampa. Se hai bisogno di caricare un modello 3D già pronto, è supportata l'importazione in formato OBJ.
Disegno 2D e annotazioni
L'arsenale dell'editor include un set base di strumenti di disegno: linee, polilinee, cerchi, archi, spline e impostazioni di hatch. I comandi di editing come TRIM, EXTEND, OFFSET o FILLET funzionano con la maggior parte dei tipi di linea.
Non hanno dimenticato nemmeno la documentazione:
- Quote lineari, angolari, radiali eordinate con supporto DIMSTYLE.
- Blocchi di testo MTEXT e leader MLEADER.
- Tabelle e telai GD&T.
Modellazione 3D
Per lavorare con oggetti volumetrici, OCS utilizza primitive come cubi, sfere o cilindri, oltre a operazioni di estrusione (EXTRUDE, REVOLVE, LOFT, SWEEP). Il rendering dei corpi ACIS gestisce le regioni planari ei solidi 3D complessi.
Spazio carta e finestre di vista
OCS include il supporto completo per Paper Space. Puoi creare più schede di layout, configurare le finestre di vista con le proiezioni del modello e inviare il foglio finale a una stampante fisica.
Componenti tecnici interni
Il motore principale di OpenCADStudio è il linguaggio Rust e l'API grafica wgpu. Questo offre all'autore un rendering pulito con accelerazione GPU e anti-aliasing MSAA 4×.
Grazie a WebGPU e alla compilazione in WebAssembly, il progetto funziona in un normale browser web. Puoi aprire le GitHub Pages del progetto e visualizzare qualsiasi disegno senza installare il programma sul tuo PC.
Durante il rendering, vengono prese in considerazione le funzionalità specifiche del CAD:
- Polilinee larghe con riempimento solido.
- Tipi di linea complessi contenenti testo e simboli incorporati.
- Adattamento automatico del colore della geometria per lo sfondo chiaro o scuro dell'area di lavoro.
- Mascheratura degli oggetti (Wipeout) e sottofondi raster tramite il comando
IMAGE.
Come eseguire l'editor
Se la versione del browser non è sufficiente, sono disponibili binari desktop per i principali sistemi.
Per Linux, lo sviluppatore crea un AppImage che non richiede dipendenze aggiuntive:
chmod +x OpenCADStudio-*-linux-x86_64.AppImage
./OpenCADStudio-*-linux-x86_64.AppImage
Per gli utenti macOS su Apple Silicon, è più comodo installare l'app tramite Homebrew:
brew install --cask --no-quarantine \
https://raw.githubusercontent.com/HakanSeven12/OpenCADStudio/main/packaging/homebrew/open-cad-studio.rb
Compilare dal codice sorgente è standard per Rust (richiesta la versione del compilatore 1.75+):
git clone https://github.com/HakanSeven12/OpenCADStudio.git
cd OpenCADStudio
cargo build --release --bin OpenCADStudio
./target/release/OpenCADStudio
Stato attuale delle cose
OpenCADStudio è attualmente in fase di sviluppo attivo. Il repository ha appena più di 570 stelle e circa 80 issue aperte, e la documentazione è attualmente limitata al file README.
Per un'ingegneria commerciale complessa, il software potrebbe ancora non essere all'altezza. Ma se hai bisogno di un leggero visualizzatore e editor DWG per Linux, o vuoi studiare l'architettura di una vera applicazione grafica in Rust, il progetto vale la pena esplorarlo. Provare la versione web e aprire il tuo file direttamente nel browser è un ottimo modo per scoprire le capacità del Rust moderno nella grafica.
Progetti correlati