Nvidia vient de publier sur GitHub un morceau de logiciel que je n’imaginais pas voir un jour en open source : Nvidia SMLib, le noyau géométrique qui sert à construire des solides en CAO, est désormais disponible sous licence Apache-2.0 dans le dépôt NVIDIA-Omniverse/usd-brep. Traduction pour un maker : la brique mathématique la plus chère d’un logiciel de CAD vient de tomber dans le domaine public, et elle est même utilisable dans un produit commercial.
Ça fait deux jours que je fouille le dépôt, et plus je lis le code et la documentation, plus je me dis que c’est la vraie nouvelle de la semaine. Pas un nouveau filament, pas une imprimante de plus. Un noyau de modélisation, c’est la pièce qui décide si ton logiciel de CAO sait percer un trou propre ou te sortir une erreur bizarre sur une arête. Jusqu’à présent, Nvidia SMLib et ses concurrents ne se vendaient pas au détail : ils se louaient sous contrat, au cas par cas.

Et le chiffre qui m’a fait lever un sourcil : 1 285 étoiles en six jours pour Nvidia SMLib. Pour un dépôt C++ de géométrie de haut niveau, c’est beaucoup. Ça me dit qu’il n’y avait pas que moi à attendre un noyau libre capable de gérer de vrais solides, et pas seulement des nuages de triangles.
🎯 Ce que Nvidia a exactement lâché sur GitHub
Le dépôt s’appelle usd-brep et il est public depuis le 8 octobre 2026, date de la version 1.0.0, premier enregistrement du journal de modifications. Nvidia SMLib, la bibliothèque qu’il contient, se décrit en une seule phrase : un moteur C++ et Python autonome pour la modélisation de solides par représentation frontière (B-Rep) à base de NURBS. Derrière ce jargon, il y a du très concret.

La licence, c’est Apache-2.0. Ce n’est pas un détail juridique : Apache-2.0 autorise l’intégration dans un logiciel propriétaire, sans obligation de publier tes propres sources. Un éditeur peut donc embarquer Nvidia SMLib dans une application payante fermée, ce qu’une GPL aurait interdit. Seuls les scripts d’outillage de build restent sous licence MIT.

Le poids du dépôt parle aussi : environ 44,9 Mo de C++ et 1,6 Mo de Python selon le relevé des langages de GitHub. On n’est pas devant un jouet de démonstration, mais devant un moteur que Nvidia a développé pour son propre écosystème Omniverse. Le bandeau de copyright du projet porte d’ailleurs 2020-2026 : six ans de travail interne avant cette ouverture.
Mon repère d’atelier : un noyau CAO, c’est le moteur d’une voiture. Tu ne le vois jamais, tu ne le touches jamais, mais c’est lui qui décide si la bagnole roule. Pendant vingt ans, ce moteur s’est loué à l’heure, jamais vendu. Nvidia SMLib change cette règle du jeu.
⚙️ Un noyau B-Rep, c’est quoi au juste ?
Pour comprendre l’importance de Nvidia SMLib, il faut saisir la différence entre les deux façons de décrire un objet en 3D. Un maillage, comme un STL, décrit une forme par des milliers de triangles qui collent plus ou moins bien à la surface réelle. Multiplie les triangles et tu approches la courbe, mais tu ne l’atteins jamais.

Un noyau B-Rep fait l’inverse. Il garde la recette mathématique de la forme : un cylindre reste un cylindre exact, une sphère reste une sphère exacte, quelle que soit la finesse avec laquelle tu l’affiches à l’écran. Les faces, les arêtes et les sommets sont reliés à de vraies définitions géométriques, des surfaces NURBS, des courbes B-spline ou des primitives analytiques.

C’est exactement ce que fait Nvidia SMLib. Les documents du dépôt parlent d’une géométrie mathématiquement exacte et indépendante de la résolution, à l’opposé des maillages polygonaux. Et c’est cette exactitude qui permet de construire des pièces qui s’emboîtent : un axe de 10 mm dans un alésage de 10 mm, ça ne pardonne pas l’approximation quand tu passes à l’usinage ou à la mesure.
Le noyau n’est pas là pour dessiner, il est là pour calculer. Percer, chanfreiner, soustraire un volume à un autre, vérifier qu’un solide est étanche : voilà le vrai travail de Nvidia SMLib, et chaque opération doit tenir debout mathématiquement. Quand l’une d’elles casse, ton logiciel de CAO refuse de faire une soustraction et te laisse avec une erreur que personne ne comprend.
🧱 Dans le dépôt : quatre couches, du noyau jusqu’à Python
Ce qui m’a rassuré en lisant l’architecture de Nvidia SMLib, c’est la propreté du découpage. Le projet ne se présente pas comme un bloc monolithique, mais comme une pile de couches empilées, chacune avec son rôle et ses exemples exécutables. Une documentation d’agent, le fichier AGENTS.md, décrit même l’ensemble noir sur blanc.

