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

Perpustakaan Python Sumber Terbuka untuk Pemodelan 3D & Pertukaran Data

Perpustakaan Python Gratis untuk pemodelan 3D dan penanganan pertukaran data. Memungkinkan bekerja dengan format file 3D CAD, BIM, PLM, dan CAM melalui API Python secara daring.

Apa itu Perpustakaan PythonOCC-Core?

PythonOCC-Core adalah perpustakaan gratis untuk pemodelan 3D dan otomatisasi CAD. Ia menggunakan Python, bahasa pemrograman yang banyak digunakan, di atas kernel OpenCASCADE Technology (OCCT). Kombinasi ini menawarkan dasar yang kuat untuk membuat, mengubah, dan mempelajari bentuk 3D yang rumit. Dengan menggabungkan kemudahan Python dengan alat pemodelan kuat OCCT, Anda mendapatkan alat yang serbaguna dan efektif. Dengan antarmuka Python yang intuitif dan rangkaian fungsionalitas yang luas, perpustakaan ini memberikan pengalaman yang mulus bagi pemula maupun pengembang berpengalaman di bidang ini. Ia memberdayakan arsitek dan insinyur seperti Anda untuk membuat model parametrik, menghasilkan tata letak bangunan, dan melakukan analisis struktural. Alat ini meningkatkan alur kerja desain, memungkinkan visualisasi yang tepat dan kerja tim yang efektif. Ia populer di berbagai sektor seperti otomotif, dirgantara, dan desain produk untuk mengembangkan dan menyempurnakan model 3D yang rumit. Dengan perpustakaan ini, Anda dapat mempercepat prototyping, simulasi, dan analisis desain, sehingga menyederhanakan proses pengembangan produk.

Fitur visualisasi PythonOCC-Core sangat cocok untuk membuat game dan pengalaman realitas virtual. Dengan alat ini, Anda dapat membangun lingkungan yang menarik, simulasi yang mirip kehidupan, dan petualangan interaktif. Selain itu, perpustakaan ini menawarkan fungsi penting seperti bekerja dengan Imaging Medis, memanipulasi geometri 3D, mengimpor dan mengekspor Data CAD, menjalankan simulasi lanjutan pada model 3D, memvisualisasikan konten 3D di peramban web, dan menampilkan visual 3D melalui GUI Python populer. Perpustakaan ini juga memainkan peran penting dalam bidang penelitian ilmiah seperti fisika komputasi, ilmu material, dan teknik biomedis. Banyak profesional perangkat lunak dan pengembang di berbagai industri menemukan PythonOCC-Core menarik karena menggabungkan kemudahan Python dan kekuatan OCCT. Dengan PythonOCC-Core, Anda dapat meningkatkan kreativitas dan menyederhanakan proses CAD yang rumit. Ini membuka peluang baru untuk inovasi dan produktivitas dalam pemodelan dan desain 3D.

Previous Next

Memulai dengan PythonOCC-Core

Cara termudah untuk menginstal rilis stabil PythonOCC-Core adalah menggunakan pip. Silakan gunakan perintah berikut untuk instalasi yang lancar.

Instal PythonOCC-Core via pip

pip install pythonocc-core

Instal PythonOCC-Core via Conda

conda install -c conda-forge pythonocc-core

Anda juga dapat menginstal PythonOCC-Core melalui Conda menggunakan perintah berikut.

conda install -c 1adrianb face_alignment

Anda dapat mengunduh pustaka berbagi yang telah dikompilasi dari repositori Github.

Buat & Kelola Geometri 3D melalui Python

Pustaka open source PythonOCC-Core telah menyertakan dukungan lengkap untuk membuat dan mengelola model 3D di dalam aplikasi Python. Selain itu, pustaka ini menawarkan rangkaian alat yang luas untuk membuat dan memanipulasi bentuk geometris 3D, termasuk titik, kurva, permukaan, dan padatan. Ia menyediakan berbagai algoritma untuk membangun dan memodifikasi objek kompleks, seperti operasi Boolean, filleting, dan chamfering. Contoh berikut menunjukkan bagaimana pengembang perangkat lunak dapat membuat kotak pembatas geometri inti menggunakan perintah python.

Bagaimana Menghitung dan Menampilkan Bounding Box di dalam Aplikasi Python?

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)

 

Otomatisasi CAD menggunakan API Python

Perpustakaan open source PythonOCC-Core telah menyediakan fitur yang sangat berguna untuk menangani berbagai tugas terkait diagram CAD. Perpustakaan ini mendukung berbagai format file yang umum digunakan dalam CAD, termasuk STEP, IGES, STL, dan BREP. Perpustakaan ini memungkinkan pengembang mengotomatisasi tugas CAD yang berulang, seperti menghasilkan desain parametrik, melakukan transformasi geometris, dan melakukan analisis geometris. Ia menyediakan API tingkat tinggi yang menyederhanakan implementasi alur kerja CAD, menjadikannya pilihan ideal untuk membangun alat otomasi CAD.

Bagaimana Membuat Bentuk & Mengekspor ke Format File CAD STEP melalui API Python?

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")
 
 Indonesia