Nyílt forráskódú Python könyvtár 2D és 3D CAD rajzokhoz
Nyílt forráskódú Python CAD könyvtár 2D és 3D modellek létrehozásához és kezeléséhez. Parametrikus Lego kockák létrehozása és szelektorok használata Python alkalmazásokon belül.
Mi az a Build123d könyvtár?
A Build123d egy nyílt forráskódú Python 3D CAD csomag, amely segít a szoftverfejlesztőknek 2D és 3D rajzok létrehozásában saját Python alkalmazásaikon belül. A Build123d könyvtár a standard Python kontextuskezelőt használja, és három építő áll rendelkezésre a rajzok kezeléséhez. A BuildLine építő egydimenziós objektumokhoz, a BuildSketch építő síkbeli kétdimenziós objektumokhoz, a BuildPart építő pedig háromdimenziós objektumokhoz használható. A építők helykontextusokat használnak objektumok pozicionálásához vagy műveletekhez.
A könyvtár különféle 2D és 3D műveleteket támogat, például lekerekítést, tükrözést, eltolást, méretezést, felosztást, Ellenfuratot, Ellensüllyesztést, Kihúzást, Lyukat, Pásztázást, Megforgatást, Méretezést, Metszést, Felosztást és sok mást. A fentieken kívül számos szelektor, szelektoroperátor, él- és drótoperátor, síkoperátor, vektoroperátor és csúcsoperátor is található a könyvtárban.
A Build123d könyvtár hasznos alternatívája a Build123d API-nak, számos előnnyel rendelkezik vele szemben, és a legfontosabb, hogy a build123d lehetővé teszi a teljes Python eszköztár használatát objektumok tervezése során. A könyvtár nagyon egyszerűen kezelhető, és az objektumok bárhol könnyen elhelyezhetők és kezelhetők.
Build123d – Első lépések
A Build123d stabil kiadásának telepítésének legegyszerűbb módja a GitHub használata. A zökkenőmentes telepítés érdekében kérjük, használja a következő parancsot
Telepítse a Build123d-t a GitHubon keresztül
python3 -m pip install git+https://github.com/gumyr/build123d.git#egg=build123d
A lefordított megosztott könyvtárat letöltheted a Github repositoryból.
Hogyan használjuk a szelektorokat a Python könyvtáron keresztül
GUI-alapú CAD rendszer használatakor a felhasználó gyakran rákattint egy jellemzőre, hogy kiválassza azt valamilyen művelethez. A szelektorok olyan eljárások, amelyek megmutatják, hogyan választhatnak el egy jellemzőt a tervtől Python szűrő és rendezési módszerek segítségével, amelyeket jellemzően egyéni Python műveletek halmazaként valósítanak meg. A vertices(), edges(), wires(), solids() és faces() példák a szelektorokra. Az operandustípusok: Axis, SortBy és GeomType. Kérjük, ne feledje, hogy a szabványos listametódusok, mint például a sorted vagy a filtered, hasznosak az összetett szelektorok létrehozásában.
Parametrikus Lego blokk létrehozása Python könyvtáron keresztül
A nyílt forráskódú Python könyvtár, a Build123d lehetővé teszi a szoftverfejlesztők számára, hogy parametrikus Lego blokkokat hozzanak létre saját Python alkalmazásaikon belül. Először létre kell hozni a build123d környezetet, és meg kell határozni a Lego blokk méreteit. Most áttérhetünk az építő részre, és létre kell hoznunk a blokkok belső szerkezetét. A szerkezethez egy kétdimenziós vázlatot kell rajzolnunk, amelyet később háromdimenziós objektummá fogunk extrudálni. Ezután definiálhatjuk a kerület téglalapot, létrehozhatjuk a blokk téglalapjának falait, és létrehozhatjuk a belső rácsot. Ezután a belső rácsot bordákká kell alakítanunk, a középpontot el kell távolítani. Most hozzunk létre egy készletet belső üreges hengerekből, és extrudáljuk a vázlatot falakká. A falak elkészülte után hozzá kell adni a blokk tetejét, és az utolsó lépés a pipek hozzáadása.
Hogyan hozhatok létre Lego blokk méreteit és belső rácsát Python API-n keresztül?
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)