กรณีการใช้งาน
ภาพรวม
Aspose.3D เป็นไลบรารีรูปแบบไฟล์ 3D แบบโอเพ่นซอร์สสำหรับ Python ที่ช่วยให้นักพัฒนาสามารถสร้าง, จัดการ, และแปลงฉากและโมเดล 3D ได้โดยโปรแกรม มันรองรับกระบวนการทำงาน 3D สมัยใหม่โดยให้การทำ I/O ของไฟล์และการจัดการกราฟฉากที่แข็งแรง.
ไลบรารีนี้ให้การสนับสนุนเต็มรูปแบบสำหรับ glTF (GL Transmission Format) พร้อมการสนับสนุนวัสดุ PBR ทำให้เหมาะสำหรับการเรนเดอร์บนเว็บและแบบเรียลไทม์ โครงสร้างโหนดแบบลำดับชั้นของมันช่วยให้การจัดระเบียบฉาก 3 มิติอย่างเป็นธรรมชาติด้วยความสัมพันธ์พาเรนท์‑ชิลด์ระหว่างโหนด ทำให้การจัดการฉากที่สามารถขยายได้สำหรับโมเดลที่ซับซ้อน
วิธีการทำงาน
Aspose.3D for Python ให้การควบคุมเชิงโปรแกรมต่อฉากและโมเดล 3 มิติผ่านโมเดลวัตถุที่มีโครงสร้างโดยศูนย์กลางที่ Scene, Node, และ Entity. นักพัฒนาสามารถโหลดรูปแบบที่มีอยู่เช่น STL (ที่ใช้กันอย่างแพร่หลายสำหรับการพิมพ์ 3 มิติ) หรือสร้างฉากตั้งแต่ต้นโดยใช้ primitive หลักเช่น Mesh. ไลบรารีสนับสนุนการจัดการเมชและเอนทิตี, ทำให้สามารถตรวจสอบและแก้ไขข้อมูลเวอร์เท็กซ์, โทโพโลยีของโพลิกอน, และความสัมพันธ์เชิงพื้นที่ภายในลำดับชั้นของฉากได้.
from aspose.threed import Scene
from aspose.threed.entities import Mesh
# Create a Mesh instance
mesh = Mesh()
# Access mesh data (control_points and edges are properties, not method calls)
vertices = mesh.control_points
edges = mesh.edgesตัวอย่างโค้ด
ตัวอย่างนี้แสดงการโหลดโมเดล 3 มิติจากไฟล์ OBJ พร้อมตัวเลือกการโหลด จากนั้นทำการเดินทางผ่านกราฟฉากเพื่อตรวจสอบเรขาคณิตของเมช Scene.from_file() รับเฉพาะเส้นทางไฟล์; ใช้ scene.open() เพื่อส่งตัวเลือกการโหลด.
from aspose.threed import Scene
from aspose.threed.entities import Mesh
from aspose.threed.formats import ObjLoadOptions
# Import an OBJ file with load options
# Note: Scene.from_file() takes only a file path argument.
# To pass options, use scene.open() instead.
options = ObjLoadOptions()
options.enable_materials = True
options.flip_coordinate_system = False
scene = Scene()
scene.open("model.obj", options)
# Access imported data
for node in scene.root_node.child_nodes:
if node.entity and isinstance(node.entity, Mesh):
mesh = node.entity
print(f"Mesh: {node.name}")
print(f" Vertices: {len(mesh.control_points)}")
print(f" Polygons: {mesh.polygon_count}")ดูเพิ่มเติม
Aspose.3D ช่วยให้การพัฒนา Python 3 มิติที่แข็งแกร่งสำหรับเครื่องมือการแสดงผลและแอปพลิเคชันแบบโต้ตอบ นักพัฒนาสามารถสร้างและจัดการฉาก 3 มิติ, นำเข้าไฟล์ OBJ พร้อมการโหลดวัสดุผ่าน ObjLoadOptions.enable_materials, ส่งออกไฟล์ OBJ โดยใช้ ObjExporter, และทำคณิตศาสตร์เวกเตอร์ระดับต่ำโดยใช้ประเภทที่มีในตัวเช่น Vector4 และ Matrix4.