Il y a dix ans, je disposais d’un peu de temps pour tester divers modeleurs volumiques (fonctionnant sous Linux). J’en ai alors profité pour rédiger quelques articles.
À cette époque, je voulais aussi étudier SolveSpace, mais j’ai dû passer à autre chose.
SolveSpace est un logiciel de CAO 3D original dans son maniement, plutôt agréable et performant, avec un peu d’habitude. Il fonctionne sous Linux, Windows ou MacOS… et sous d’autres systèmes d’exploitation. Il est disponible en anglais. Il s’appuie sur deux fenêtres :
- une pour la visualisation en trois dimensions ;
- et l’autre pour les informations sur le modèle volumique.
Voilà ce à quoi il ressemble, après l’avoir lancé et ouvert un assemblage de pièces :
SolveSpace est un logiciel libre, sous licence GPLv3.
Installer SolveSpace
L’installation s’effectue simplement en tapant la commande : sudo apt install solvespace
Ouvrir et visualiser une pièce
Sélectionnez le menu File -> Open
. Une fenêtre s’affiche alors pour choisir le dossier et la pièce à afficher. Un fichier avec l’extension .slvs doit être retenu.
Une fois la pièce ouverte, vous pouvez la faire bouger dans tous les sens, pour la visualiser.
Pour tourner la pièce, deux solutions :
- maintenez le bouton central de la souris enfoncé et déplacez la souris ;
- maintenez la touche
Majuscule
et le bouton droit de la souris enfoncé et déplacez la souris.
Pour déplacer la pièce :
- maintenez le bouton droit de la souris enfoncé et déplacez la souris.
Pour rapprocher ou éloigner la pièce :
- appuyez sur les touches
+
ou-
du clavier.
Plusieurs exemples de pièces, au format .slvs, sont téléchargeables sur le site : https://solvespace.com/examples.pl.
Des assemblages de pièces, au format .zip, sont également proposés. Dans ce cas, il faut au préalable extraire les fichiers de l’archive.
Modéliser une pièce
On sélectionne un plan, on y dessine un contour fermé, on le translate pour générer de la matière. Ensuite, on sélectionne une face du modèle, on y dessine un cercle pour percer un trou. Au lancement du logiciel, XY est le plan par défaut. Nous en choisissons un autre… juste pour montrer la procédure.
Sélectionnez dans la zone graphique le plan d’esquisse YZ, qui apparaît en rouge, puis le menu Sketch -> In Workplane.
Avec l’outil ligne, dessinez le polygone. On peut rendre une ligne horizontale ou verticale :
- en sélectionnant l’arête qui devient alors rouge ;
- puis en allant dans le menu
Constrain
.
Les cotes dimensionnelles ne posent aucune difficulté. Il faut sélectionner :
- les deux extrémités d’une arête (distance entre deux points) ;
- ou bien un point et une arête (distance d’un point à une droite).
Le résultat à atteindre :
Ci-dessous, pour réaliser l’extrusion :
- allez dans le menu
New Group -> Extrude
pour créer de la matière par translation du contour fermé ; - cochez le bouton
tow-sided
, dans la fenêtre de droite, pour générer la matière de part et d’autre du plan d’esquisse ; - placez la cote de 60.00, à l'aide du menu
Constrain
comme précédemment.
Le nouveau plan d’esquisse se définit :
- en sélectionnant un point et deux arêtes, qui deviennent rouges ;
- ensuite avec le menu
New Group -> Sketch in New Workplane
.
La nouvelle esquisse, un simple cercle :
Pour produire le perçage :
- allez dans le menu
New Group -> Extrude
; - cochez le bouton
difference
dans la fenêtre de droite.
Notez que la couleur et l’opacité de la pièce se spécifient juste en dessous de ce bouton.
Et voilà le résultat ! Pour obtenir une belle vue dénuée des éléments de construction :
- sélectionnez
home
dans la fenêtre de droite ; - décochez toutes les cases
shown
.
À tout moment, il est possible de retourner à une étape précédente pour une modification. Ici, pour changer une valeur, on est revenu à la première esquisse, en cochant le premier bouton de la colonne active, dans la fenêtre de droite.
Conclusion
Comme pour tous les modeleurs volumiques, apprendre à manipuler SolveSpace nécessite d’y consacrer un peu de temps. Comme il n’est pas très intuitif au premier abord, l’étude du manuel s’avère indispensable… du moins au début. Après, lorsqu’on a compris la logique du logiciel, la modélisation devient aisée.
Le manuel de référence, en anglais, se trouve à l’adresse : https://solvespace.com/ref.pl
Par bonheur, une version du manuel traduite en français existe. Plusieurs tutoriels la complètent, montrant clairement et précisément comment s’y prendre pour modéliser des pièces : https://solvespacefr.weebly.com/manuel.html
SolveSpace est une magnifique et surprenante réalisation, sympathique et ergonomique. Elle mériterait d’être mieux connue.
Aller plus loin
- Le site de l’auteur et ses articles sur la CAO 3D (332 clics)
- Manuel de référence de SolveSpace (83 clics)
- Manuel traduit en français (217 clics)
- Tutoriels (175 clics)
# Pas mal
Posté par WrathOfThePixel . Évalué à 9.
Je me fais fumer les neurones de temps en temps avec FreeCAD pour de petits projets d'impression 3D. Je ne connaissais pas ce soft qui à l'air suffisant, et plus simple à prendre en main, pour ce que j'en fais.
[^] # Re: Pas mal
Posté par Ysabeau 🧶 (site web personnel, Mastodon) . Évalué à 6. Dernière modification le 14 août 2021 à 17:05.
Je me posais justement la question de savoir si c'était utilisable pour l'impression 3D :-) et aussi si c'est une coïncidence ou si le sondage sur les imprimantes 3D a motivé la dépêche.
Cela m'a tout l'air d'être un logiciel sympathique cela dit.
« Tak ne veut pas quʼon pense à lui, il veut quʼon pense », Terry Pratchett, Déraillé.
[^] # Re: Pas mal
Posté par WrathOfThePixel . Évalué à 7.
Je vois pas de raisons que ça ne puisse pas marcher pour l'impression 3D. Si ça peut exporter dans n'importe quel format un peu connu (si pas directement en STL), un petit passage sous Blender pour vérifier l'objet/obtenir le STL et ça devrait rouler.
[^] # Re: Pas mal
Posté par eleydet . Évalué à 7.
Pour exporter le modèle volumique au format STL, compatible avec la majorité des imprimantes 3D :
file -> Export Triangle Mesh…
[^] # Re: Pas mal
Posté par pifou . Évalué à 6.
Pour les petits projets je te conseille BlockSCAD : https://www.blockscad3d.com/editor/ (c'est basé sur OpenSCAD mais avec une IHM à la Scratch, on peut même récupérer le code OpenSCAD avec le bouton "code" en haut à droite).
La partie IHM est en OpenSource (https://github.com/EinsteinsWorkshop/BlocksCAD) par contre la partie backend n'est pas disponible. Si tu n'as pas confiance dans leur stockage en ligne, tu peux soit instancier le projet en local soit utiliser l'éditeur en mode déconnecté, tant que tu restes sur le même PC la sauvegarde dans le "local storage" de ton navigateur fonctionne bien, tu devras juste jongler avec les import/export de fichier XML décrivant ton projet.
L'export STL est plutôt bien fait, je n'ai pas encore eu besoin d'en "réparer" avant de préparer mes impressions.
J'utilise ça en formation impression 3D avec des collégiens et ça fonctionne plus bien (exemple de pièces conçues en moins d'1h30 ici : https://twitter.com/matthieu_salvat/status/1222959625521287169 https://twitter.com/matthieu_salvat/status/1235917064885415936).
Un peu comme pour Scratch, ça devient vite illisible dès que je projet devient un peu gros.
# configuration matérielle
Posté par iex.new . Évalué à 5.
Bonjour,
est-il nécessaire pour ce type de logiciel de disposer d'une carte graphique "puissante" ou seule une carte intégrée de type Intel par exemple suffit ?
Je suis toujours dans l’évaluation de mes besoins pour l’acquisition d'un ordinateur portable pour le développement. Je me demande si plus tard je voudrais pas aussi faire des projets avec une imprimante 3D et de la retouche de photos.
Je me pose la question si je dois plus tôt opter pour une ordinateur avec une carte de type Nvidia pour prévoir de futurs potentiels besoins.
[^] # Re: configuration matérielle
Posté par linette . Évalué à 5.
Bonjour,
alors pour la configuration nécessaire pour la modélisation 3d cela va dépendre en fait du nombre de faces de l'objet, pour des objets avec un nombre limité de celles-ci une APU suffit mais peu donc du coup demander un peu d'optimisation (ou de l'utilisation d'option d'affichage de peu de faces si disponible dans le logiciel, possible via blender).
C'est généralement, et cela change de plus en plus avec l'utilisation de cuda y compris pour l'affichage, le processeur qui monte en charge et n'arrive à suivre en vue 3D avec plusieurs millions/milliards de faces.
Pour un rendu une carte avec CUDA est clairement le jour et a nuit, mais cela plus les rendus que modélisation (pour le moment encore).
Pour l'impression 3D encore une fois le processeur est celui qui travaille le plus pour le "slice" de l'objet, cette opération demande pas mal de ressources (en fonction slicer utilisé et paramètres).
Voila pour mes constatations utilisant ces techno ;)
[^] # Re: configuration matérielle
Posté par Shunesburg69 . Évalué à 2. Dernière modification le 16 août 2021 à 14:33.
Je me posait la même question. Quelle est la config minimum ?
J'ai rien trouvé, mais apparemment c'est pas trop gourmand par rapport aux autres logiciels concurrents de DAO.
[^] # Re: configuration matérielle
Posté par orfenor . Évalué à 4. Dernière modification le 16 août 2021 à 14:45.
Pour ce que ça vaut, je joue avec depuis quelques mois sur un ordinateur qui était vendu pour Win7 : un Lenovo ThinkCentre MT-M10ds-0015FR avec processeur Core i3-4170 3,7 GHz et une carte graphique intégrée ATI Cedar (Radéon 5000). Il y a 4 ou 8 Go de Ram selon les moments. Ça tourne avec Debian Sid et KDE et un démon en Java. C'est ma bécane de tous les jours.
Eh bien SolveSpace tourne sans problème, il faut beaucoup scroller dans htop pour le voir.
[^] # Re: configuration matérielle
Posté par eleydet . Évalué à 8.
Pour rappel, SolidWorks envahit les Lycées à partir de 1998. Le logiciel fonctionnait parfaitement avec les PC de l'époque, nettement moins performants que ceux d'aujourd'hui. Seul un modèle volumique très complexe permettrait d'observer un ralentissement.
[^] # Re: configuration matérielle
Posté par freem . Évalué à 3.
Mon cpu:
Je n'ai pas de CPU.
Cette machine est relativement récente, je connais solvespace depuis bien plus longtemps que ça et l'ai testé sur diverses autres machines, plus ou moins puissantes.
Pour des formes simples, sans trop de contraintes, ça passe partout, c'est vraiment un logiciel peu gourmand.
Une autre personne dans ce fil a parlé de solidworks, mais pour info, il existe un outil nommé BRLCAD qui est probablement plus vieux: l'histoire de son code source, disponible en libre, peut être tracé depuis les années 80, et je ne pense pas qu'il y avait des GPU aussi puissants que nos GPUs intégrés :)
[^] # Re: configuration matérielle
Posté par Joël Thieffry (site web personnel) . Évalué à 4.
Ah ah tu m'a eu par surprise là !
[^] # Re: configuration matérielle
Posté par freem . Évalué à 4.
Je voulais dire GPU mea culpa :)
[^] # Re: configuration matérielle
Posté par WrathOfThePixel . Évalué à 5.
À l'époque c'est plutôt un FPU qui était souvent obligatoire et pas toujours présent.
# Information importante sur le moteur
Posté par xryl669 . Évalué à 10.
Il existe, en gros, 3 moteurs de CSG en open source actuellement. OpenCascade (OCCT) utilisé dans FreeCAD, OpenSCAD (qui est plus une sorte de POVRay du CAD) et Solvespace.
Du point de vue fonctionnalités, OCCT est plus utilisé car il a de nombreux outils/plugins (import/export, résolution des shells en solid, support du STEP214 en natif, etc…), mais ses limitations sont aussi son point faible, par exemple, il ne sait pas calculer l'intersection d'une surface NURBS avec une autre, ou supporter des contraintes géométriques sur des NURBS.
À noter que ce genre de calcul est extrêmement difficile (à leur décharge) car le nombre de cas particulier est très important. Il est possible que ça s'améliore dans le futur cependant.
Solvespace est utilise, quand à lui, son propre moteur CSG qui est vraiment très rapide et puissant. Il n'utilise pas des NURBS et au contraire, garde la représentation des surfaces sous forme polynomiale. Lorsque la résolution des contraintes n'est pas possible avec des solutions analytiques, il se défausse sur des solutions par approximations (comme Parasolid). Ce qui signifie que le résultat des fonctions présenté est très souvent le meilleur possible, mais que le nombre et type des fonctions est limité (par exemple, pas d'extrusion suivant une interpolation de profils, ou de sweep paramétrique etc…)
Enfin, il reste OpenSCAD. Honnêtement, je ne le connais pas bien, et la manière de modéliser dans OpenSCAD reste trop différente de ma manière de voir les pièces en 3D par fonctions successives.
[^] # Re: Information importante sur le moteur
Posté par max22 . Évalué à 10.
Il existe aussi libfive et curv qui utilisent ceci : Function_representation.
On peut utiliser libfive avec python ou scheme (ou directement en C), curv a son propre langage.
OpenSCAD prétend être un langage fonctionnel, mais il n'est pas possible de créer une fonction qui prend en paramètre un "objet"… Libfive et Curv sont beaucoup plus agréables à utiliser (à mon goût). Avec OpenSCAD mon code devient vite dégueu, alors qu'avec libfive non. Le seul avantage d'OpenSCAD est son énorme communauté.
Tu connaissais peut-être déjà, mais mon commentaire était pour faire un peu de pub pour ces 2 projets qui sont très sympas.
[^] # Re: Information importante sur le moteur
Posté par xryl669 . Évalué à 2.
Non je ne connaissais pas. Super cool, merci!
[^] # Re: Information importante sur le moteur
Posté par freem . Évalué à 6.
C'est normal, c'est (dys)fonctionnel, pas objet. Oups, pas vendredi… Perso, j'ai testé il y a quelques années divers softs de CAO: brlcad, solvespace, openscad et freecad, dans le but principalement de faire de l'impression 3D.
Le plus simple à utiliser, et de loin, c'est solvespace.
Par contre il n'est pas versionnable dans git ou svn (contrairement à openscad).
Il ne fait pas de RDM alors que brlcad le fait très probablement.
Contrairement à freecad, il ne fait que deux choses: des pièces et des assemblages de pièces fixes, ce qui le rend casse-pied pour de l'architecture dont les pièces peuvent être paramétriques (une poutre, par exemple).
Au final, il reste mon préféré. Parce que:
Comparé à openscad, il est utilisable sans être matheux.
Comparé à brlcad, il est facile à utiliser (brlcad est celui que j'ai le moins creusé).
Comparé à freecad, il est fini.
[^] # Re: Information importante sur le moteur
Posté par xryl669 . Évalué à 4. Dernière modification le 15 septembre 2021 à 10:34.
FreeCAD a fait d'énormes progrès concernant sa stabilité (mais c'est pas encore 100% parfait). J'arrive à modéliser des pièces vraiment complexes sans qu'il ne crashe ou me jette sur une fonction qu'il n'arrive pas à appliquer (ce qui n'était pas le cas avec la version 0.19).
Il est pas encore au niveau d'un Solidworks, mais il est très proche d'un OnShape.
Bientôt il devrait y avoir la correction du bug le plus pénible à mon sens: le topological naming issue qui est en passe d'être résolu.
C'est fondamental pour pouvoir vraiment parler de modéliseur paramétrique. Ainsi, si tu changes une variable sur une fonction en bas du stack (par exemple, la longueur d'un segment, ou le rayon d'un cercle), il ne casse plus toutes les fonctions suivantes.
Quand à la logique d'utilisation, c'est pareil pour tous les logiciels, il faut apprendre, puis après ça devient intuitif.
Solvespace est assez intuitif, il a des fonctions en plus que FreeCAD dans son sketcheur (notamment la possibilité d'appliquer une rotation multiplicative sur n'importe quel segment/curve) mais je me suis souvent retrouvé bloqué par le manque de fonctions "haut niveau".
[^] # Re: Information importante sur le moteur
Posté par freem . Évalué à 4.
Je me permets de pointer le fait que solvespace propose sa propre bibliothèque en réponse à ton commentaire.
# Eh merde , ça fait un bail :-)
Posté par cortex62 . Évalué à 2. Dernière modification le 19 août 2021 à 02:21.
La dernière fois que j'ai compilé un truc ça remonte à flightgear (pas sur).
J'ai une imprimante 3d en kit bas de gamme, que j'amélioré / fiabilisé , elle est toujours lente, mais je m'en fout.
Je connais FreeCAD, c'est quand même assez pénible et pas stable (euphémisme, même avec le respect des devs ).
Ça fait un bail donc que j'ai pas compilé un truc , donc: quelles sont les dépendances ? Librairie , Open GL et autre ?
Merci d'avance … Je n'utilise pas Ubuntu …
[^] # Re: Eh merde , ça fait un bail :-)
Posté par eleydet . Évalué à 2.
Pour installer libfive et compiler les sources :
Première étape : Le cas échéant, installez git, le logiciel de gestion de versions décentralisé, adapté au service web d'hébergement github.
$ sudo apt install git
Deuxième étape : Récupérez les sources, avec la commande ci-dessous. Elle crée dans votre dossier personnel le dossier libfive, contenant les fichiers nécessaires à la complilation.
$ git clone https://github.com/libfive/libfive
Troisième étape : Installez les dépendances, c'est à dire l'ensemble des bibliothèques sur lesquelles s'appuie le logiciel.
$ sudo apt-get install cmake pkg-config libeigen3-dev libpng-dev libboost-all-dev guile-3.0-dev qtbase5-dev python3
Quatrième étape : Pour compiler le logiciel, tapez les commandes ci-dessous, les unes après les autres.
$ cd libfive
$ mkdir build
$ cd build
$ cmake ../
$ make
$ sudo make install
$ sudo ldconfig
Commentaire :
Dernière étape : Démarrez le logiciel, en tapant la commande ci-dessous.
$ /usr/local/bin/Studio
En principe, si vous n'êtes pas sous Ubuntu, la commande ci-dessous devrait aussi fonctionner :
$ /home/votre_dossier_personnel/libfive/build/studio/Studio
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.