SolidCraft, présentation

SolidCraft : analyse technique, fonctionnelle et stratégique du logiciel de CAO paramétrique open source

1. Vue d’ensemble et genèse du projet SolidCraft

La conception assistée par ordinateur (CAO) 3D paramétrique traverse une mutation structurelle portée par le besoin fondamental des ingénieurs et techniciens de s’affranchir des écosystèmes propriétaires clos et de leurs modèles d’abonnement SaaS contraints. C’est dans cette dynamique technologique qu’émerge SolidCraft, un logiciel de CAO paramétrique libre développé de manière indépendante sous l’égide de Tangency Labs. Connu à ses débuts sous la dénomination SolveCraft jusqu me la version 0.14.0, le projet introduit un paradigme réinventé : rebâtir l’intégralité des fondations de la modélisation géométrique en s’appuyant exclusivement sur le langage Rust. Cette initiative vise à fournir une plateforme souveraine, hautement performante et nativement automatisable, capable d’offrir une ergonomie moderne tout en garantissant un contrôle absolu sur le code source, la mémoire et les données de conception.

Voir la présentation vidéo:

L’historique du projet témoigne d’un rythme de développement exceptionnel. Le tout premier commit a été effectué par le développeur bherbruck le 7 octobre 2026, immédiatement suivi le 9 octobre 2026 par la publication de la version 0.1.0. Intégré au sein de l’organisation Tangency Labs sur GitHub, le dépôt a rapidement mobilisé les communautés de développeurs et de makers. L’adoption du logiciel est grandement facilitée par son modèle juridique : le code source est distribué sous une double licence permissive au choix de l’utilisateur, MIT ou Apache-2.0. Cette liberté favorise les contributions et autorise les réutilisations industrielles ou privées sans contrainte de copyleft strict. Il convient toutefois de souligner une nuance juridique cruciale : si le code moteur est permissif, l’identité visuelle et l’interface graphique de SolidCraft font l’objet d’une protection spécifique via la licence LICENSE-BRAND. Celle-ci protège explicitement le nom, le logo, l’icône de l’application, le kit d’interface utilisateur (UI kit), les thèmes intégrés ainsi que leurs jetons de design (design tokens), interdisant leur réutilisation directe dans des produits dérivés commerciaux tiers sans autorisation écrite préalable.

Afin d’assurer une accessibilité maximale quel que soit l’environnement de déploiement, Tangency Labs propose une matrice d’installation particulièrement exhaustive :

  • Windows :
    • Installeurs officiels au format MSI pour architectures x64, ARM64 et x86 (32 bits).
    • Archives portables ZIP sans installation (x64, ARM64, x86).
    • Exécutable autonome direct (App standalone EXE x64).
  • macOS :
    • Image disque DMG Universal (prenant en charge nativement les puces Apple silicon et les processeurs Intel).
    • Distribution via le gestionnaire de paquets Homebrew cask (brew install --cask tangency-labs/tap/solidcraft).
    • Archive CLI autonome au format ZIP Universal.
  • Linux & FreeBSD :
    • Paquets Linux prêts à l’emploi : AppImage, Flatpak, Snap, DEB (Debian/Ubuntu) et RPM (Fedora/RHEL) pour architectures x64 et ARM64.
    • Archives brutes TAR (.tar.gz) pour Linux (x64 et ARM64).
    • Archive TAR dédiée pour FreeBSD x64.
  • Web & CLI :
    • Application web s’exécutant entièrement dans le navigateur via WebAssembly (Wasm), sans aucune installation préalable ni dépendance serveur.
    • Interface en ligne de commande (CLI headless) autonome pour les environnements de serveur et l’automatisation.

Cette polyvalence de déploiement, couvrant aussi bien les postes de travail de bureau que les navigateurs web et les infrastructures de serveur distantes, s’appuie sur une structure d’ingénierie logicielle rigoureuse au niveau de son architecture interne.

2. Architecture technique et noyau géométrique SolidCore

