1. Produktai
  2.   CAD
  3.   Python
  4.   build123d
 
  

Atvirojo kodo Python biblioteka 2D ir 3D CAD brėžiniams

Atvirojo kodo „Python CAD“ biblioteka 2D ir 3D modeliams kurti ir valdyti. Kurkite parametrinius Lego kaladėles ir naudokite selektorius „Python“ programose..

Kas yra „Build123d“ biblioteka?

„Build123d“ yra atvirojo kodo „Python 3D CAD“ paketas, padedantis programinės įrangos kūrėjams kurti 2D ir 3D brėžinius savo „Python“ programose. „Build123d“ biblioteka naudoja standartinę „Python“ konteksto tvarkyklę, o brėžiniams tvarkyti yra trys kūrimo įrankiai. „BuildLine“ kūrimo įrankį galima naudoti vienmačiams objektams, „BuildSketch“ kūrimo įrankį – plokštuminiams dvimatiams objektams, o „BuildPart“ kūrimo įrankį – trimačiams objektams. Kūrėjas objektų pozicionavimui arba operacijoms naudoja vietos kontekstus.

Biblioteka palaiko įvairias 2D ir 3D operacijas, tokias kaip užapvalinimas, veidrodinis atspindėjimas, poslinkis, mastelio keitimas, padalijimas, „CounterBoreHole“, „CounterSinkHole“, išstūmimas, skylė, palėpė, pasukimas, mastelio keitimas, pjūvis, padalijimas ir daugelį kitų. Be aukščiau išvardytų, bibliotekoje taip pat yra keletas selektorių, selektorių operatorių, briaunų ir vielų operatorių, plokštumos operatorių, vektorių operatorių ir viršūnių operatorių.

„Build123d“ biblioteka yra naudinga alternatyva „Build123d“ API, turinti daug pranašumų, o svarbiausias iš jų yra tai, kad „build123d“ leidžia naudoti visą „Python“ įrankių rinkinį projektuojant objektus. Biblioteką labai paprasta naudoti, objektus galima lengvai išdėstyti ir valdyti bet kur.

Previous Next

Darbo su „Build123d“ pradžia

Lengviausias būdas įdiegti stabilią „Build123d“ versiją yra naudoti „GitHub“. Sklandžiam diegimui naudokite šią komandą

Įdiekite „Build123d“ per „GitHub“

python3 -m pip install git+https://github.com/gumyr/build123d.git#egg=build123d 

Sukompiliuotą bendrinamą biblioteką galite atsisiųsti iš „Github“ saugyklos.

Kaip naudoti selektorius naudojant Python biblioteką

Naudodamas grafinės sąsajos CAD sistemą, vartotojas dažnai spusteli elementą, kad pasirinktų jį kokiai nors operacijai atlikti. Selektoriai yra procedūros, rodančios, kaip vartotojai gali atskirti elementą nuo projekto naudodami Python filtravimo ir rūšiavimo metodus, paprastai įgyvendinamus kaip pasirinktinių Python operacijų rinkinys. vertices(), edges(), wires(), solids() ir faces() yra keli selektoriaus pavyzdžiai. Operandų tipai yra: Axis, SortBy ir GeomType. Atminkite, kad standartiniai sąrašo metodai, tokie kaip sorted arba filtered, yra naudingi generuojant sudėtingus selektorius.

Parametrinio Lego bloko kūrimas naudojant Python biblioteką

Atvirojo kodo Python biblioteka „Build123d“ leidžia programinės įrangos kūrėjams kurti parametrinius Lego blokus savo Python programose. Pirmiausia reikia sukurti „build123d“ aplinką ir apibrėžti Lego bloko matmenis. Dabar galime pereiti prie konstruktoriaus dalies ir sukurti blokų vidinę struktūrą. Struktūrai turime nupiešti dvimatį eskizą, kuris vėliau bus išspaustas į trimatį objektą. Po to galime apibrėžti perimetro stačiakampį ir sukurti bloko stačiakampio sienas bei sukurti vidinį tinklelį. Po to turime konvertuoti vidinį tinklelį į briaunas, pašalinti centrą. Dabar sukurkite vidinių tuščiavidurių cilindrų rinkinį ir išspausti eskizą į sienas. Užbaigus sienas, reikia pridėti bloko viršų, o paskutinis žingsnis – pridėti taškus.

Kaip sukurti Lego kaladėlės matmenis ir vidinį tinklelį naudojant Python API?

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)
 
 
 Lietuvių