En bas, SMLib, le noyau C++ : topologie B-Rep, math NURBS, courbes et surfaces, intersections, booléens, congés et chanfreins, décalages et coques, balayages et lissages, primitives, réparation et couture de géométries importées, propriétés de masse, tessellation. Au-dessus, SM_API, une enveloppe C de style stable, faite pour que d’autres programmes appellent le noyau sans se marier avec l’évolution du C++.
Ensuite vient SM_API_USD, la couche d’intégration au format OpenUSD, avec import et export. Elle embarque une fonction vraiment utile, usd.heal_file(), qui répare des définitions géométriques abîmées dans un fichier USD tout en conservant les calques, les références et les matériaux. Tout en haut, les liaisons Python, SmPyLib et _omni_solid, avec une petite interface graphique, smlib_gui.py, pour voir le noyau travailler sans écrire une ligne de code.
Les dépendances annoncées par Nvidia SMLib restent raisonnables : OpenUSD 25.11 pour l’échange de scènes et pybind11 2.11.1 pour les liaisons Python, tous deux récupérés automatiquement par l’outil de build. Côté plateformes, le dépôt fournit des scripts repo.sh et repo.bat : Linux avec build-essential, Windows avec Visual Studio 2019 ou 2022 plus le jeu d’outils C++, et macOS uniquement sur Apple Silicon. Les modèles de test, des fichiers STEP, IGES ou JT, passent par Git LFS.
🔓 Pourquoi ça bouscule le petit monde du CAD libre
Voilà le cœur du sujet, et c’est là que Nvidia SMLib devient intéressant pour un maker fauché comme moi. Les noyaux de modélisation qui tiennent la route se comptent sur les doigts d’une main, et la plupart se distribuent sous contrat commercial : Parasolid appartient à Siemens, ACIS à Spatial, et un éditeur qui veut construire un modeleur dessus négocie sa licence au cas par cas, sans tarif public.

Dans le monde libre, la référence s’appelle Open CASCADE, la bibliothèque sur laquelle repose FreeCAD depuis ses débuts. Elle fait le travail, mais elle porte des décennies d’empilement, et chaque développeur qui s’y frotte connaît ses lenteurs et ses bizarreries. Une alternative moderne, documentée et maintenue par un industriel de la taille de Nvidia, c’est exactement ce qui manquait. Comparé à ça, Nvidia SMLib arrive avec des papiers en règle : licence claire, dépôt public, journal de versions tenu.
Il faut aussi voir le contexte : le CAD paramétrique libre est en pleine ébullition en ce moment. Je te parlais il y a quelques jours de SolidCraft, un modeleur écrit en Rust qui a démarré de zéro, et qui s’appuie justement sur un portage de Nvidia SMLib. Le rapport est direct, et je reviens dessus deux sections plus bas.
Un dernier point qui compte pour un indépendant : la licence Apache-2.0 autorise l’usage commercial, mais aussi la modification et la redistribution, avec une clause de brevets rassurante pour les entreprises. En clair, tu peux construire une appli de CAO, la vendre, et t’appuyer sur Nvidia SMLib sans demander la permission à personne.
🖨️ Ce que Nvidia SMLib change pour l’impression 3D
Je te vois venir : « encore un truc de logiciel, rien à voir avec mon imprimante ». Sauf que la chaîne qui va d’une idée à une pièce posée sur le plateau passe presque toujours par un modeleur, et je constate tous les jours à quel point cette étape est le maillon faible chez les makers.

