1. สินค้า
  2.   3D
  3.   Python
  4.   PythonOCC-Core
 
  

ไลบรารี Python แบบโอเพ่นซอร์สสำหรับการสร้างโมเดล 3 มิติและการแลกเปลี่ยนข้อมูล

ไลบรารี Python ฟรีสำหรับการสร้างโมเดล 3 มิติและการจัดการการแลกเปลี่ยนข้อมูล ช่วยให้ทำงานกับไฟล์ฟอร์แมต 3D CAD, BIM, PLM และ CAM ผ่าน API Python ออนไลน์

PythonOCC-Core Library คืออะไร?

PythonOCC-Core เป็นไลบรารีฟรีสำหรับการสร้างโมเดล 3 มิติและการทำงานอัตโนมัติ CAD ใช้ Python ซึ่งเป็นภาษาการเขียนโปรแกรมที่ได้รับความนิยม อยู่บนเคอร์เนล OpenCASCADE Technology (OCCT) การผสมผสานนี้ให้พื้นฐานที่แข็งแรงสำหรับการสร้าง แก้ไข และศึกษารูปทรง 3 มิติที่ซับซ้อน โดยการผสานความง่ายของ Python กับเครื่องมือการสร้างโมเดลที่ทรงพลังของ OCCT คุณจะได้เครื่องมือที่หลากหลายและมีประสิทธิภาพในมือของคุณ ด้วยอินเทอร์เฟซ Python ที่ใช้งานง่ายและชุดฟังก์ชันที่ครอบคลุม ไลบรารีนี้มอบประสบการณ์ที่ราบรื่นทั้งสำหรับผู้เริ่มต้นและนักพัฒนาที่มีประสบการณ์ในสาขานี้ มันช่วยใหสถาปนิกและวิศวกรอย่างคุณสร้างโมเดลพารามิเตอร์ ผลิตแบบแปลนอาคาร และทำการวิเคราะห์โครงสร้าง เครื่องมือนี้ปรับปรุงกระบวนการออกแบบ ทำให้การมองเห็นที่แม่นยำและการทำงานเป็นทีมมีประสิทธิภาพมากขึ้น มันเป็นที่นิยมในหลายภาคส่วน เช่น ยานยนต์ การบิน และการออกแบบผลิตภัณฑ์ สำหรับการพัฒนาและปรับปรุงโมเดล 3 มิติที่ซับซ้อน ด้วยไลบรารีนี้ คุณสามารถเร่งกระบวนการทำต้นแบบ การจำลอง และการวิเคราะห์การออกแบบ ทำให้กระบวนการพัฒนาผลิตภัณฑ์ง่ายขึ้น

ฟีเจอร์การแสดงผลของ PythonOCC-Core เหมาะอย่างยิ่งสำหรับการสร้างเกมและประสบการณ์ความเป็นจริงเสมือน ด้วยเครื่องมือนี้คุณสามารถสร้างสภาพแวดล้อมที่ดึงดูด, การจำลองที่เหมือนจริง, และการผจญภัยแบบโต้ตอบได้ นอกจากนี้ไลบรารียังให้ฟังก์ชันสำคัญ เช่น การทำงานกับภาพทางการแพทย์, การจัดการเรขาคณิต 3 มิติ, การนำเข้าและส่งออกข้อมูล CAD, การรันการจำลองขั้นสูงบนโมเดล 3 มิติ, การแสดงผลเนื้อหา 3 มิติในเว็บเบราว์เซอร์, และการนำเสนอภาพ 3 มิติผ่าน GUI ของ Python ที่เป็นที่นิยม ไลบรารีนี้ยังมีบทบาทสำคัญในงานวิจัยทางวิทยาศาสตร์ เช่น ฟิสิกส์เชิงคำนวณ, วัสดุศาสตร์, และวิศวกรรมชีวการแพทย์ ผู้เชี่ยวชาญด้านซอฟต์แวร์และนักพัฒนาในอุตสาหกรรมต่าง ๆ พบว่า PythonOCC-Core น่าสนใจเพราะผสานความง่ายของ Python กับความแข็งแกร่งของ OCCT ด้วย PythonOCC-Core คุณสามารถเพิ่มความคิดสร้างสรรค์และทำให้กระบวนการ CAD ที่ซับซ้อนเป็นเรื่องง่ายขึ้น ซึ่งเปิดโอกาสใหม่สำหรับนวัตกรรมและประสิทธิภาพในการสร้างโมเดลและออกแบบ 3 มิติ

