[PYTHON] Créer des données d'imprimante 3D (fichier STL) à l'aide de CadQuery

introduction

Cet article explique comment créer des données d'imprimante 3D (fichier STL) à l'aide de CadQuery. CadQuery est une bibliothèque python qui vous permet de créer des modèles 3D.

image0.jpeg

Déclencheur

J'ai acheté une imprimante 3D pour élargir la gamme des travaux électroniques. Je n'ai pas utilisé l'outil de CAO 3D lui-même, donc après de nombreuses recherches, CadQuery et FreeCad étaient faciles à utiliser pour moi. (Cette fois, seulement CadQuery)

À propos de CadQuery

Voici les informations officielles. Il existe extrêmement peu d'articles en japonais.

information

Installer / démarrer

Il existe plusieurs méthodes d'installation, mais cette fois, c'est la plus simple Cela se fait en téléchargeant l'éditeur CQ.

Depuis CQ-editor Téléchargez depuis "Installation" - "RC1 Windows".

Décompressez "CQ-editor-0.1RC1-win64.zip" et exécutez "CQ-editor.exe" pour le démarrer.

Créer un cube

① Création de code

Collez le code suivant dans la section de l'éditeur ①.

test.py


import cadquery as cq

result = cq.Workplane("front").box(2.0, 2.0, 0.5)
show_object(result)

② Exécution de code

Appuyez sur le bouton de lecture pour exécuter le code. Un cube est créé.

0001.PNG

Faire un crochet avec un trou de virement

Créez un crochet pour la photo affichée en haut de la page.

Code d'écriture

test.py


# This is a CadQuery script
import cadquery as cq
import itertools

#Définition de la longueur et de l'épaisseur
X1 = 40.0
X2 = 2.0
X3 = 2.0
Y1 = 40.0
Y2 = 2.0
Y3 = 10.0
Z1 = 40.0

#Décrire dans le plan xy
result0 = (cq.Workplane("XY")
           .moveTo(0,0)
           .lineTo(X1,0)
           .lineTo(X1,Y1)
           .lineTo(X1-X2,Y1)
           .lineTo(X1-X2,Y2)
           .lineTo(X3,Y2)
           .lineTo(X3,Y3)
           .lineTo(0,Y3)
           .close())

#Extruder dans la direction de l'axe z
result = result0.extrude(Z1)

#Trou de repli
#Définition des trous dans les plans yz et xz
HOLE_Xs = [9*1, 9*3, 9*5, 9*7, 9*9, 9*11]
HOLE_Ys = [9*1, 9*3, 9*5, 9*7, 9*9, 9*11]
HOLE = 5.0

#Forage
for hole_crd in itertools.product(HOLE_Xs, HOLE_Ys):
    result = result.faces(">X").workplane().rect(hole_crd[0], hole_crd[1], forConstruction=True).vertices().hole(HOLE)
    result = result.faces(">Y").workplane().rect(hole_crd[0], hole_crd[1], forConstruction=True).vertices().hole(HOLE)

#Afficher des objets
show_object(result)

Lien avec le code du plan xy

La relation de coordonnées entre la définition de la longueur et de l'épaisseur est la suivante. 0002.PNG

Exécution du code

Vous pouvez exécuter le code pour créer un modèle avec des crochets.

0003.PNG

Fichier STL de sortie

Après avoir sélectionné l'objet, sélectionnez "Outils" - "Exporter en STL".

0004.PNG

Spécifiez le nom du fichier et enregistrez-le.

Après cela, imprimez avec une imprimante 3D.

image0.jpeg

à la fin

Il est très utile de coder le modèle 3D.

Recommended Posts

Créer des données d'imprimante 3D (fichier STL) à l'aide de CadQuery
Créer un fichier de données factice
Créez instantanément un diagramme de données 2D à l'aide de matplotlib de python
Créez rapidement des données de classification de documents à l'aide de NLTK
Créer un fichier GIF en utilisant Pillow en Python
Créer un analyseur de données binaires à l'aide de Kaitai Struct
Créer un fichier wav à partir du shader GLSL en utilisant python3
Créez des graphiques 3D interactifs sur Jupyter Lab à l'aide de matplotlib
Créez un fichier MIDI en Python en utilisant pretty_midi
Créer un cylindre avec une sortie de fichier open3d + STL
Créer un bot de collecte de données en Python à l'aide de Selenium
Enregistrez collectivement des données dans Firestore à l'aide d'un fichier csv en Python
Créez des données factices à l'aide des packages NumPy et Faker de Python
Créez un fichier image à l'aide de PIL (Python Imaging Library).
Créez votre premier fichier GDSII en Python en utilisant gdspy
J'ai essayé de lire les données d'un fichier en utilisant Node.js.
Créer un fichier CAO 2D ".dxf" avec python [ezdxf]