SolidCraft marque une rupture technologique délibérée vis-à-vis des logiciels de CAO historiques conçus en C++ au cours des quarante dernières années. Le choix d’une architecture 100 % Rust apporte des garanties fondamentales d’ingénierie logicielle : la sécurité mémoire native (memory safety) sans ramasse-miettes et l’exécution concurrente sans risque de compétition sur les données (data race freedom). La couche d’interface utilisateur repose sur la bibliothèque Rust egui, caractérisée par un rendu d’interface immédiat (immediate mode UI) d’une grande réactivité. La restitution visuelle 3D est confiée au moteur graphique wgpu, l’implémentation Rust de la norme WebGPU. Cette combinaison offre une accélération matérielle native sur GPU via Vulkan, Metal, Direct3D 12 ou OpenGL, tout en intégrant des mécanismes de secours sur processeur (rendu logiciel CPU) et une capacité de compilation directe vers le standard WebAssembly pour le web.

Au cœur du système, l’organisation du noyau géométrique repose sur le modèle de représentation par les frontières, ou B-rep (Boundary Representation). Le moteur modélise la topologie exacte des solides en structurant les entités sous forme de sommets (vertices), d’arêtes (edges), de boucles (loops), de faces et de coques (shells), s’appuyant sur des sous-jacents géométriques exacts constitués de courbes NURBS et de surfaces analytiques ou paramétriques. Pour éliminer toute dépendance envers des bibliothèques C++ propriétaires complexes, Tangency Labs a initié le développement de SolidCore, un noyau géométrique réécrit intégralement en Rust qui constitue un portage direct de la bibliothèque C++ open source SMLib initialement créée par NVIDIA.

L’état d’avancement de SolidCore traduit une stratégie de transition progressive et sécurisée : les primitives mathématiques, les calculs vectoriels et l’évaluation des courbes paramétriques NURBS sont d’ores et déjà pleinement portés et validés. Dans l’attente de la finalisation complète des algorithmes de raccordement topologique et de surfaces complexes au sein de SolidCore, les versions actuelles de SolidCraft exploitent temporairement le noyau B-rep open source Truck à la frontière géométrique. Cette abstraction permet d’exécuter les opérations booléennes volumiques et la reconstruction des coques topologiques sans compromettre la stabilité du moteur d’exécution.

Le schéma conceptuel ci-dessous illustre le découplage strict établi entre la couche de présentation/automation, le moteur logique paramétrique et la couche géométrique sous-jacente :

┌────────────────────────────────────────────────────────────────────────┐
│                      INTERFACE & AUTOMATION                            │
│   egui / wgpu GUI  │  WebApp (WebAssembly)  │  MCP Server / CLI Stdio  │
└───────────────────────────────────┬────────────────────────────────────┘
                                    │ Commandes JSON / AST
┌───────────────────────────────────▼────────────────────────────────────┐
│                  MOTEUR PARAMÉTRIQUE & CHRONOLOGIE                     │
│    Graphe de Dépendances  │  Solveur de Contraintes  │  Timeline Feature  │
└───────────────────────────────────┬────────────────────────────────────┘
                                    │ Ordres Topologiques
┌───────────────────────────────────▼────────────────────────────────────┐
│                    NOYAU GÉOMÉTRIQUE B-REP (RUST)                      │
│     SolidCore (Port SMLib)  /  Noyau Truck  (NURBS, Coques, Faces)     │
└────────────────────────────────────────────────────────────────────────┘

Cette rigueur architecturale sous-tend la gestion de l’historique de construction et garantit la reproductibilité absolue des opérations de modélisation 3D.

3. Modélisation paramétrique, fonctionnalités et interopérabilité

La modélisation au sein de SolidCraft s’effectue au travers d’une chronologie des fonctions (feature timeline). Dans ce paradigme, le solide 3D n’est pas une géométrie statique mais le résultat d’une séquence ordonnée d’instructions réévaluables. La valeur stratégique de ce système réside dans le re-calcul dynamique du graphe d’orienté acyclique de dépendances : lorsqu’une variable dimensionnelle ou un paramètre est modifié dans l’historique, l’intégralité des fonctions avales est reconstruite de manière automatisée et cohérente.

