ไลบรารี 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 มิติ
เริ่มต้นใช้งาน 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")