Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
ressource:logiciel:outils_3d [2022/02/28 13:23]
emoc créée
ressource:logiciel:outils_3d [2024/04/22 14:08] (Version actuelle)
emoc [Modélisation en ligne]
Ligne 1: Ligne 1:
 ====== Outils logiciels pour la 3D ====== ====== Outils logiciels pour la 3D ======
  
-===== GMSH =====+(page créée le 28 fév 2022)
  
-Visualiser des objets STL et bien plus (éditono ​de mesh).+===== Modélisation en ligne ===== 
 + 
 +**svg2stl** https://​svg2stl.com/​ \\ 
 +Conversion de dessins vectoriels en fichier STL. 
 + 
 +**imagetoSTL** https://​imagetostl.com/​ \\ 
 +Conversion d'​images en niveau de gris / noir et blanc en fichier STL. 
 + 
 +**sculptGL** https://​stephaneginier.com/​sculptgl/​ \\ 
 +Modelage à la souris de modèles 3D (exporte en STL) 
 + 
 +**3DSlash** https://​www.3dslash.net/​ \\ 
 +Modelage sur un bloc «à la minecraft» (l'​export en STL nécessite un compte) 
 + 
 +**BlocksCAD** https://​www.blockscad3d.com/​ \\ 
 +Langage à bloc (type scratch, blockly) pour la modélisation 3D  
 + 
 +**TinkerCAD** https://​www.tinkercad.com/​ \\ 
 +  * https://​en.wikipedia.org/​wiki/​Tinkercad 
 +  * https://​research.ppld.org/​3dprinting/​tinkercad 
 +  * https://​www.tinkercad.com/​learn/​designs?​collectionId=OSZ5W2BL1W5N51F 
 +  * https://​learn.sparkfun.com/​tutorials/​getting-started-with-3d-printing-using-tinkercad/​all 
 + 
 +===== Banques d'​objets ===== 
 + 
 +**thingiverse** https://​www.thingiverse.com/​ \\ 
 +Plateforme d'​objets 3D sous licence libre 
 + 
 +**printables** https://​www.printables.com/​ \\ 
 +Plateforme d'​objets 3D sous licence libre 
 + 
 +**cults3d** https://​cults3d.com/​fr/​ \\ 
 +Objets 3D à imprimer, gratuits ou payants sous diverses licences 
 + 
 +**grabcad** https://​grabcad.com/​library \\ 
 +Objets 3D en différents formats de fichier, pas tous destinés à l'​impression. 
 + 
 +http://​3dwarehouse.sketchup.com/​ \\ 
 +https://​www.youmagine.com/​ \\ 
 +https://​pinshape.com/​ \\ 
 +https://​www.myminifactory.com/​ \\ 
 +https://​sketchfab.com/​ \\ 
 +https://​www.turbosquid.com/​ \\ 
 + 
 +===== Logiciels =====  
 + 
 +==== Utilitaires ==== 
 + 
 +STLviewer (à compiler) : https://​github.com/​cravesoft/​stlviewer (voir aussi GMSH ci-dessous) 
 + 
 +==== Blender ==== 
 + 
 +https://​www.blender.org/​ 
 + 
 +==== openSCAD ==== 
 + 
 +Voir [[ressource:​logiciel:​openscad|OpenSCAD]] 
 + 
 +==== Wings3D ==== 
 + 
 +Voir [[ressource:​logiciel:​wings3d|Wings3D]] 
 + 
 +==== FreeCAD ==== 
 + 
 +https://​www.freecadweb.org/​ 
 + 
 +==== GMSH ==== 
 + 
 +**Visualiser des objets STL** et bien plus (édition ​de mesh). ​http://​gmsh.info/​
  
 Pour afficher les surfaces : Tools -> Options -> Mesh -> Visibility -> Surface faces Pour afficher les surfaces : Tools -> Options -> Mesh -> Visibility -> Surface faces
  
-===== MeshLab =====+==== MeshLab ==== 
 + 
 +https://​www.meshlab.net/​ 
 + 
 +===== Scripting ===== 
 + 
 +==== Dimensions d'un objet STL ==== 
 + 
 +Ce script en python3 donne les dimensions de la boîte englobante de l'​objet : 
 + 
 +<​accordion>​ 
 +<panel title="​stldim.py (cliquer pour afficher le code)">​ 
 +<code python stldim.py>​ 
 +#​!/​usr/​bin/​python 
 + 
 +# Script python pour trouver les dimensions de la boîte englobante d'un objet STL 
 +# nb : les fichiers STL n'ont pas d'​unité réelle, mais en général les logiciels qui ont  
 +#      besoin d'une unité, attribuent 1mm pour 1 en unité STL 
 +# source : https://​www.reddit.com/​r/​3Dprinting/​comments/​7ehlfc/​python_script_to_find_stl_dimensions/​ 
 +
 +# Testé avec Python 3.5.3 + numpy-stl 2.16.3 @ kirin / Debian 9.5 
 +#  
 +# Requirements:​ sudo pip install numpy-stl 
 + 
 +import math 
 +import stl 
 +from stl import mesh 
 +import numpy 
 + 
 +import os 
 +import sys 
 + 
 +if len(sys.argv) < 2: 
 +    sys.exit('​Usage:​ %s [stl file]' % sys.argv[0]) 
 + 
 +if not os.path.exists(sys.argv[1]):​ 
 +    sys.exit('​ERROR:​ file %s was not found!'​ % sys.argv[1]) 
 + 
 +# this stolen from numpy-stl documentation 
 +# https://​pypi.python.org/​pypi/​numpy-stl 
 + 
 +# find the max dimensions, so we can know the bounding box, getting the height, 
 +# width, length (because these are the step size)... 
 +def find_mins_maxs(obj):​ 
 +    minx = maxx = miny = maxy = minz = maxz = None 
 +    for p in obj.points:​ 
 +        # p contains (x, y, z) 
 +        if minx is None: 
 +            minx = p[stl.Dimension.X] 
 +            maxx = p[stl.Dimension.X] 
 +            miny = p[stl.Dimension.Y] 
 +            maxy = p[stl.Dimension.Y] 
 +            minz = p[stl.Dimension.Z] 
 +            maxz = p[stl.Dimension.Z] 
 +        else: 
 +            maxx = max(p[stl.Dimension.X],​ maxx) 
 +            minx = min(p[stl.Dimension.X],​ minx) 
 +            maxy = max(p[stl.Dimension.Y],​ maxy) 
 +            miny = min(p[stl.Dimension.Y],​ miny) 
 +            maxz = max(p[stl.Dimension.Z],​ maxz) 
 +            minz = min(p[stl.Dimension.Z],​ minz) 
 +    return minx, maxx, miny, maxy, minz, maxz 
 + 
 +main_body = mesh.Mesh.from_file(sys.argv[1]) 
 + 
 +minx, maxx, miny, maxy, minz, maxz find_mins_maxs(main_body) 
 + 
 +# the logic is easy from there 
 + 
 +print ("​File:",​ sys.argv[1]) 
 +print ("​X:",​ maxx - minx) 
 +print ("​Y:",​ maxy - miny) 
 +print ("​Z:",​ maxz - minz) 
 +</​code>​ 
 +</​panel>​ 
 +</​accordion>​
  • ressource/logiciel/outils_3d.1646050984.txt.gz
  • Dernière modification: 2022/02/28 13:23
  • par emoc