OpenCADStudio : comment un passionné écrit un logiciel CAO en Rust et le fait tourner dans le navigateur
Quiconque a déjà essayé d'ouvrir rapidement un fichier DWG sous Linux ou macOS sans acheter de lourds logiciels propriétaires connaît cette galère. Les options sont généralement limitées : soit des versions gratuites réduites de logiciels professionnels, soit d'anciens utilitaires avec des graphismes dignes du début des années 2000.
Un projet intéressant appelé OpenCADStudio (OCS) est apparu sur GitHub. Il s'agit d'un éditeur CAO 2D et 3D, entièrement écrit en Rust. Le meilleur dans tout ça — l'auteur a implémenté le support natif des formats DWG et DXF sans avoir recours à des bibliothèques tierces volumineuses, et a construit une version WebAssembly fonctionnelle qui peut s'ouvrir directement dans le navigateur.
Ce que le projet peut faire
L'interface d'OpenCADStudio a été conçue en s'inspirant du AutoCAD classique. En bas se trouve la ligne de commande familière avec l'autocomplétion, en haut le menu Ruban, et sur les côtés les panneaux pour les calques et les propriétés de géométrie.
Si l'on regarde la liste des commandes prises en charge, une chose devient claire : ce n'est pas un concept abstrait, mais un programme fonctionnel.
Lecture et écriture de fichiers
L'éditeur peut lire et enregistrer des dessins DWG et DXF des versions R13 à R2018. Il y a l'export vers STL, STEP AP203 et PDF pour l'impression. Si vous avez besoin de charger un modèle 3D prêt à l'emploi, l'import du format OBJ est pris en charge.
Dessin 2D et annotations
L'arsenal de l'éditeur comprend un ensemble d'outils de dessin de base : lignes, polylignes, cercles, arcs, splines et paramètres de hachures. Les commandes d'édition comme TRIM, EXTEND, OFFSET ou FILLET fonctionnent avec la plupart des types de lignes.
Ils n'ont pas non plus oublié la documentation :
- Cotes linéaires, angulaires, radiales et ordonnées avec support DIMSTYLE.
- Blocs de texte MTEXT et lignes d'attache MLEADER.
- Tableaux et cadres GD&T.
Modélisation 3D
Pour travailler avec des objets volumiques, OCS utilise des primitives comme les cubes, les sphères ou les cylindres, ainsi que des opérations d'extrusion (EXTRUDE, REVOLVE, LOFT, SWEEP). Le rendu de corps ACIS gère les régions planes et les solides 3D complexes.
Espace papier et fenêtres de visualisation
OCS inclut un support complet de l'Espace papier. Vous pouvez créer plusieurs onglets de présentation, configurer des fenêtres de visualisation avec les projections du modèle, et envoyer la feuille finale vers une imprimante physique.
Fonctionnement technique
Le moteur principal d'OpenCADStudio est le langage Rust et l'API graphique wgpu. Cela permet à l'auteur d'obtenir un rendu accéléré par GPU propre avec un anticrénelage MSAA 4×.
Grâce à WebGPU et à la compilation en WebAssembly, le projet fonctionne dans un navigateur web classique. Vous pouvez ouvrir les GitHub Pages du projet et visualiser n'importe quel dessin sans installer le programme sur votre PC.
Lors du rendu, les fonctionnalités spécifiques à la CAO sont prises en compte :
- Polylignes larges avec remplissage solide.
- Types de lignes complexes contenant du texte et des symboles intégrés.
- Adaptation automatique de la couleur de la géométrie pour un fond clair ou sombre de l'espace de travail.
- Masquage d'objets (Wipeout) et superpositions raster via la commande
IMAGE.
Comment exécuter l'éditeur
Si la version navigateur ne suffit pas, des binaires desktop sont disponibles pour les principaux systèmes.
Pour Linux, le développeur propose un AppImage qui ne nécessite pas de dépendances supplémentaires :
chmod +x OpenCADStudio-*-linux-x86_64.AppImage
./OpenCADStudio-*-linux-x86_64.AppImage
Pour les utilisateurs macOS sur Apple Silicon, il est plus pratique d'installer l'application via Homebrew :
brew install --cask --no-quarantine \
https://raw.githubusercontent.com/HakanSeven12/OpenCADStudio/main/packaging/homebrew/open-cad-studio.rb
Compiler à partir des sources est standard pour Rust (version du compilateur 1.75+ requise) :
git clone https://github.com/HakanSeven12/OpenCADStudio.git
cd OpenCADStudio
cargo build --release --bin OpenCADStudio
./target/release/OpenCADStudio
État actuel des choses
OpenCADStudio est actuellement en développement actif. Le dépôt compte un peu plus de 570 étoiles et environ 80 issues ouvertes, et la documentation se limite actuellement au fichier README.
Pour de l'ingénierie commerciale complexe, le logiciel peut encore être insuffisant. Mais si vous avez besoin d'un visualiseur et éditeur DWG léger pour Linux, ou si vous souhaitez étudier l'architecture d'une vraie application graphique en Rust, le projet mérite qu'on s'y intéresse. Essayer la version web et ouvrir votre fichier directement dans le navigateur est un excellent moyen de découvrir les capacités modernes de Rust en matière de graphisme.
Projets similaires