1. Termékek
  2.   CAD
  3.   Python
  4.   build123d
 
  

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.

Previous Next

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)
 
 
 Magyar