La première conséquence, c’est le format. Les slicers travaillent depuis un maillage : que tu leur donnes un STL ou un 3MF, ils transforment tout en triangles avant de générer les couches. C’est exactement le chantier que j’avais détaillé dans mon article sur PrusaSlicer 3.0 et sa preview. Si ton modèle exact est converti proprement, tu imprimes la même pièce. Si la conversion est bâclée, tu récupères des facettes visibles sur les courbes, des parois irrégulières et des trous ovales au lieu de ronds.
La deuxième conséquence est plus sournoise. Quand tu importes un STL dans un modeleur pour le retoucher, tu hérites d’un maillage sans intelligence : plus de rayon, plus de cote, plus d’historique. Un noyau comme Nvidia SMLib peut réparer et recoudre ces géométries importées, remettre de la topologie propre sur des formes abîmées. Pour moi qui récupère souvent des fichiers imprimables sortis de je ne sais où, c’est la fonction que je rêve d’avoir dans mon outil du quotidien.
Troisième conséquence, et c’est du long terme : un noyau libre et gratuit change l’économie d’un projet de logiciel. Grâce à Nvidia SMLib, une équipe de deux développeurs qui veut sortir un modeleur paramétrique n’a plus à provisionner une licence noyau à cinq chiffres avant d’écrire la première ligne. Le fossé entre une idée et un prototype se réduit mécaniquement, et l’impression 3D en profite parce que c’est la même chaîne de fichiers.
🚀 L’écosystème a déjà démarré : solidcore et SolidCraft
La preuve que la communauté attendait ça, c’est la vitesse à laquelle les projets satellites sont apparus. Dès le 12 octobre 2026, quatre jours après la publication du dépôt, un développeur indépendant a ouvert solidcore : un portage en Rust du noyau Nvidia SMLib.