Sur le plan fonctionnel, le logiciel couvre un spectre très étendu des besoins de l’ingénierie mécanique :

  • Esquisses 2D et solveur de contraintes : Tracé d’entités (segments, arcs, cercles, splines NURBS, textes vectorisés, lignes infinies) associées à un solveur de contraintes géométriques (parallélisme, tangence, coïncidence, horizontalité, verticalité, égalité). Les dimensions sont pilotées par des expressions mathématiques prenant en charge les unités. Outre les esquisses planaires, le système gère les courbes 3D et les courbes définies par des équations explicites y=f(x) ou paramétriques x(t), y(t).
  • Fonctions 3D volumiques : Génération par extrusion, révolution, balayage le long d’un guide (sweep), lissage entre profils (loft), création de tuyaux (pipe) et primitives réglables (boîtes, cylindres, cônes). Les fonctions d’habillage incluent l’application de congés (fillets) avec ajustement dynamique par tirage (press pull), de chanfreins, de dépouilles, de coques à paroi constante, de perçages et de taraudages normalisés. Des répéteurs linéaires/circulaires, des symétries, ainsi que la séparation et le combiné de solides complètent l’atelier.
  • Tôlerie et boîtiers plastiques : Module spécialisé pour le pliage de tôlerie avec génération de rebords (flanges), d’ourlets (hems), d’opérations de pliage/dépliage et calcul automatique des développés de découpe à plat (flat pattern). Fonctions dédiées à la conception de boîtiers électroniques en plastique (lèvres d’emboîtement, plots de fixation).
  • Assemblages, cinématique et propriétés physiques (v0.14.0+) : Organisation multi-composants enrichie d’une prise en charge native des engrenages (roues dentées, crémaillères), de la cinématique inverse, des études de mouvement avec traces de trajectoire (motion trace), des ensembles de contact et de la détection d’interférences. L’attribution de matériaux spécifiques au sein du modèle (par exemple du PETG) permet le calcul et l’affichage dynamiques de la masse exacte, du volume et du centre de gravité dans l’onglet des propriétés.

L’interopérabilité de SolidCraft repose sur une matrice d’échange complète, structurée pour s’insérer aussi bien dans les flux de fabrication que dans les environnements CAO tiers :

Format de Fichier Type de Données Pris en Charge Import Export Conservation Historique Usage et Spécificités
.sc / .solidcraft Arbre de commandes JSON & B-rep Oui Oui Oui (Exhaustive) Format natif conservant l’intégralité des esquisses, contraintes, variables et la chronologie.
STEP (AP242) Solides et surfaces B-rep exacts Oui Oui Non Standard d’échange industriel neutre. L’importation génère un corps de base non paramétrique.
IGES Géométrie surfacique et volumique Oui Oui Non Transfert de topologies surfaciques B-rep ou de surfaces cousues d’ancienne génération.
3MF / STL / OBJ Maillages polygonaux (Facettes) Oui Oui Non Exportation vers les trancheurs (slicers) pour l’impression 3D. La commande mesh.convert permet de reconvertir des maillages simples fermés à section transversale constante (surfaces planaires et cylindriques) en solides B-rep paramétriques.
.FCStd (FreeCAD) Fichier projet complet FreeCAD Oui Non Non Importation géométrique d’assemblages ou de pièces FreeCAD introduite en v0.14.0 via l’intégrateur cadmpeg.
.3dm (Rhino) Surfaces et solides NURBS Oui Non Non Importation d’éléments surfaciques complexes issus de Rhino via l’intégrateur cadmpeg (v0.14.0).
DXF Vectoriel 2D et profils planaires Oui Oui Non Échange de profils d’esquisse 2D et d’esquisses de découpe à plat pour la tôlerie.
URDF Arborescence cinématique & joints Non Oui Non Exportation de la description d’assemblages articulés vers des simulateurs robotiques.

4. Automation agentique, protocole MCP et sous-système de plugins

La spécificité architecturale majeure de SolidCraft réside dans sa conception « agent-native ». Contrairement aux solutions traditionnelles qui greffent des scripts de manière périphérique, le logiciel expose l’intégralité de son moteur de commandes au protocole open source Model Context Protocol (MCP). Dans cet environnement, chaque interaction réalisable dans l’interface graphique (tracer une ligne, imposer une contrainte, modifier une variable) correspond à une commande JSON typée, exécutable directement par un agent IA (tel que Claude Code, Claude Desktop, Cursor ou OpenCode). Pour accroître l’ergonomie, l’interface graphique intègre un Chat IA natif équipé d’une file d’attente d’instructions, d’un bouton d’arrêt d’urgence (stop) et d’un sélecteur de modèles incluant notamment la prise en charge de Grok.

