2D এবং 3D CAD অঙ্কনের জন্য ওপেন সোর্স পাইথন লাইব্রেরি
2D এবং 3D মডেল তৈরি এবং পরিচালনার জন্য ওপেন সোর্স পাইথন CAD লাইব্রেরি। প্যারামেট্রিক লেগো ব্লক তৈরি করুন এবং পাইথন অ্যাপের ভিতরে নির্বাচক ব্যবহার করুন।
Build123d লাইব্রেরি কী?
Build123d হল একটি ওপেন সোর্স Python 3D CAD প্যাকেজ যা সফটওয়্যার ডেভেলপারদের তাদের নিজস্ব Python অ্যাপ্লিকেশনের মধ্যে 2D এবং 3D অঙ্কন তৈরি করতে সাহায্য করে। Build123d লাইব্রেরি স্ট্যান্ডার্ড পাইথন কনটেক্সট ম্যানেজার ব্যবহার করে এবং অঙ্কন পরিচালনার জন্য তিনটি বিল্ডার উপলব্ধ। BuildLine বিল্ডার এক-মাত্রিক বস্তুর জন্য, BuildSketch বিল্ডার সমতল দ্বি-মাত্রিক বস্তুর জন্য এবং BuildPart বিল্ডার ত্রি-মাত্রিক বস্তুর জন্য ব্যবহার করা যেতে পারে। একজন বিল্ডার বস্তু বা ক্রিয়াকলাপের অবস্থান নির্ধারণের জন্য অবস্থান প্রসঙ্গ ব্যবহার করে।
লাইব্রেরিতে বিভিন্ন 2D এবং 3D ক্রিয়াকলাপের জন্য সমর্থন অন্তর্ভুক্ত রয়েছে, যেমন ফিলেট, মিরর, অফসেট, স্কেল, স্প্লিট, কাউন্টারবোরহোল, কাউন্টারসিঙ্কহোল, এক্সট্রুড, হোল, লফ্ট, রিভলভ, স্কেল, সেকশন, স্প্লিট এবং আরও অনেক কিছু। উপরোক্তগুলি ছাড়াও, বেশ কয়েকটি নির্বাচক রয়েছে, নির্বাচক অপারেটর, এজ এবং ওয়্যার অপারেটর, প্লেন অপারেটর, ভেক্টর অপারেটর এবং ভার্টেক্স অপারেটরও লাইব্রেরির অংশ।
Build123d লাইব্রেরি হল Build123d API-এর একটি কার্যকর বিকল্প যার অনেক সুবিধা রয়েছে এবং সবচেয়ে গুরুত্বপূর্ণ হল যে build123d অবজেক্ট ডিজাইন করার সময় সম্পূর্ণ পাইথন টুলবক্স সক্ষম করে। লাইব্রেরিটি পরিচালনা করা খুবই সহজ এবং যে কেউ সহজেই যেকোনো জায়গায় অবজেক্ট স্থাপন এবং পরিচালনা করতে পারে।
Build123d দিয়ে শুরু করা
Build123d স্টেবল রিলিজ ইনস্টল করার সবচেয়ে সহজ উপায় হল GitHub ব্যবহার করা। মসৃণ ইনস্টলেশনের জন্য অনুগ্রহ করে নিম্নলিখিত কমান্ডটি ব্যবহার করুন
GitHub এর মাধ্যমে Build123d ইনস্টল করুন
python3 -m pip install git+https://github.com/gumyr/build123d.git#egg=build123d
আপনি Github সংগ্রহস্থল থেকে সংকলিত শেয়ার্ড লাইব্রেরি ডাউনলোড করতে পারেন।
পাইথন লাইব্রেরির মাধ্যমে সিলেক্টর কীভাবে ব্যবহার করবেন
AGUI ভিত্তিক CAD সিস্টেম ব্যবহার করার সময় ব্যবহারকারী প্রায়শই কোনও ফাংশনে ক্লিক করে কোনও অপারেশনের জন্য এটি নির্বাচন করেন। সিলেক্টর হল এমন পদ্ধতি যা দেখায় যে ব্যবহারকারীরা পাইথন ফিল্টার এবং সাজানোর পদ্ধতি ব্যবহার করে কীভাবে একটি ফাংশনকে একটি ডিজাইন থেকে আলাদা করতে পারেন যা সাধারণত কাস্টম পাইথন অপারেশনের একটি সেট হিসাবে প্রয়োগ করা হয়। vertices(), edges(), wires(), solids() এবং faces() হল সিলেক্টরের কিছু উদাহরণ। অপারেন্ডের ধরণগুলি হল: Axis, SortBy, এবং GeomType। অনুগ্রহ করে মনে রাখবেন যে সর্ট করা বা ফিল্টার করা স্ট্যান্ডার্ড তালিকা পদ্ধতি জটিল সিলেক্টর তৈরি করতে সহায়ক।
পাইথন লাইব্রেরির মাধ্যমে প্যারামেট্রিক লেগো ব্লক তৈরি করুন
ওপেন সোর্স পাইথন লাইব্রেরি বিল্ড১২৩ডি সফটওয়্যার ডেভেলপারদের তাদের নিজস্ব পাইথন অ্যাপ্লিকেশনের ভিতরে প্যারামেট্রিক লেগো ব্লক তৈরি করতে দেয়। প্রথমে আপনাকে বিল্ড১২৩ডি পরিবেশ গুরুত্বপূর্ণ করতে হবে এবং লেগো ব্লকের মাত্রা নির্ধারণ করতে হবে। এখন আমরা বিল্ডার অংশে যেতে পারি এবং ব্লকগুলির অভ্যন্তরীণ কাঠামো তৈরি করতে হবে। কাঠামোর জন্য আমাদের একটি দ্বিমাত্রিক স্কেচ আঁকতে হবে যা পরে একটি ত্রিমাত্রিক বস্তুতে এক্সট্রুড করা হবে। এর পরে আমরা পরিধি আয়তক্ষেত্র সংজ্ঞায়িত করতে পারি এবং ব্লক আয়তক্ষেত্রের দেয়াল তৈরি করতে পারি এবং অভ্যন্তরীণ গ্রিড তৈরি করতে পারি। এর পরে আমাদের অভ্যন্তরীণ গ্রিডকে রিজে রূপান্তর করতে হবে, কেন্দ্রটি সরাতে হবে। এখন অভ্যন্তরীণ ফাঁপা সিলিন্ডারের একটি সেট তৈরি করুন এবং স্কেচকে দেয়ালে এক্সট্রুড করুন। দেয়াল তৈরি শেষ হওয়ার পরে, ব্লকের উপরের অংশটি যুক্ত করতে হবে এবং চূড়ান্ত পদক্ষেপ হল পিপগুলি যুক্ত করা।
পাইথন এপিআই ব্যবহার করে লেগো ব্লকের মাত্রা এবং অভ্যন্তরীণ গ্রিড কীভাবে তৈরি করবেন?
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)