Previous Next

เริ่มต้นใช้งาน PythonOCC-Core

วิธีที่ง่ายที่สุดในการติดตั้ง PythonOCC-Core เวอร์ชันเสถียรคือการใช้ pip. โปรดใช้คำสั่งต่อไปนี้เพื่อการติดตั้งที่ราบรื่น.

ติดตั้ง PythonOCC-Core ผ่าน pip

pip install pythonocc-core

ติดตั้ง PythonOCC-Core ผ่าน Conda

conda install -c conda-forge pythonocc-core

คุณยังสามารถติดตั้ง PythonOCC-Core ผ่าน Conda โดยใช้คำสั่งต่อไปนี้

conda install -c 1adrianb face_alignment

คุณสามารถดาวน์โหลดไลบรารีที่คอมไพล์แล้วจากที่เก็บ Github.

สร้างและจัดการเรขาคณิต 3 มิติด้วย Python

ไลบรารีโอเพนซอร์ส PythonOCC-Core มีการสนับสนุนเต็มรูปแบบสำหรับการสร้างและจัดการโมเดล 3 มิติภายในแอปพลิเคชัน Python นอกจากนี้ ไลบรารียังมีชุดเครื่องมือที่ครอบคลุมสำหรับการสร้างและจัดการรูปทรงเรขาคณิต 3 มิติ รวมถึงจุด, เส้นโค้ง, พื้นผิว, และของแข็ง มันให้ชุดอัลกอริทึมที่หลากหลายสำหรับการสร้างและแก้ไขวัตถุซับซ้อน เช่น การดำเนินการบูลีน, การทำมุมโค้ง (filleting), และการทำมุมตัด (chamfering) ตัวอย่างต่อไปนี้แสดงให้เห็นว่าผู้พัฒนาซอฟต์แวร์สามารถสร้างกล่องขอบเขตเรขาคณิตหลักโดยใช้คำสั่ง python ได้อย่างไร.

วิธีคำนวณและแสดงกล่องขอบเขตภายในแอป 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)

 

การทำงานอัตโนมัติ CAD ด้วย Python API

ไลบรารีโอเพ่นซอร์ส PythonOCC-Core ได้มอบคุณลักษณะที่มีประโยชน์อย่างมากสำหรับการจัดการงานต่าง ๆ ที่เกี่ยวกับแผนภาพ CAD ไลบรารีนี้รองรับรูปแบบไฟล์หลายรูปแบบที่ใช้ทั่วไปใน CAD รวมถึง STEP, IGES, STL, และ BREP ไลบรารีช่วยให้นักพัฒนาสามารถอัตโนมัติงาน CAD ที่ทำซ้ำได้ เช่น การสร้างออกแบบเชิงพารามิเตอร์ การทำการแปลงเชิงเรขาคณิต และการวิเคราะห์เชิงเรขาคณิต มันให้ API ระดับสูงที่ทำให้การดำเนินการเวิร์กโฟลว์ CAD ง่ายขึ้น ทำให้เป็นตัวเลือกที่เหมาะสำหรับการสร้างเครื่องมืออัตโนมัติ CAD

วิธีสร้างรูปทรงและส่งออกเป็นรูปแบบไฟล์ CAD STEP ผ่าน 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")
 
 ไทย