Le serveur MCP s’exécute localement via l’interface CLI et communique en JSON-RPC 2.0 au travers des flux Stdio. L’infrastructure propose deux modes d’exploitation distincts :

  • Mode autonome non graphique (headless) : Activé par la commande solidcraft-cli mcp, ce mode initialise une session de conception complète directement en mémoire système. Il est taillé pour les pipelines d’intégration continue (CI/CD), la génération de familles de pièces par lots ou les optimisations topologiques automatisées sans afficher de fenêtre graphique.
  • Mode bridgé (connecté) : Activé en démarrant l’application avec le drapeau de contrôle (par exemple solidcraft --control 7878 ou en connectant le CLI via le port TCP local 127.0.0.1:7878), ce mode établit une passerelle temps réel. L’utilisateur peut ainsi observer visuellement sur son écran les actions, esquisses et extrusions exécutées en arrière-plan par l’agent IA.

Le workflow d’interaction agentique suit une boucle méthodique structurée en 4 étapes :

  1. 01 / Build : L’agent invoque les fonctions de création géométrique (esquisses, contraintes, extrusions, assemblages) en transmettant des arguments JSON structurés.
  2. 02 / Inspect : L’agent utilise des outils de mesure (measure, body_topology) ou génère un rendu visuel hors écran (screenshot) pour évaluer la masse, la topologie ou l’aspect visuel de la pièce.
  3. 03 / Revise : L’agent modifie les variables dimensionnelles via la commande set_parameter pour ajuster les formes ou corriger une tolérance tout en préservant l’intégrité de la chronologie.
  4. 04 / Check : L’agent valide les contraintes géométriques finales et déclenche l’exportation du fichier dans un format neutre (STEP, 3MF).

Pour garantir la sécurité de l’hôte, le serveur MCP impose un périmètre d’accès strict au système de fichiers : par défaut, un agent ne peut lire ou écrire que dans des répertoires explicitement autorisés via le drapeau --allow-path <DIR>.

En parallèle de l’automation MCP, SolidCraft intègre un sous-système expérimental de plugins basé sur le runtime WebAssembly (WASM). Un plugin se présente sous la forme d’un dossier contenant un manifeste plugin.json et un composant compilé .wasm. L’exécution d’un plugin nécessite un déclenchement explicite par l’utilisateur (l’installation ou la simple ouverture d’un modèle ne déclenche aucun code). La sécurité s’appuie sur un mécanisme de hachage SHA-256 d’approbation, qui lie de manière indissociable les octets exacts du manifeste et du composant .wasm ; toute modification du fichier exige une nouvelle inspection (plugin.inspect) et une re-validation manuelle.

┌────────────────────────────────────────────────────────────────────────┐
│                     SOUS-SYSTÈME DE PLUGINS WASM                       │
│  Manifeste plugin.json + Composant .wasm  ==>  Hachage SHA-256 requis   │
├────────────────────────────────────────────────────────────────────────┤
│ Groupes de Permissions : file │ doc │ app │ plugin │ model.mesh        │
├────────────────────────────────────────────────────────────────────────┤
│ Plafonds par Défaut (Host) : Fuel: 10M / Mem: 64 MiB / Délai: 5000 ms  │
│ Overrides CLI (--plugin-limits JSON) | GUI Preferences                 │
│ Limite Technique Wasm32 : Mem max 4096 MiB | Deadline Absolue : 30 s   │
└────────────────────────────────────────────────────────────────────────┘

Le manifeste doit déclarer les groupes de permissions requis par le plugin : file (accès aux fichiers/exports), doc (gestion des documents CAO), app (paramètres système), plugin (interaction entre plugins), ainsi que la permission spécifique model.mesh, qui permet d’extraire les sommets (vertices) et triangles évalués d’un solide en millimètres sans effectuer de conversion de format.

