1. Producten
  2.   CAD
  3.   Python
  4.   CadQuery
 
  

Open Source Python-bibliotheek voor 3D CAD-bestandsindelingen

Gratis Python CAD-bibliotheek om parametrische 3D CAD-modellen te maken. Het creëert CAD-formaten van hoge kwaliteit zoals STEP, AMF en 3MF naast traditionele STL

De open source Python-bibliotheek CadQuery is een gebruiksvriendelijke Python-bibliotheek voor het bouwen van parametrische 3D CAD-modellen. De bibliotheek is zeer krachtig en kan door korte scripts te schrijven CAD-modellen van hoge kwaliteit produceren binnen Python-applicaties. Het is ook mogelijk om het script aan te passen en met één script veel verschillende objecten te maken. De CadQuery-scripts zijn erg snel en kunnen STL, STEP, AMF en 3MF sneller bouwen dan andere beschikbare bibliotheken.

De bibliotheek biedt geavanceerde modelleringsmogelijkheden zoals afrondingen, kromlijnige extrusies, parametrische krommen en lofts. Het is een op scripts gebaseerde bibliotheek die een parametrisch model kan maken dat eenvoudig kan worden aangepast door eindgebruikers. Het creëert 3D-modellen met scripts die zo dicht mogelijk benaderen hoe je het object voor een mens zou beschrijven. CadQuery is gelicentieerd onder de voorwaarden van de Apache Public License, versie 2.0.

Die CadQuery-bibliotheek is met opzet ontworpen om GUI-loos te zijn, zodat deze kan worden gebruikt in technische en wetenschappelijke toepassingen voor het programmatisch maken van 3D-modellen. Als u een GUI moet gebruiken, kunt u Qt-gebaseerde GUI CQ-editor of Jupyter-extensie jupyter-cadquery overwegen. Het is ook mogelijk om de bibliotheek samen met andere Python-bibliotheken te gebruiken.

Previous Next

Aan de slag met CadQuery

De eenvoudigste manier om CadQuery stable release te installeren is met pip. Gebruik de volgende opdracht voor een vlotte installatie.

Installeer CadQuery via pip

pip install cadquery 

U kunt de gecompileerde gedeelde bibliotheek downloaden van de Github-repository.

Werk met Polygon via Python 3D Library

Een veelhoek is een tweedimensionale vorm met rechte zijden. Polygonale modellering is een benadering voor het modelleren van objecten door hun oppervlakken weer te geven of te benaderen met behulp van polygoonmazen. Met de Open source Python Library CadQuery kunnen softwareontwikkelaars polygonen maken voor elk stackpunt met slechts een paar regels Python-code. Het is erg handig in 3D-printers waarvan de firmware niet corrigeert voor kleine gaatjes.

Maak werkvlakken op gezichten via Python 3D-bibliotheek

De Open source Python Library CadQuery biedt volledige ondersteuning voor het maken van Workplanes op Faces binnen Python-applicaties. het gebruik van werkvlakken op deze manier is een belangrijk kenmerk van CadQuery. Het verlost gebruikers van het zoeken naar de positie van verschillende objecten in variabelen en stelt het model in staat om de overbodige dimensies te verwijderen. Gebruikers kunnen de vlakken van de resulterende vaste stof selecteren door de methode Workplane.faces () aan te roepen. Houd er rekening mee dat de oorsprong van een nieuw werkvlak standaard wordt berekend door een vlak te maken van het geselecteerde vlak en de vorige oorsprong op dat vlak te projecteren.

Werkvlakken op gezichten maken via Python

result = cq.Workplane("front").box(2, 3, 0.5)  # make a basic prism
result = result.faces(">Z").workplane().hole(0.5)  # find the top-most face and make a hole
 

Werken met 3D LEGO-stenen via Python

De CadQuery-bibliotheek biedt volledige ondersteuning voor het maken van 3D-animaties die de Legostenen in verschillende formaten voorstellen met behulp van Python-opdrachten. Het is ook mogelijk om stenen na te maken door meerdere kubussen en cilinders samen te voegen. We kunnen een samengesteld object maken om deze 3D-vormen samen te voegen tot een enkel object (steen). Het volgende voorbeeld laat zien hoe u een regelmatige rechthoekige Lego(TM)-steen van elk formaat kunt genereren. Het is alleen lastig vanwege de logica met betrekking tot de onderkant van de steen.

Maak 3D LEGO-stenen via Python

#####
# Inputs
######
lbumps = 6       # number of bumps long
wbumps = 2       # number of bumps wide
thin = True      # True for thin, False for thick
#
# Lego Brick Constants-- these make a lego brick a lego :)
#
pitch = 8.0
clearance = 0.1
bumpDiam = 4.8
bumpHeight = 1.8
if thin:
    height = 3.2
else:
    height = 9.6
t = (pitch - (2 * clearance) - bumpDiam) / 2.0
postDiam = pitch - t  # works out to 6.5
total_length = lbumps*pitch - 2.0*clearance
total_width = wbumps*pitch - 2.0*clearance
# make the base
s = cq.Workplane("XY").box(total_length, total_width, height)
# shell inwards not outwards
s = s.faces("Z").workplane(). \
    rarray(pitch, pitch, lbumps, wbumps, True).circle(bumpDiam / 2.0) \
    .extrude(bumpHeight)
# add posts on the bottom. posts are different diameter depending on geometry
# solid studs for 1 bump, tubes for multiple, none for 1x1
tmp = s.faces(" 1 and wbumps > 1:
    tmp = tmp.rarray(pitch, pitch, lbumps - 1, wbumps - 1, center=True). \
        circle(postDiam / 2.0).circle(bumpDiam / 2.0).extrude(height - t)
elif lbumps > 1:
    tmp = tmp.rarray(pitch, pitch, lbumps - 1, 1, center=True). \
        circle(t).extrude(height - t)
elif wbumps > 1:
    tmp = tmp.rarray(pitch, pitch, 1, wbumps - 1, center=True). \
        circle(t).extrude(height - t)
else:
    tmp = s
# Render the solid
build_object(tmp)
 Dutch