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

Atvērtā koda Python bibliotēka 3D modelēšanai un datu apmaiņai

Bezmaksas Python bibliotēka 3D modelēšanai un datu apmaiņas apstrādei. Tas ļauj strādāt ar 3D CAD, BIM, PLM un CAM failu formātiem, izmantojot Python API tiešsaistē.

Kas ir PythonOCC-Core bibliotēka?

PythonOCC-Core ir bezmaksas 3D modelēšanas un CAD automatizācijas bibliotēka. Tā izmanto Python, plaši izmantotu programmēšanas valodu, virs OpenCASCADE Technology (OCCT) kodola. Šī kombinācija piedāvā spēcīgu pamatu sarežģītu 3D formu izveidei, modificēšanai un izpētei. Apvienojot Python vienkāršību ar OCCT jaudīgajiem modelēšanas rīkiem, jūs iegūstat daudzpusīgu un efektīvu rīku savā rīcībā. Ar intuitīvu Python interfeisu un plašu funkcionalitāšu klāstu bibliotēka nodrošina nevainojamu pieredzi gan iesācējiem, gan pieredzējušiem izstrādātājiem šajā jomā. Tā ļauj arhitektiem un inženieriem, tādiem kā jūs, izveidot parametriskus modeļus, radīt būvniecības plānus un veikt struktūras analīzi. Šis rīks uzlabo dizaina darba plūsmu, ļaujot precīzi vizualizēt un efektīvi sadarboties. Tas ir populārs dažādās nozarēs, piemēram, automobiļu, aviācijas un produktu dizaina jomā, lai izstrādātu un pilnveidotu sarežģītus 3D modeļus. Izmantojot šo bibliotēku, jūs varat paātrināt prototipu izstrādi, simulācijas un dizaina analīzi, tādējādi vienkāršojot produktu izstrādes procesu.

PythonOCC-Core vizualizācijas funkcijas ir ideālas spēļu un virtuālās realitātes pieredzes radīšanai. Ar šo rīku jūs varat izveidot aizraujošus vidi, dzīvas simulācijas un interaktīvas piedzīvojumus. Turklāt bibliotēka piedāvā būtiskas funkcijas, piemēram, darbu ar medicīnisko attēlu apstrādi, 3D ģeometrijas manipulēšanu, CAD datu importēšanu un eksportēšanu, uzlabotu simulāciju izpildi uz 3D modeļiem, 3D satura vizualizāciju tīmekļa pārlūkprogrammās un 3D vizuālu demonstrēšanu populāros Python GUI. Bibliotēka arī spēlē svarīgu lomu zinātniskā pētniecības jomās, piemēram, skaitļošanas fizikā, materiālu zinātnē un biomedicīniskajā inženierijā. Daudzi programmatūras profesionāļi un izstrādātāji dažādās nozarēs uzskata PythonOCC-Core par pievilcīgu, jo tas apvieno Python vienkāršību un OCCT spēku. Ar PythonOCC-Core jūs varat palielināt savu radošumu un racionalizēt sarežģītus CAD procesus. Tas atver jaunas iespējas inovācijām un produktivitātei 3D modelēšanā un dizainā.

Previous Next

Sākšana ar PythonOCC-Core

Visvienkāršākais veids, kā instalēt PythonOCC-Core stabilo versiju, ir izmantot pip. Lūdzu, izmantojiet zemāk norādīto komandu, lai veiktu gludu instalēšanu.

Instalējiet PythonOCC-Core, izmantojot pip

pip install pythonocc-core

Instalējiet PythonOCC-Core, izmantojot Conda

conda install -c conda-forge pythonocc-core

Jūs varat arī instalēt PythonOCC-Core, izmantojot Conda, ar šādu komandu.

conda install -c 1adrianb face_alignment

Jūs varat lejupielādēt kompilēto koplietojamo bibliotēku no GitHub krātuves.

Izveidojiet un pārvaldiet 3D ģeometrijas, izmantojot Python

Atvērtā koda PythonOCC-Core bibliotēka nodrošina pilnīgu atbalstu 3D modeļu izveidei un pārvaldībai Python lietojumprogrammās. Turklāt bibliotēka piedāvā plašu rīku komplektu 3D ģeometrisko formu izveidei un manipulēšanai, ieskaitot punktus, līknes, virsmas un cietos ķermeņus. Tā piedāvā plašu algoritmu klāstu sarežģītu objektu izveidei un modificēšanai, piemēram, Boolea operācijas, noapaļošana un slīpēšana. Zemāk esošais piemērs parāda, kā programmatūras izstrādātāji var izveidot galveno ģeometrijas robežkasti, izmantojot Python komandas.

Kā aprēķināt un parādīt robežkastes Python lietotnēs?

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)

 

CAD automatizācija, izmantojot Python API

Atvērtā koda PythonOCC-Core bibliotēka ir nodrošinājusi ļoti noderīgas funkcijas dažādu uzdevumu apstrādei, kas saistīti ar CAD diagrammām. Bibliotēka atbalsta dažādus failu formātus, kas bieži tiek izmantoti CAD, tostarp STEP, IGES, STL un BREP. Bibliotēka ļauj izstrādātājiem automatizēt atkārtotus CAD uzdevumus, piemēram, ģenerēt parametriskus dizainus, veikt ģeometriskus pārveidojumus un veikt ģeometrisko analīzi. Tā piedāvā augsta līmeņa API, kas vienkāršo CAD darba plūsmu īstenošanu, padarot to par ideālu izvēli CAD automatizācijas rīku izveidei.

Kā izveidot formu un eksportēt to uz CAD STEP faila formātu, izmantojot 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")
 
 Latviski