L’exécution s’effectue dans un bac à sable dont les plafonds de ressources par défaut sont de 10 000 000 de carburant (fuel), 64 MiB de mémoire système et 5 000 ms de délai d’exécution (les plafonds maximaux tolérés par l’hôte étant de 100 milliards de fuel et 128 MiB par défaut). Les utilisateurs avancés peuvent ajuster ces plafonds dans l’interface graphique (Preferences > Plugins) ou charger un fichier de configuration JSON en ligne de commande via l’option --plugin-limits plugin-limits.json (pour étendre max_fuel et max_memory_mib). Du fait de l’architecture Wasm32 actuelle, la mémoire adressable par le guest est strictement plafonnée à 4096 MiB, tandis que l’hôte applique une deadline d’expiration maximale indépassable de 30 secondes par invocation. Les modifications validées sont adoptées sous la forme d’une étape d’annulation unique (Undo step) dans la chronologie.

Ce potentiel d’extension et d’automatisation agentique offre des perspectives inédites, qu’il convient d’évaluer face aux acteurs historiques du marché de la CAO.

5. Analyse comparative : SolidCraft face à FreeCAD et Autodesk Fusion 360

Afin de déterminer la position stratégique de SolidCraft, il est opportun de le comparer à FreeCAD, l’outil open source de référence historique, et à Autodesk Fusion 360, le leader propriétaire des solutions paramétriques sur le segment commercial.

Axe d’Évaluation SolidCraft FreeCAD Autodesk Fusion 360
Licence & Modèle économique Dual licence Open Source (MIT / Apache-2.0) ; Marque protégée (LICENSE-BRAND) Open Source Copyleft (LGPL-2.0+) Propriétaire (Abonnement SaaS payant / Licences restreintes)
Technologies & Noyau géométrique 100 % Rust (egui, wgpu) avec noyau SolidCore / Truck C++ et Python (Qt) avec noyau Open CASCADE (OCCT) C++ et composants cloud avec noyau propriétaire (Parasolid / SMG)
Architecture d’interface Chronologie paramétrique unifiée et intuitive Ateliers séparés (Workbenches : PartDesign, Sketcher…) Chronologie paramétrique unifiée
Moteur d’Automation & IA Serveur MCP natif, CLI JSON-RPC & Chat IA intégré API Python, Macros & extensions MCP tierces Fonctions d’IA cloud fermées et propriétaires
Prise en charge multiplateforme Desktop (Win/Mac/Linux/FreeBSD), Web Wasm, CLI Desktop (Windows, macOS, Linux) Desktop (Windows, macOS avec dépendance cloud)
Mise en plan 2D (TechDraw) Non disponible (Différé sur la feuille de route) Disponible (Module complet TechDraw) Disponible (Module Drawings complet)
Fabrication (CAM / Usinage) Non disponible (Délégué aux trancheurs externes) Disponible (Module Path / CAM) Avancée (Module CAM/Usinage multi-axes)
Calcul de structures (FEA) Non disponible Disponible (Module FEM / CalculiX) Avancée (Calcul et simulation local/cloud)

Sur le plan opérationnel, SolidCraft s’affranchit de la dette technique de FreeCAD en abandonnant la logique des ateliers morcelés au profit d’une chronologie unifiée. Cette approche élimine les problèmes récurrents de nommage topologique (topological naming issue) qui déstabilisent l’historique lors de la modification d’esquisses dans FreeCAD. Pour les pièces mécaniques simples à moyennement complexes, SolidCraft offre une réactivité visuelle et une vitesse d’exécution supérieures grâce à sa pile Rust/wgpu. En contrepartie, FreeCAD demeure indispensable pour les projets industriels exigeant la création de plans 2D normalisés (TechDraw) ou la génération de parcours d’outils CNC (Path).

Face à Autodesk Fusion 360, SolidCraft propose une ergonomie et un flux de travail très similaires (esquisses contraintes, fonctions 3D sur chronologie, gestion des paramètres). Cependant, SolidCraft garantit une souveraineté absolue des données (local-first). Tandis que Fusion 360 impose le stockage sur des serveurs distants, une connexion réseau permanente et des conditions d’utilisation modifiables unilatéralement, SolidCraft s’exécute en local, sans dépendance externe ni verrouillage commercial.

Cette analyse comparative prend tout son sens lorsqu’elle est confrontée aux retours d’expérience et aux bancs d’essai de la communauté.

6. Évaluation communautaire, performances et limites actuelles

