Pustaka Python Sumber Terbuka untuk Lukisan CAD 2D & 3D
Perpustakaan CAD Python sumber terbuka untuk Mencipta dan Mengurus Model 2D & 3D. Buat Blok Lego Parametrik & Gunakan Pemilih dalam apl Python.
Apakah Pustaka Build123d?
Build123d ialah pakej CAD Python 3D sumber terbuka yang membantu pembangun perisian untuk mencipta lukisan 2D & 3D dalam aplikasi Python mereka sendiri. Pustaka Build123d menggunakan pengurus konteks python standard dan tiga pembina tersedia untuk mengendalikan lukisan. Pembina BuildLine boleh digunakan untuk objek satu dimensi, pembina BuildSketch untuk objek dua dimensi satah dan pembina BuildPart untuk objek tiga dimensi. Pembina menggunakan Konteks Lokasi untuk meletakkan objek atau operasi.
Perpustakaan telah menyertakan sokongan untuk pelbagai operasi 2D dan 3D, seperti fillet, cermin, offset, skala, belah, CounterBoreHole, CounterSinkHole, Extrude, Hole, Loft, Revolve, Scale, Section, Split dan banyak lagi. Selain daripada perkara di atas, terdapat beberapa pemilih, operator pemilih, operator tepi dan wayar, operator satah, operator vektor dan operator bucu juga merupakan sebahagian daripada perpustakaan.
Pustaka Build123d ialah alternatif yang berguna kepada API Build123d yang mempunyai banyak kelebihan berbandingnya dan yang paling penting ialah build123d mendayakan kotak alat python penuh semasa mereka bentuk objek. Perpustakaan ini sangat mudah untuk dikendalikan dan seseorang boleh meletakkan dan mengurus objek dengan mudah di mana-mana sahaja.
Bermula dengan Build123d
Cara paling mudah untuk memasang keluaran stabil Build123d ialah menggunakan GitHub. Sila gunakan arahan berikut untuk pemasangan yang lancar
Install Build123d via GitHub
python3 -m pip install git+https://github.com/gumyr/build123d.git#egg=build123d
Anda boleh memuat turun perpustakaan kongsi yang disusun daripada repositori Github.
Cara Menggunakan Pemilih melalui Pustaka Python
Apabila menggunakan sistem CAD berasaskan GUI, pengguna selalunya akan mengklik pada ciri untuk memilihnya untuk beberapa operasi. Pemilih ialah prosedur yang menunjukkan cara pengguna boleh mengasingkan ciri daripada reka bentuk menggunakan penapis ular sawa dan kaedah pengisihan yang biasanya dilaksanakan sebagai satu set operasi ular sawa tersuai. bucu(), tepi(), wayar(), pepejal() dan muka() ialah beberapa contoh pemilih. Jenis operan ialah: Axis, SortBy, dan GeomType. Sila ingat bahawa kaedah senarai standard seperti diisih atau ditapis membantu dalam menjana pemilih kompleks.
Buat Blok Lego Parametrik melalui Perpustakaan Python
Pustaka Python sumber terbuka Build123d membenarkan pembangun perisian mencipta blok Lego parametrik di dalam aplikasi Python mereka sendiri. Mula-mula anda perlu pentingkan persekitaran build123d dan tentukan dimensi blok Lego. Sekarang kita boleh beralih ke bahagian pembina dan perlu mencipta struktur dalaman blok. Untuk struktur kita perlu melukis lakaran dua dimensi yang kemudiannya akan diekstrusi menjadi objek tiga dimensi. Selepas itu kita boleh menentukan segi empat tepat perimeter dan mencipta dinding segi empat blok dan mencipta grid dalaman. Selepas itu kita perlu menukar grid dalaman kepada rabung, pusat perlu dikeluarkan. Sekarang buat set silinder berongga dalaman dan keluarkan Lakaran ke dalam Dinding. Selepas penyiapan dinding, bahagian atas blok perlu ditambah dan langkah terakhir ialah menambah pip.
Bagaimana untuk Mencipta Dimensi & Grid Dalaman Blok Lego melalui API Python?
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)