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.
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-coreInstalace PythonOCC-Core pomocí Conda
conda install -c conda-forge pythonocc-corePythonOCC-Core můžete také nainstalovat pomocí Conda pomocí následujícího příkazu.
conda install -c 1adrianb face_alignmentMůž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")