L’accueil réservé à SolidCraft par les communautés d’ingénieurs, de développeurs et de makers (notamment sur Hackaday, EEVblog et GitHub) témoigne d’un réel enthousiasme pour l’architecture « pure Rust » et l’extrême légèreté de l’application. La possibilité d’exécuter un logiciel de CAO paramétrique complet dans un navigateur web via WebAssembly est saluée pour sa souplesse sur les terminaux légers.

Sur le plan des performances pures, le logiciel affiche des capacités de traitement remarquables lors de l’importation d’assemblages STEP volumineux. À titre d’exemple, l’importation complète du modèle de l’imprimante industrielle Prusa Core One s’exécute en environ 1 minute sous SolidCraft, contre 22,5 minutes sur d’autres outils libres concurrents. La réouverture ultérieure du fichier natif .solidcraft sauvegardé est quasi instantanée, ne prenant que 0,15 seconde.

En matière de précision géométrique, le moteur est soumis à une suite de tests rigoureuse appelée l’oracle géométrique. Sur 76 pièces de référence publiques, 75 pièces ont été validées avec une correspondance exacte par rapport aux valeurs analytiques ou calculées sous FreeCAD (pour le volume, la surface totale, le centre de masse et la boîte englobante). La 76e pièce correspond à un bogue identifié au niveau du calcul du parallélépipède englobant, actuellement en cours de résolution.

Malgré ces indicateurs très positifs, plusieurs réserves techniques sont formulées par les utilisateurs :

  • Absence de modules d’ingénierie intégrés : Le logiciel ne intègre pas à ce jour de modules pour le dessin technique 2D (mises en plan), la simulation par éléments finis (FEA) ou la fabrication assistée par ordinateur (CAM).
  • Signature de code sous Windows : Si les paquets macOS bénéficient d’une signature et d’une notarisation officielles via un compte Apple Developer ID, la configuration des certificats de signature de code Windows auprès de la fondation SignPath est en phase de finalisation. En conséquence, l’environnement Windows SmartScreen peut afficher une alerte de sécurité provisoire lors de l’installation, nécessitant de cliquer sur « Informations complémentaires » puis « Exécuter quand même ».

L’évaluation de cette maturité opérationnelle permet d’établir des préconisations claires pour les stratégies d’adoption futures.

7. Synthèse et recommandations stratégiques d’adoption

SolidCraft s’impose comme une avancée technologique majeure dans le paysage de la CAO paramétrique open source. En associant la sécurité mémoire et la vitesse du langage Rust à une architecture agent-native pilotée par MCP, Tangency Labs pose les bases d’un outil de modélisation 3D moderne, prêt pour l’ingénierie assistée par intelligence artificielle.

Au vu des caractéristiques analysées, les recommandations opérationnelles d’adoption s’établissent comme suit selon le profil des utilisateurs :

  1. Makers, passionnés d’impression 3D et concepteurs de boîtiers électroniques : Adoption immédiate recommandée. Le logiciel constitue une alternative idéale pour la modélisation rapide, la conception de pièces volumiques, le pliage de tôlerie et la création de boîtiers plastiques. Son exportation 3MF/STL et la vitesse de re-calcul de la chronologie répondent parfaitement aux exigences de la fabrication additive.
  2. Développeurs, chercheurs en robotique et intégrateurs d’IA : Adoption et expérimentation recommandées sans réserve. L’exposition native des fonctions via le protocole MCP, la possibilité d’exécuter le moteur en mode headless dans des conteneurs d’intégration continue, le sous-système de plugins WASM sécurisé et l’exportation URDF permettent d’automatiser immédiatement la génération de familles de pièces et les simulations géométriques.
  3. Bureaux d’études industriels et ateliers d’usinage traditionnel : Adoption recommandée en usage amont ou complémentaire. En l’absence actuelle de modules de mise en plan 2D normalisée (TechDraw), de calcul de structures (FEA) et de FAO (CAM), SolidCraft ne peut remplacer les suites industrielles pour l’étape de fabrication finale. Il est préconisé de l’employer pour la phase d’exploration géométrique et de modélisation paramétrique amont, en exportant les solides validés au format STEP vers les outils de DAO ou de FAO spécialisés de l’entreprise.