1. produkty
  2.   3D
  3.   Python
  4.   PythonOCC-Core
 
  

Open source Python knihovna pro 3D modelování & výměnu dat

Bezplatná Python knihovna pro 3D modelování a zpracování výměny dat. Umožňuje pracovat s formáty souborů 3D CAD, BIM, PLM a CAM pomocí Python API online.

Co je knihovna PythonOCC-Core?

PythonOCC-Core je bezplatná knihovna pro 3D modelování a automatizaci CAD. Používá Python, široce používaný programovací jazyk, na vrcholu jádra OpenCASCADE Technology (OCCT). Tato kombinace nabízí silný základ pro tvorbu, úpravu a studium složitých 3D tvarů. Spojením jednoduchosti Pythonu s výkonnými modelovacími nástroji OCCT získáte všestranný a efektivní nástroj k dispozici. Díky intuitivnímu rozhraní v Pythonu a rozsáhlé sadě funkcí poskytuje knihovna plynulý zážitek jak pro začátečníky, tak pro zkušené vývojáře v oboru. Umožňuje architektům a inženýrům, jako jste vy, vytvářet parametrické modely, vytvářet stavební plány a provádět strukturální analýzu. Tento nástroj zlepšuje pracovní postup návrhu, umožňuje přesnou vizualizaci a efektivní týmovou spolupráci. Je populární v různých odvětvích, jako je automobilový průmysl, letectví a produktový design, pro vývoj a zdokonalování složitých 3D modelů. S touto knihovnou můžete urychlit prototypování, simulace a analýzu návrhu, čímž zjednodušíte proces vývoje produktu.

Vizualizační funkce PythonOCC-Core jsou ideální pro tvorbu her a zážitků ve virtuální realitě. S tímto nástrojem můžete vytvářet poutavá prostředí, realistické simulace a interaktivní dobrodružství. Kromě toho knihovna nabízí nezbytné funkce, jako je práce s medicínským zobrazováním, manipulace s 3D geometrií, import a export CAD dat, provádění pokročilých simulací na 3D modelech, vizualizace 3D obsahu v webových prohlížečích a prezentace 3D vizuálů prostřednictvím populárních Python GUI. . Knihovna také hraje klíčovou roli ve vědeckém výzkumu, jako je výpočetní fyzika, materiálová věda a biomedicínské inženýrství. Mnoho softwarových profesionálů a vývojářů v různých odvětvích považuje PythonOCC-Core za atraktivní, protože kombinuje snadnost Pythonu a sílu OCCT. S PythonOCC-Core můžete podpořit svou kreativitu a zjednodušit složité CAD procesy. To otevírá nové možnosti pro inovace a produktivitu v 3D modelování a designu.

Previous Next

Začínáme s PythonOCC-Core

Nejjednodušší způsob, jak nainstalovat stabilní verzi PythonOCC-Core, je pomocí pip. Použijte prosím následující příkaz pro hladkou instalaci.

Instalace PythonOCC-Core pomocí pip

pip install pythonocc-core

Instalace PythonOCC-Core pomocí Conda

conda install -c conda-forge pythonocc-core

PythonOCC-Core můžete také nainstalovat pomocí Conda pomocí následujícího příkazu.

conda install -c 1adrianb face_alignment

Můžete si stáhnout zkompilovanou sdílenou knihovnu z repozitáře Github.

Vytvářejte a spravujte 3D geometrie pomocí Pythonu

Otevřená knihovna PythonOCC-Core poskytuje kompletní podporu pro vytváření a správu 3D modelů v Python aplikacích. Kromě toho knihovna nabízí rozsáhlou sadu nástrojů pro tvorbu a manipulaci s 3D geometrickými tvary, včetně bodů, křivek, ploch a těles. Poskytuje širokou škálu algoritmů pro konstrukci a úpravu složitých objektů, jako jsou Booleovské operace, zaoblování a zkosení. Následující příklad ukazuje, jak mohou vývojáři softwaru vytvořit ohraničující krabice základní geometrie pomocí python příkazů.

Jak vypočítat a zobrazit ohraničující rámečky v Python aplikacích?

def get_boundingbox(shape, tol=1e-6, use_mesh=True):

bbox = Bnd_Box()
    bbox.SetGap(tol)
    if use_mesh:
        mesh = BRepMesh_IncrementalMesh()
        mesh.SetParallelDefault(True)
        mesh.SetShape(shape)
        mesh.Perform()
        if not mesh.IsDone():
            raise AssertionError("Mesh not done.")
    brepbndlib_Add(shape, bbox, use_mesh)

    xmin, ymin, zmin, xmax, ymax, zmax = bbox.Get()
    return xmin, ymin, zmin, xmax, ymax, zmax, xmax - xmin, ymax - ymin, zmax - zmin


print("Box bounding box computation")
box_shape = BRepPrimAPI_MakeBox(10.0, 20.0, 30.0).Shape()
bb1 = get_boundingbox(box_shape)
print(bb1)

print("Cylinder bounding box computation")
cyl_shape = BRepPrimAPI_MakeCylinder(10.0, 20.0).Shape()
bb2 = get_boundingbox(cyl_shape)
print(bb2)

print("Torus bounding box computation")
torus_shape = BRepPrimAPI_MakeCylinder(15.0, 5.0).Shape()
bb3 = get_boundingbox(torus_shape)
print(bb3)

 

Automatizace CAD pomocí Python API

Otevřená knihovna PythonOCC-Core poskytla velmi užitečné funkce pro zpracování různých úkolů souvisejících s CAD diagramy. Knihovna podporuje různé souborové formáty běžně používané v CAD, včetně STEP, IGES, STL a BREP. Knihovna umožňuje vývojářům automatizovat opakující se CAD úkoly, jako je generování parametrických návrhů, provádění geometrických transformací a provádění geometrické analýzy. Poskytuje vysoce úrovňové API, které zjednodušuje implementaci CAD pracovních postupů, což z ní činí ideální volbu pro tvorbu nástrojů pro automatizaci CAD.

Jak vytvořit tvar a exportovat jej do formátu CAD STEP pomocí Python API?

from __future__ import print_function

from OCC.Core.BRepPrimAPI import BRepPrimAPI_MakeBox

from OCC.Core.STEPControl import STEPControl_Writer, STEPControl_AsIs
from OCC.Core.Interface import Interface_Static_SetCVal
from OCC.Core.IFSelect import IFSelect_RetDone

# creates a basic shape
box_s = BRepPrimAPI_MakeBox(10, 20, 30).Shape()

# initialize the STEP exporter
step_writer = STEPControl_Writer()
dd = step_writer.WS().TransferWriter().FinderProcess()
print(dd)

Interface_Static_SetCVal("write.step.schema", "AP203")

# transfer shapes and write file
step_writer.Transfer(box_s, STEPControl_AsIs)
status = step_writer.Write("box.stp")

if status != IFSelect_RetDone:
    raise AssertionError("load failed")
 
 Čeština