3D CAD फ़ाइल स्वरूपों के लिए ओपन सोर्स पायथन लाइब्रेरी

पैरामीट्रिक 3डी सीएडी मॉडल बनाने के लिए मुफ्त पायथन सीएडी लाइब्रेरी। यह पारंपरिक STL के अलावा STEP, AMF और 3MF जैसे उच्च गुणवत्ता वाले CAD प्रारूप बनाता है

ओपन सोर्स पायथन लाइब्रेरी CadQuery पैरामीट्रिक 3डी सीएडी मॉडल बनाने के लिए उपयोग में आसान पायथन लाइब्रेरी है। पुस्तकालय बहुत शक्तिशाली है और लघु स्क्रिप्ट लिखकर पायथन अनुप्रयोगों के अंदर उच्च गुणवत्ता वाले सीएडी मॉडल तैयार कर सकता है। स्क्रिप्ट को अनुकूलित करना और एक स्क्रिप्ट का उपयोग करके कई अलग-अलग ऑब्जेक्ट बनाना भी संभव है। CadQuery स्क्रिप्ट बहुत तेज़ हैं और अन्य उपलब्ध लाइब्रेरी की तुलना में STL, STEP, AMF और 3MF तेज़ी से बना सकती हैं।

पुस्तकालय उन्नत मॉडलिंग क्षमताएं प्रदान करता है जैसे फ़िललेट्स, कर्विलिनियर एक्सट्रूड्स, पैरामीट्रिक कर्व्स और लोफ्ट्स। यह एक स्क्रिप्ट-आधारित लाइब्रेरी है जो एक पैरामीट्रिक मॉडल बना सकती है जिसे अंत उपयोगकर्ताओं द्वारा आसानी से अनुकूलित किया जा सकता है। यह उन लिपियों के साथ 3डी मॉडल बनाता है जो यथासंभव करीब हैं कि आप मानव को वस्तु का वर्णन कैसे करेंगे। CadQuery को Apache सार्वजनिक लाइसेंस, संस्करण 2.0 की शर्तों के तहत लाइसेंस दिया गया है।

उस CadQuery लाइब्रेरी को जानबूझकर जीयूआई-रहित डिज़ाइन किया गया है, ताकि इसे प्रोग्रामेटिक रूप से 3D मॉडल बनाने के लिए इंजीनियरिंग और वैज्ञानिक अनुप्रयोगों के अंदर उपयोग किया जा सके। यदि आपको GUI का उपयोग करने की आवश्यकता है, तो आप Qt- आधारित GUI CQ-editor या Jupyter एक्सटेंशन jupyter-Cadquery पर विचार कर सकते हैं। अन्य पायथन पुस्तकालयों के साथ पुस्तकालय का उपयोग करना भी संभव है।

Previous Next

CadQuery के साथ प्रारंभ करना

CadQuery स्थिर रिलीज़ को स्थापित करने का सबसे आसान तरीका पिप का उपयोग कर रहा है। सुचारू स्थापना के लिए कृपया निम्न कमांड का उपयोग करें।

पिप के माध्यम से CadQuery स्थापित करें

pip install cadquery 

आप संकलित साझा लाइब्रेरी को Github रिपॉजिटरी से डाउनलोड कर सकते हैं।

Python 3D लाइब्रेरी के माध्यम से बहुभुज के साथ कार्य करें

बहुभुज सीधी भुजाओं वाली द्विविमीय आकृति है। बहुभुज मॉडलिंग, बहुभुज जालों का उपयोग करके उनकी सतहों का प्रतिनिधित्व या अनुमान लगाकर मॉडलिंग वस्तुओं के लिए एक दृष्टिकोण है। ओपन सोर्स पायथन लाइब्रेरी CadQuery सॉफ्टवेयर डेवलपर्स को पायथन कोड की कुछ पंक्तियों के साथ प्रत्येक स्टैक पॉइंट के लिए पॉलीगॉन बनाने में सक्षम बनाता है। यह 3डी प्रिंटर में बहुत फायदेमंद है जिसका फर्मवेयर छोटे छेद के आकार के लिए सही नहीं होता है।

पायथन 3डी लाइब्रेरी के माध्यम से चेहरे पर वर्कप्लेन बनाएं

ओपन सोर्स पायथन लाइब्रेरी CadQuery ने पायथन अनुप्रयोगों के अंदर चेहरे पर वर्कप्लेन बनाने के लिए पूर्ण समर्थन प्रदान किया है। इस प्रकार कार्य-विमान का उपयोग CadQuery की एक प्रमुख विशेषता है। यह उपयोगकर्ताओं को वेरिएबल्स में विभिन्न विशेषताओं की स्थिति खोजने से मुक्त करता है, और मॉडल को अनावश्यक आयामों को हटाने में सक्षम बनाता है। उपयोगकर्ता Workplane.faces () पद्धति को कॉल करके परिणामी ठोस के चेहरों का चयन कर सकते हैं। कृपया याद रखें कि डिफ़ॉल्ट रूप से एक नए कार्यस्थल की उत्पत्ति की गणना चयनित चेहरे से एक विमान बनाकर और पिछले मूल को उस विमान पर प्रक्षेपित करके की जाती है।

पायथन के माध्यम से चेहरे पर वर्कप्लेन बनाना

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
 

पायथन के माध्यम से 3डी लेगो ब्रिक्स के साथ काम करना

CadQuery लाइब्रेरी ने पाइथॉन कमांड्स का उपयोग करते हुए विभिन्न आकार में लेगो ईंटों का प्रतिनिधित्व करने वाला 3डी एनिमेशन बनाने के लिए पूर्ण समर्थन प्रदान किया है। कई क्यूब्स और सिलेंडरों को एक साथ जोड़कर ईंटों को फिर से बनाना भी संभव है। हम इन 3D आकृतियों को एक ही वस्तु (ईंट) में एक साथ जोड़ने के लिए एक यौगिक वस्तु बना सकते हैं। निम्नलिखित उदाहरण दर्शाता है कि किसी भी आकार के नियमित आयताकार लेगो (टीएम) ईंट को कैसे उत्पन्न किया जाए। ईंट के नीचे के तर्क के कारण यह केवल मुश्किल है।

पायथन के माध्यम से 3डी लेगो ब्रिक्स बनाएं

#####
# 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)
 हिन्दी