Βιβλιοθήκη Python ανοιχτού κώδικα για μορφές αρχείων 3D CAD
Δωρεάν βιβλιοθήκη Python CAD για τη δημιουργία παραμετρικών τρισδιάστατων μοντέλων CAD. Δημιουργεί μορφές CAD υψηλής ποιότητας όπως STEP, AMF & 3MF εκτός από το παραδοσιακό STL
Η ανοιχτού κώδικα βιβλιοθήκη Python CadQuery είναι μια εύχρηστη βιβλιοθήκη Python για τη δημιουργία παραμετρικών μοντέλων 3D CAD. Η βιβλιοθήκη είναι πολύ ισχυρή και γράφοντας σύντομα σενάρια μπορεί να παράγει υψηλής ποιότητας μοντέλα CAD μέσα σε εφαρμογές Python. Είναι επίσης δυνατό να προσαρμόσετε το σενάριο και να δημιουργήσετε πολλά διαφορετικά αντικείμενα χρησιμοποιώντας ένα μόνο σενάριο. Τα σενάρια CadQuery είναι πολύ γρήγορα και μπορούν να δημιουργήσουν STL, STEP, AMF και 3MF πιο γρήγορα από άλλες διαθέσιμες βιβλιοθήκες.
Η βιβλιοθήκη προσφέρει προηγμένες ικανότητες μοντελοποίησης όπως φιλέτα, καμπυλόγραμμες εξωθήσεις, παραμετρικές καμπύλες και πατάρια. Είναι μια βιβλιοθήκη βασισμένη σε σενάρια που μπορεί να δημιουργήσει ένα παραμετρικό μοντέλο το οποίο μπορεί εύκολα να προσαρμοστεί από τους τελικούς χρήστες. Δημιουργεί τρισδιάστατα μοντέλα με σενάρια που είναι όσο το δυνατόν πιο κοντά στο πώς θα περιγράφατε το αντικείμενο σε έναν άνθρωπο. Το CadQuery αδειοδοτείται σύμφωνα με τους όρους της δημόσιας άδειας Apache, έκδοση 2.0.
Αυτή η βιβλιοθήκη CadQuery έχει σχεδιαστεί σκόπιμα για να είναι χωρίς GUI, έτσι ώστε να μπορεί να χρησιμοποιηθεί σε μηχανικές και επιστημονικές εφαρμογές για προγραμματική δημιουργία τρισδιάστατων μοντέλων. Εάν χρειάζεται να χρησιμοποιήσετε ένα GUI, μπορείτε να εξετάσετε το ενδεχόμενο επεξεργασίας CQ GUI που βασίζεται σε Qt ή Jupyter extension jupyter-cadquery. Είναι επίσης δυνατή η χρήση της βιβλιοθήκης μαζί με άλλες βιβλιοθήκες Python.
Ξεκινώντας με το CadQuery
Ο ευκολότερος τρόπος εγκατάστασης της σταθερής έκδοσης CadQuery είναι η χρήση του pip. Χρησιμοποιήστε την ακόλουθη εντολή για ομαλή εγκατάσταση.
Εγκαταστήστε το CadQuery μέσω pip
pip install cadquery
Μπορείτε να κάνετε λήψη της μεταγλωττισμένης κοινόχρηστης βιβλιοθήκης από το αποθετήριο Github.
Εργαστείτε με το Polygon μέσω Python 3D Library
Το πολύγωνο είναι ένα δισδιάστατο σχήμα με ευθείες πλευρές. Η πολυγωνική μοντελοποίηση είναι μια προσέγγιση για τη μοντελοποίηση αντικειμένων με την αναπαράσταση ή την προσέγγιση των επιφανειών τους χρησιμοποιώντας πολυγωνικά πλέγματα. Το ανοιχτού κώδικα Python Library CadQuery επιτρέπει στους προγραμματιστές λογισμικού να δημιουργούν πολύγωνα για κάθε σημείο στοίβας με μόνο μερικές γραμμές κώδικα Python. Είναι πολύ ωφέλιμο σε τρισδιάστατους εκτυπωτές των οποίων το υλικολογισμικό δεν διορθώνεται για μικρά μεγέθη οπών.
Δημιουργήστε επίπεδα εργασίας σε πρόσωπα μέσω Python 3D Library
Η ανοιχτού κώδικα Python Library CadQuery έχει παράσχει πλήρη υποστήριξη για τη δημιουργία επιπέδων εργασίας σε πρόσωπα μέσα σε εφαρμογές Python. Η χρήση των επιπέδων εργασίας με αυτόν τον τρόπο είναι ένα βασικό χαρακτηριστικό του CadQuery. Απαλλάσσει τους χρήστες από την αναζήτηση της θέσης διαφόρων χαρακτηριστικών σε μεταβλητές και επιτρέπει στο μοντέλο να διαγράψει τις περιττές διαστάσεις. Οι χρήστες μπορούν να επιλέξουν τις όψεις του στερεού που προκύπτει καλώντας τη μέθοδο Workplane.faces (). Να θυμάστε ότι από προεπιλογή η αρχή ενός νέου επιπέδου εργασίας υπολογίζεται κάνοντας ένα επίπεδο από την επιλεγμένη όψη και προβάλλοντας την προηγούμενη αρχή σε αυτό το επίπεδο.
Δημιουργία επιπέδων εργασίας σε πρόσωπα μέσω 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
Εργασία με 3D LEGO Bricks μέσω Python
Η βιβλιοθήκη CadQuery έχει παράσχει πλήρη υποστήριξη για τη δημιουργία τρισδιάστατων κινούμενων εικόνων που αντιπροσωπεύουν τα τουβλάκια Lego σε διαφορετικό μέγεθος χρησιμοποιώντας εντολές Python. Είναι επίσης δυνατή η αναδημιουργία τούβλων ενώνοντας πολλούς κύβους και κυλίνδρους μεταξύ τους. Μπορούμε να δημιουργήσουμε ένα σύνθετο αντικείμενο για να ενώσουμε αυτά τα τρισδιάστατα σχήματα σε ένα ενιαίο αντικείμενο (τούβλο). Το παρακάτω παράδειγμα δείχνει πώς να δημιουργήσετε κανονικό ορθογώνιο τούβλο Lego(TM) οποιουδήποτε μεγέθους. Είναι δύσκολο μόνο λόγω της λογικής σχετικά με την κάτω πλευρά του τούβλου.
Δημιουργήστε 3D LEGO Bricks μέσω 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)