2D और 3D CAD ड्रॉइंग के लिए ओपन सोर्स पायथन लाइब्रेरी
2D और 3D मॉडल बनाने और प्रबंधित करने के लिए ओपन सोर्स पायथन CAD लाइब्रेरी। पायथन ऐप्स के अंदर पैरामीट्रिक लेगो ब्लॉक बनाएँ और सिलेक्टर्स का उपयोग करें।
Build123d लाइब्रेरी क्या है?
Build123d एक ओपन सोर्स पायथन 3D CAD पैकेज है जो सॉफ्टवेयर डेवलपर्स को अपने खुद के पायथन एप्लिकेशन के अंदर 2D और 3D ड्रॉइंग बनाने में मदद करता है। Build123d लाइब्रेरी मानक पायथन संदर्भ प्रबंधक का उपयोग करती है और ड्रॉइंग को संभालने के लिए तीन बिल्डर उपलब्ध हैं। बिल्डलाइन बिल्डर का उपयोग एक-आयामी ऑब्जेक्ट्स के लिए, बिल्डस्केच बिल्डर का उपयोग प्लानर दो-आयामी ऑब्जेक्ट्स के लिए और बिल्डपार्ट बिल्डर का उपयोग तीन-आयामी ऑब्जेक्ट्स के लिए किया जा सकता है। बिल्डर ऑब्जेक्ट्स या ऑपरेशन की स्थिति के लिए लोकेशन कॉन्टेक्स्ट का उपयोग करता है।
लाइब्रेरी में विभिन्न 2D और 3D ऑपरेशन के लिए समर्थन शामिल है, जैसे कि फिलेट, मिरर, ऑफ़सेट, स्केल, स्प्लिट, काउंटरबोरहोल, काउंटरसिंकहोल, एक्सट्रूड, होल, लॉफ्ट, रिवॉल्व, स्केल, सेक्शन, स्प्लिट और कई अन्य। उपरोक्त के अलावा, कई चयनकर्ता, चयनकर्ता ऑपरेटर, एज और वायर ऑपरेटर, प्लेन ऑपरेटर, वेक्टर ऑपरेटर और वर्टेक्स ऑपरेटर भी लाइब्रेरी का हिस्सा हैं।
Build123d लाइब्रेरी Build123d API का एक उपयोगी विकल्प है, जिसके कई फायदे हैं और सबसे महत्वपूर्ण यह है कि build123d ऑब्जेक्ट्स को डिज़ाइन करते समय पूर्ण पायथन टूलबॉक्स को सक्षम करता है। लाइब्रेरी को संचालित करना बहुत आसान है और कोई भी व्यक्ति आसानी से ऑब्जेक्ट्स को कहीं भी रख सकता है और प्रबंधित कर सकता है।
Building123d के साथ आरंभ करना
Building123d स्थिर रिलीज़ को स्थापित करने का सबसे आसान तरीका GitHub का उपयोग करना है। कृपया सुचारू स्थापना के लिए निम्न कमांड का उपयोग करें
GitHub के माध्यम से Build123d इंस्टॉल करें
python3 -m pip install git+https://github.com/gumyr/build123d.git#egg=build123d
आप संकलित साझा लाइब्रेरी को Github रिपॉजिटरी से डाउनलोड कर सकते हैं।
पाइथन लाइब्रेरी के ज़रिए चयनकर्ताओं का उपयोग कैसे करें
जब GUI आधारित CAD सिस्टम का उपयोग किया जाता है, तो उपयोगकर्ता अक्सर किसी ऑपरेशन के लिए उसे चुनने के लिए किसी सुविधा पर क्लिक करेगा। चयनकर्ता ऐसी प्रक्रियाएँ हैं जो दिखाती हैं कि उपयोगकर्ता पाइथन फ़िल्टर और सॉर्टिंग विधियों का उपयोग करके डिज़ाइन से किसी सुविधा को कैसे अलग कर सकते हैं, जिन्हें आमतौर पर कस्टम पाइथन ऑपरेशन के सेट के रूप में लागू किया जाता है। vertices(),edges(),wires(), solids() और faces() चयनकर्ताओं के कुछ उदाहरण हैं। ऑपरेंड प्रकार हैं: Axis, SortBy, और GeomType। कृपया याद रखें कि sorted या filtered जैसी मानक सूची विधियाँ जटिल चयनकर्ता बनाने में सहायक होती हैं।
पाइथन लाइब्रेरी के ज़रिए पैरामीट्रिक लेगो ब्लॉक बनाएँ
ओपन सोर्स पाइथन लाइब्रेरी बिल्ड123d सॉफ़्टवेयर डेवलपर्स को अपने पाइथन एप्लिकेशन के अंदर पैरामीट्रिक लेगो ब्लॉक बनाने की अनुमति देता है। सबसे पहले आपको build123d वातावरण को महत्वपूर्ण बनाना होगा और लेगो ब्लॉक के आयामों को परिभाषित करना होगा। अब हम बिल्डर भाग में जा सकते हैं और ब्लॉक की आंतरिक संरचना बनाने की आवश्यकता है। संरचना के लिए हमें एक दो आयामी स्केच बनाने की आवश्यकता है जिसे बाद में एक तीन आयामी ऑब्जेक्ट में निकाला जाएगा। उसके बाद हम परिधि आयत को परिभाषित कर सकते हैं और ब्लॉक आयत की दीवारें बना सकते हैं और आंतरिक ग्रिड बना सकते हैं। उसके बाद हमें आंतरिक ग्रिड को लकीरों में बदलने की आवश्यकता है, केंद्र को हटाने की आवश्यकता है। अब आंतरिक खोखले सिलेंडरों का सेट बनाएँ और स्केच को दीवारों में फैलाएँ। दीवारों के पूरा होने के बाद, ब्लॉक के शीर्ष को जोड़ने की आवश्यकता है और अंतिम चरण पिप्स को जोड़ना है।
पायथन एपीआई के माध्यम से लेगो ब्लॉक के आयाम और आंतरिक ग्रिड कैसे बनाएं?
from build123d import *
pip_count = 6
lego_unit_size = 8
pip_height = 1.8
pip_diameter = 4.8
block_length = lego_unit_size * pip_count
block_width = 16
base_height = 9.6
block_height = base_height + pip_height
support_outer_diameter = 6.5
support_inner_diameter = 4.8
ridge_width = 0.6
ridge_depth = 0.3
wall_thickness = 1.2
// instantiate a BuildPart
with BuildPart() as lego:
//create a sketch builder
with BuildPart() as lego:
# Draw the bottom of the block
with BuildSketch() as plan:
//create Perimeter Rectangle
with BuildPart() as lego:
# Draw the bottom of the block
with BuildSketch() as plan:
# Start with a Rectangle the size of the block
perimeter = Rectangle(width=block_length, height=block_width)
//create the walls of the block
ith BuildPart() as lego:
# Draw the bottom of the block
with BuildSketch() as plan:
# Start with a Rectangle the size of the block
perimeter = Rectangle(width=block_length, height=block_width)
# Subtract an offset to create the block walls
Offset(
perimeter,
amount=-wall_thickness,
kind=Kind.INTERSECTION,
mode=Mode.SUBTRACT,
)
//Create Internal Grid
with BuildPart() as lego:
# Draw the bottom of the block
with BuildSketch() as plan:
# Start with a Rectangle the size of the block
perimeter = Rectangle(width=block_length, height=block_width)
# Subtract an offset to create the block walls
Offset(
perimeter,
amount=-wall_thickness,
kind=Kind.INTERSECTION,
mode=Mode.SUBTRACT,
)
# Add a grid of lengthwise and widthwise bars
with GridLocations(x_spacing=0, y_spacing=lego_unit_size, x_count=1, y_count=2):
Rectangle(width=block_length, height=ridge_width)
with GridLocations(lego_unit_size, 0, pip_count, 1):
Rectangle(width=ridge_width, height=block_width)