BenchUp sfida SketchUp: modellazione 3D gratis con Rust e WebGPU

BenchUp è un software open source per la modellazione 3D, disponibile su Windows, Linux, macOS e browser. Scritto in Rust con WebGPU, permette di progettare mobili, creare incastri, gestire materiali e preparare piani di taglio.

Un software di modellazione 3D gratuito e open source, utilizzabile direttamente dal browser oppure installabile su Windows, Linux e macOS, con strumenti per progettare mobili, lavorare sulle geometrie e preparare i tagli del legno. Si chiama BenchUp, nasce come KetchUp e propone un’alternativa a SketchUp che merita attenzione soprattutto per le tecnologie utilizzate: Rust, WebAssembly e WebGPU.

Per anni SketchUp ha rappresentato uno dei riferimenti della modellazione tridimensionale accessibile, grazie a un approccio che permette di trasformare rapidamente disegni bidimensionali in oggetti 3D. BenchUp riprende parte di quella filosofia, ma sceglie una strada differente: codice aperto, elaborazione locale e un’applicazione capace di funzionare tanto sul desktop quanto all’interno del browser.

BenchUp, alternativa SketchUp

BenchUp: come funziona l’alternativa open source a SketchUp

Il progetto, disponibile su GitHub con licenza MIT, è ancora giovane. Non nasce per sostituire immediatamente ogni funzionalità di SketchUp, ma l’interfaccia di BenchUp segue un’impostazione familiare per chi ha utilizzato programmi CAD o software per la modellazione 3D. Si parte da un’area di lavoro vuota, nella quale disegnare linee, rettangoli, cerchi, poligoni e forme libere.

Lo strumento Push/Pull permette di trasformare una superficie piana in un volume: basta selezionare una faccia e trascinarla lungo un asse per assegnarle profondità. È uno dei meccanismi che hanno contribuito al successo di SketchUp e rende relativamente immediata la costruzione di oggetti semplici.

BenchUp comprende anche operazioni di spostamento, rotazione, ridimensionamento e offset, oltre a strumenti per applicare colori, misurare distanze e inserire quote.

Lo snapping geometrico facilita l’allineamento a vertici, spigoli e assi; l’inserimento di misure numeriche consente invece di lavorare con dimensioni precise, senza affidarsi esclusivamente al trascinamento del mouse.

Gruppi, componenti riutilizzabili e tag aiutano a organizzare modelli complessi. Per esempio, progettando una libreria, si possono gestire separatamente montanti e ripiani, controllandone posizione e dimensioni prima di passare alla realizzazione.

Non soltanto disegno 3D: incastri, materiali e piani di taglio

La specializzazione nella falegnameria distingue BenchUp da un modellatore generico: il programma comprende strumenti per realizzare giunzioni tra elementi in legno, inclusi incastri a tenone e mortasa, a mezzo legno, a coda di rondine e a dita.

L’utente può modificare dimensioni e tolleranze degli incastri, osservare un’anteprima del risultato e consultare indicazioni relative alle lavorazioni. Il programma permette inoltre di controllare l’orientamento delle fibre del legno: un dettaglio importante quando si deve valutare il modo in cui assemblare le tavole.

Modellazione 3D legno e mobili

La documentazione descrive anche funzionalità per associare materiali ai componenti, preparare liste e piani di taglio, generare etichette per il laboratorio ed esportare documenti PDF con stime dei tempi e dei costi.

BenchUp prova a collegare due attività che spesso richiedono strumenti differenti: la progettazione tridimensionale dell’oggetto e la preparazione delle lavorazioni necessarie per costruirlo.

Perché Rust, WebAssembly e WebGPU

La parte tecnicamente più interessante riguarda l’architettura dell’applicazione. BenchUp utilizza Rust, linguaggio che combina compilazione nativa, controllo esplicito delle risorse e garanzie di sicurezza della memoria attraverso il sistema di ownership e borrowing.

Il progetto può raggiungere il browser grazie a WebAssembly (Wasm), formato eseguibile che consente di distribuire codice compilato sul Web senza riscrivere l’intera applicazione in JavaScript.

Per il rendering interviene WebGPU, API moderna che permette alle applicazioni Web di sfruttare la GPU attraverso un’interfaccia progettata per operazioni grafiche e computazionali. BenchUp utilizza la libreria Rust wgpu, che astrae l’accesso alle API grafiche disponibili sulle diverse piattaforme. Servono comunque un browser desktop compatibile, l’accelerazione hardware attiva e driver grafici adeguati.

Come provare BenchUp su Windows, Linux e macOS

Il modo più rapido consiste nell’aprire BenchUp direttamente nel browser; non occorre creare un account.

In alternativa, dalla pagina dei rilasci GitHub si possono scaricare gli installer per Windows x64 e macOS Apple Silicon oppure l’AppImage per Linux x64.

Per chi desidera compilare il programma, il repository indica Rust 1.95 o successivo e, per l’applicazione desktop, il comando cargo run -p benchup-app. La compilazione Web utilizza invece Trunk e il target wasm32-unknown-unknown.

Il programma salva automaticamente il lavoro in locale: i progetti possono essere conservati in file .bup, mentre l’importazione supporta geometrie SketchUp .skp e l’esportazione utilizza il formato Wavefront .obj.

L’importazione non garantisce tuttavia la conservazione di ogni caratteristica dei file SketchUp: texture, scene e alcune funzionalità del modello non sono supportate; l’esportazione OBJ comprende la geometria, non i materiali. Inoltre, cancellando i dati del browser si rischia di perdere i progetti salvati automaticamente se non si dispone di una copia esportata.

Un progetto promettente, ma non ancora un sostituto universale di SketchUp

BenchUp è un progetto interessante soprattutto perché dimostra come sia possibile realizzare un’applicazione di modellazione 3D moderna, utilizzabile sia dal browser sia come programma desktop, sfruttando Rust, WebAssembly e l’accelerazione grafica offerta da WebGPU. La disponibilità del codice sorgente e l’assenza di un abbonamento rappresentano ulteriori punti a favore, soprattutto per chi desidera sperimentare senza vincoli commerciali.

Prima di adottarlo per lavori professionali, tuttavia, è opportuno verificarne l’affidabilità su progetti reali, controllare la precisione delle geometrie e delle quote e valutare i limiti dell’importazione e dell’esportazione dei file. La compatibilità con SketchUp, in particolare, non è ancora tale da garantire un passaggio indolore tra i due programmi.

Più che un sostituto completo di SketchUp, almeno per il momento, BenchUp appare quindi come uno strumento promettente per chi progetta mobili, realizza lavori di falegnameria o vuole avvicinarsi alla modellazione tridimensionale. Il suo interesse, però, va oltre le funzionalità disponibili oggi: mostra concretamente quanto si possa ottenere combinando un linguaggio compilato come Rust con tecnologie Web capaci di sfruttare direttamente la GPU, riducendo la distanza tra applicazioni native e software eseguiti nel browser.

Ti consigliamo anche

Link copiato negli appunti