Le projet annonce ses objectifs sans langue de bois : pas de code unsafe dans le noyau, pas de plantage sur une entrée bancale, des résultats déterministes et une compilation possible pour le WebAssembly. Il revendique environ un tiers du portage terminé, avec la géométrie et les NURBS validées unité par unité contre le C++ d’origine, et il précise que rien n’est encore utilisable de bout en bout. Transparence appréciable.
Mieux : le dépôt épingle le commit exact de Nvidia SMLib sur lequel il se cale, avec la promesse d’un accord numérique au milliardième près et d’une topologie identique. C’est le genre de détail qui rassure sur la solidité de la copie, et qui montre aussi que le noyau de départ est jugé assez stable pour servir de référence.
Et là, ça rejoint directement un sujet que je suis depuis le début de la semaine. J’ai analysé il y a deux jours SolidCraft, le modeleur paramétrique open source écrit en Rust : son premier consommateur déclaré, c’est justement ce portage de Nvidia SMLib. Tu comprends pourquoi cette ouverture me paraît structurante : sans elle, SolidCraft n’aurait pas de noyau à réutiliser.
D’autres essais sont partis dans la foulée, comme un langage de CAO construit directement sur le noyau de Nvidia ou des studios de modélisation B-Rep pilotés par IA. Sur un dépôt publié six jours plus tôt, ça donne une idée du besoin qui existait. Je ne suis pas sûr que la vague soit terminée, je dirais même qu’elle ne fait que commencer.
⚠️ Les limites, et là je ne vais pas te vendre du rêve
Nvidia a fait un joli cadeau, mais il faut lire la documentation jusqu’au bout, et le dépôt ne cache rien. Premier point : Nvidia SMLib n’accepte pas de contributions externes. Tu peux signaler un bug, pas envoyer un correctif. Concrètement, la feuille de route appartient à Nvidia, et personne d’autre ne décide de ce qui entre dans la version suivante.
Deuxième point, le fichier des problèmes connus est fourni et il est fourni sans filtre. La fonction qui retire un congé, remove_fillet, renvoie un succès sans rien retirer du tout. La fonction de réparation d’un solide peut annoncer une réussite alors qu’une étape de réparation a échoué, et les surfaces fermées comme les cylindres, les tores ou les sphères issues d’autres logiciels de CAO se réparent mal dans plusieurs cas décrits en détail. Aucun contournement n’est proposé.
Troisième point : la tessellation, c’est-à-dire la conversion d’un solide exact en triangles affichables, produit des facettes à l’envers à côté des congés circulaires. C’est un bug d’affichage, pas une erreur de géométrie, mais ça te rappelle qu’une version 1.0.0 reste une version 1.0.0. Ajoute que les liaisons OCCT et l’intégration USD avancée du dépôt ne sont pas reprises dans le portage Rust, et tu as une bonne raison de garder tes distances avant de miser un projet dessus.
Ma mise en garde honnête : ne remplace rien tout de suite dans ton atelier. Nvidia SMLib est un moteur à intégrer par des développeurs, pas un logiciel à installer pour dessiner ce soir. Si tu bricoles du code, clone le dépôt et joue avec l’interface Python. Sinon, attends que les modeleurs libres l’adoptent et juge sur leurs versions stables.
💶 Mon verdict d’atelier sur Nvidia SMLib
Est-ce que cette annonce va changer ton atelier demain matin ? Non. Est-ce qu’elle va changer les outils que tu utiliseras dans deux ans ? J’en suis convaincu, et c’est rare de pouvoir dire ça d’une publication de code.
Ce que Nvidia vend habituellement, c’est de la puissance de calcul. En offrant Nvidia SMLib sous Apache-2.0, la marque s’achète une communauté de développeurs dans le logiciel de conception, un terrain où elle n’était pas attendue. Les entreprises du secteur le font depuis longtemps avec leurs formats et leurs moteurs de rendu, et personne ne s’en plaint quand le résultat est un outil utilisable gratuitement.
Pour moi, la vraie bonne nouvelle avec Nvidia SMLib n’est pas la bibliothèque en elle-même : c’est le signal. Un noyau exact, documenté, écrit en C++ propre avec des liaisons Python, ça retire un prétexte. Les développeurs de modeleurs libres n’ont plus l’excuse du noyau introuvable. La suite se jouera dans leur capacité à transformer ce moteur en interface utilisable, et c’est un autre métier.
Je vais suivre le dépôt de près. Si un modeleur grand public sort en 2027 avec Nvidia SMLib sous le capot, je te le dirai, et je le testerai sur une de mes pièces techniques, comme toujours, dans le mauvais sens, pour voir où ça casse.
❓ FAQ Nvidia SMLib
Qu’est-ce que Nvidia SMLib exactement ?
Nvidia SMLib est le noyau de modélisation géométrique de Nvidia, publié sur GitHub dans le dépôt NVIDIA-Omniverse/usd-brep depuis le 8 octobre 2026. C’est un moteur de représentation frontière qui manipule des solides exacts à base de NURBS, avec des liaisons C++ et Python, sous licence Apache-2.0. Il était auparavant distribué uniquement sous contrat de licence.
Nvidia SMLib est-il vraiment gratuit ?
Oui, le code est accessible librement en Apache-2.0, ce qui autorise l’usage personnel comme l’intégration dans un logiciel commercial. La limite n’est pas le prix, mais la contribution : le projet n’accepte pas de correctifs extérieurs, tu peux seulement ouvrir des rapports de bug. Les scripts d’outillage de build sont sous licence MIT.
Peut-on l’utiliser pour préparer des impressions 3D ?
Pas directement. Nvidia SMLib n’est pas un logiciel de dessin, c’est une bibliothèque que les développeurs intègrent dans un modeleur ou un outil de préparation. Son intérêt pour l’impression 3D est indirect mais réel : il sait réparer des géométries importées, gérer des STEP exacts et convertir un solide en maillage pour l’affichage.
Quelle différence avec Open CASCADE ou SolidCraft ?
Open CASCADE est le noyau libre historique utilisé par FreeCAD depuis des années, avec une base de code ancienne. Nvidia SMLib est une alternative moderne publiée par un industriel, mais arrivée seulement en version 1.0.0 avec des bugs documentés. SolidCraft, de son côté, est un modeleur open source qui utilise un portage en Rust de ce noyau.
🔗 Sources et liens officiels
Dépôt officiel du noyau : NVIDIA-Omniverse/usd-brep sur GitHub, version 1.0.0 datée du 8 octobre 2026 (licence Apache-2.0).
Documentation de build Omniverse : outils repo_build et chaînes de compilation.
Portage en Rust du noyau : solidcore sur GitHub, ouvert le 12 octobre 2026.
Format d’échange OpenUSD : openusd.org, et le noyau libre concurrent Open CASCADE.
Presse spécialisée : 3Druck.com, 13 octobre 2026.
On en discute sur le Discord du CréAtelier : mes tests de modeleurs, mes fichiers STEP et mes galères de CAO y passent en premier.
Johan
Le CréAtelier




