Aspose.3D FOSS for Python

อ้างอิง API สำหรับ aspose-3d-foss 26.1.0 (Python 3.7 – 3.12, ใบอนุญาต MIT).

คลาสทั้งหมดถูกนำเข้าจาก aspose.threed แพ็กเกจหรือซับแพ็กเกจของมัน. การนำเข้ารากคือ:

import aspose.threed
##or selectively:
from aspose.threed import Scene, Node
from aspose.threed.entities import Mesh, Camera, Light
from aspose.threed.formats import ObjLoadOptions, StlSaveOptions, GltfSaveOptions
from aspose.threed.utilities import Vector3, Matrix4, BoundingBox
from aspose.threed.animation import AnimationClip, KeyFrame

กราฟฉากหลัก

OverviewOverview
Sceneคอนเทนเนอร์ระดับบนสุดสำหรับข้อมูลฉาก 3D ทั้งหมด เก็บโหนดราก, เมตาดาต้าแอสเซ็ต, และคลิปแอนิเมชัน เปิดเผย from_file(), open(), และ save() เป็นจุดเข้าหลักของ I/O.
Nodeโหนดที่มีชื่อในลำดับชั้นของฉาก ถือรายการโหนดลูกและรายการที่แนบ Entity วัตถุเช่น meshes, cameras, และ lights. พกพา local Transform.
Entityคลาสฐานเชิงนามธรรมสำหรับวัตถุทั้งหมดที่สามารถแนบไปยัง a Node. ให้ชื่อและอัตลักษณ์แต่ไม่มีรูปทรงของตนเอง.
SceneObjectคลาสฐานที่ใช้ร่วมกันโดย Node และ Entity. ให้ส่วนติดต่อการรวบรวมคุณสมบัติที่ใช้สำหรับเมตาดาต้ากำหนดโดยผู้ใช้.
A3DObjectคลาสฐานรากสำหรับวัตถุที่จัดการโดย Aspose.3D ทั้งหมด. เปิดเผยคุณสมบัติชื่อและ Properties คอลเลกชัน.
INamedObjectส่วนติดต่อที่รับประกัน a name คุณสมบัติ. ถูกนำไปใช้โดย Node, Entity, และประเภทตัวบรรยายที่เฉพาะเจาะจงต่อรูปแบบหลายประเภท.

เรขาคณิตและเมช

OverviewOverview
Meshเอนทิตีเมชหลายเหลี่ยม (Polygon mesh). เก็บจุดควบคุม (vertex positions as Vector4) รายการหน้าตัดของหลายเหลี่ยม (รายการของดัชนีจุดควบคุม) และชั้นขององค์ประกอบเวอร์เท็กซ์ (นอร์มัล, UV, สีของเวอร์เท็กซ์).
Geometryฐานเชิงนามธรรมสำหรับประเภทเรขาคณิตแบบเมช. กำหนดอาเรย์จุดควบคุมและคอลเลกชันของ VertexElement ชั้น. Mesh สืบทอดจาก Geometry.
VertexElementฐานเชิงนามธรรมสำหรับชั้นข้อมูลที่แนบกับเรขาคณิต (นอร์มัล, UV, สี ฯลฯ). มี mapping_mode, reference_mode, และ data รายการ.
VertexElementNormalเก็บเวกเตอร์นอร์มัลหนึ่งตัวต่อเวอร์เท็กซ์หรือต่อมุมของหลายเหลี่ยม ขึ้นอยู่กับ mapping_mode. ค่าข้อมูลคือ FVector4 อินสแตนซ์ (single-precision) ที่มี w ไม่ได้ใช้.
VertexElementUVเก็บข้อมูลพิกัดเทกซ์เจอร์เป็น FVector4 ต่อเวอร์เท็กซ์หรือต่อมุมของหลายเหลี่ยม (เฉพาะ x และ y ส่วนประกอบที่ใช้สำหรับ UV). เมชอาจมีหลายชั้น UV สำหรับช่องเทกซ์เจอร์ที่แตกต่างกัน.
VertexElementVertexColorจัดเก็บข้อมูลสี RGBA ต่อเวอร์เท็กซ์หรือต่อมุมเป็น FVector4 (r, g, b, a อยู่ในช่วง 0–1).
VertexElementSmoothingGroupจัดเก็บรหัสจำนวนเต็มของกลุ่ม smoothing group ต่อโพลิกอน, ใช้โดย OBJ importer เพื่อทำซ้ำการกำหนดกลุ่ม smoothing group ดั้งเดิมจากไฟล์ต้นฉบับ.
VertexElementTypeEnumeration ที่ระบุบทบาทเชิงความหมายของชั้นองค์ประกอบเวอร์เท็กซ์: NORMAL, UV, VERTEX_COLOR, SMOOTHING_GROUP, และอื่น ๆ. ส่งค่าต่อไปยัง Mesh.get_element().
MappingModeการนับจำนวนที่ควบคุมว่า primitive ของค่าองค์ประกอบเวอร์เท็กซ์จะแมปไปยังใด: CONTROL_POINT, POLYGON_VERTEX, POLYGON, EDGE, หรือ ALL_SAME.
ReferenceModeการนับจำนวนที่ควบคุมวิธีการทำดัชนีของค่า: DIRECT (หนึ่งค่าต่อ primitive การแมป) หรือ INDEX_TO_DIRECT (อาร์เรย์ค่าพร้อมอาร์เรย์ดัชนีแยกต่างหาก).
PolygonModifierคลาสยูทิลิตี้แบบสแตติกที่มีเมธอดสำหรับทำให้เป็นรูปสามเหลี่ยม Mesh วัตถุและทั้งหมด Scene กราฟ.

การแปลงและเชิงพื้นที่

OverviewOverview
Transformการแปลงแบบโลคัลที่แนบกับ Node. ให้การแปล, การหมุน (เป็น Quaternion), และส่วนประกอบสเกล, พร้อมคุณสมบัติสะดวกสำหรับมุมออยเลอร์.
GlobalTransformมุมมองแบบอ่านอย่างเดียวของการแปลงในพื้นที่โลกของโหนดหลังจากผสานการแปลงของบรรพบุรุษทั้งหมด. เข้าถึงได้ผ่าน Node.global_transform.
AssetInfoบล็อกเมตาดาต้าที่แนบกับ Scene. เก็บชื่อแอปพลิเคชันที่ใช้สร้าง, ชื่อหน่วย, ตัวคูณสเกลของหน่วย, คำจำกัดความของแกนระบบพิกัด, และเวลาสร้าง/แก้ไข.

วัสดุและการแรเงา

OverviewOverview
Materialคลาสฐานแบบนามธรรมสำหรับทุกประเภทของวัสดุ. ให้ชื่อและคอลเลกชันของคุณสมบัติสำหรับพารามิเตอร์เชิงตัวเลขและสี.
LambertMaterialโมเดลวัสดุแบบกระจายแสงเท่านั้น เก็บสีแวดล้อม, สีกระจาย, สีเรืองแสง, และความโปร่งใส โหลดจากไฟล์ OBJ ที่ใช้พื้นฐาน Ka/Kd/Ke การประกาศ.
PhongMaterialOverview LambertMaterial พร้อมสีสเปคคูลาร์และความเงา (ดัชนีสเปคคูลาร์) โหลดจากไฟล์ OBJ ที่ใช้ Ks/Ns การประกาศ.
PbrMaterialวัสดุ Physically Based Rendering (PBR) เก็บค่า albedo, ปัจจัย metallic, ปัจจัย roughness, และเทกเจอร์ที่เกี่ยวข้อง ใช้โดย glTF 2.0 และรูปแบบอื่นที่รองรับ PBR.

กล้องและแสง

OverviewOverview
Cameraเอนทิตีกล้อง. เท่านั้น projection_type และ name ทำงานได้ในรุ่นนี้; คุณสมบัติตัวเลขอื่นทั้งหมด (near_plane, far_plane, field_of_view, aspect_ratio) เป็น stub ที่คืนค่าตั้งต้น. แนบกับ Node เพื่อกำหนดการแปลงมุมมอง.
Lightเอนทิตีแหล่งกำเนิดแสง. สืบทอดจาก Camera เป็นคลาส stub; ตัว Light คลาสเองไม่ได้เปิดเผยคุณสมบัติเพิ่มเติมในรุ่นนี้.
LightTypeการนับประเภทแสงที่รองรับ: POINT, DIRECTIONAL, SPOT, AREA, VOLUME.
ProjectionTypeการนับโหมดการฉายภาพของกล้อง: PERSPECTIVE และ ORTHOGRAPHIC.

ยูทิลิตี้คณิตศาสตร์

OverviewOverview
Vector2เวกเตอร์ 2-คอมโพเนนต์แบบ double-precision (x, y) ใช้สำหรับพิกัดเทกเจอร์ UV.
Vector3เวกเตอร์ 3-คอมโพเนนต์แบบ double-precision (x, y, z) ใช้สำหรับตำแหน่ง, ทิศทาง, และสเกล.
Vector4เวกเตอร์ 4 ส่วนประกอบแบบ Double-precision (x, y, z, w). ใช้สำหรับจุดควบคุม (homogeneous positions) และ normal data.
FVector2เวกเตอร์ float 2 ส่วนประกอบแบบ Single-precision. ใช้ภายในสำหรับการจัดเก็บแบบกะทัดรัดใน vertex element data arrays.
FVector3เวกเตอร์ float 3 ส่วนประกอบแบบ Single-precision. ปรากฏใน vertex element data arrays สำหรับ normals และ tangents.
FVector4เวกเตอร์ float แบบความแม่นยำเดี่ยว 4 ส่วนประกอบ. ประเภทการจัดเก็บของ VertexElementFVector.data.
Quaternionควอเทอร์เนียนหน่วยสำหรับแทนการหมุน (w, x, y, z). ใช้โดย Transform.rotation.
Matrix44×4 double-precision transformation matrix. Used for world/local transform computations and can be constructed from TRS decompositions.
BoundingBoxกล่องขอบเขตที่จัดแนวตามแกนที่กำหนดโดย minimum และ maximum Vector3 มุม. ใช้สำหรับการสืบค้นเชิงพื้นที่และตัวช่วยการคัดกรองเฟรสตัม.

Overview

OverviewOverview
AnimationClipคอนเทนเนอร์ที่มีชื่อสำหรับชุดของช่องสัญญาณแอนิเมชันที่ครอบคลุมช่วงการเล่นหนึ่งช่วง. A Scene อาจบรรจุคลิปหลายคลิป (เช่น “Walk”, “Run”).
AnimationNodeผูกกับ AnimationClip ไปยังโหนดหรือคุณสมบัติสีนเฉพาะ. ทำหน้าที่เป็นสะพานระหว่างข้อมูลคลิปและอ็อบเจ็กต์กราฟฉาก.
AnimationChannelสตรีมคุณสมบัติแอนิเมชันเดียวภายในคลิป, มุ่งเป้าไปยังคุณสมบัติที่มีชื่อบนอ็อบเจ็กต์ (เช่น., Transform.translation.x).
KeyFrameตัวอย่างค่าเวลาเดียวภายใน KeyframeSequence. เก็บเวลา (เป็นวินาที) และค่าที่เวลานั้น.
KeyframeSequenceรายการที่เรียงลำดับของ KeyFrame อ็อบเจ็กต์สำหรับช่องสเกลาร์หนึ่งช่อง, พร้อมกับการตั้งค่าการอินเทอร์โพเลชันและเอ็กซ์ทราโพเลชัน.
Interpolationการนับรายการของโหมดการอินเทอร์โพเลชันระหว่างคีย์เฟรม: CONSTANT, LINEAR, BEZIER, B_SPLINE, CARDINAL_SPLINE, TCB_SPLINE.
ExtrapolationTypeการระบุพฤติกรรมที่อยู่นอกคีย์เฟรมแรกและสุดท้าย: CONSTANT, GRADIENT, CYCLE, CYCLE_RELATIVE, OSCILLATE.

การอ่าน/เขียนรูปแบบ

OverviewOverview
Scene.from_file(path)เมธอดแบบสแตติก. เปิดไฟล์ที่ path, ตรวจจับรูปแบบจากส่วนขยาย, และคืนค่าที่เติมเต็ม Scene. จะเกิดข้อยกเว้นเมื่อไม่พบไฟล์หรือรูปแบบไม่รองรับ.
Scene.open(path, options=None)เมธอดของอินสแตนซ์. เปิดไฟล์เข้าสู่อินสแตนซ์ที่มีอยู่ Scene อินสแตนซ์, โดยอาจใช้รูปแบบที่ระบุเฉพาะ LoadOptions คลาสย่อย.
Scene.save(path, options=None)เมธอดของอินสแตนซ์. ทำการซีเรียลไลซ์ฉากเป็น path โดยใช้รูปแบบที่สรุปจากนามสกุลไฟล์, โดยอาจใช้รูปแบบที่ระบุเฉพาะ SaveOptions คลาสย่อย.
FileFormatทะเบียนของรูปแบบไฟล์ที่รองรับ. มีรายการเช่น FileFormat.WAVEFRONT_OBJ, FileFormat.GLTF, FileFormat.FBX7400ASCII, FileFormat.MICROSOFT_3MF. ตัวแปรที่ระบุรูปแบบเฉพาะสามารถเข้าถึงได้ผ่านคลาสตัวเลือก (เช่น,., ColladaSaveOptions, GltfSaveOptions).
IOServiceการนามธรรม I/O ภายในที่ใช้โดยตัวนำเข้าและส่งออกรูปแบบ. โดยทั่วไปจะไม่ถูกใช้โดยโค้ดแอปพลิเคชันโดยตรง.
LoadOptionsคลาสฐานสำหรับอ็อบเจ็กต์ตัวเลือกการโหลดที่ระบุรูปแบบเฉพาะทั้งหมด. ถูกสืบทอดโดย ObjLoadOptions, StlLoadOptions, GltfLoadOptions, FbxLoadOptions, ColladaLoadOptions, ThreeMfLoadOptions.
SaveOptionsคลาสฐานสำหรับอ็อบเจ็กต์ตัวเลือกการบันทึกที่ระบุรูปแบบเฉพาะทั้งหมด. ถูกสืบทอดโดย ObjSaveOptions, StlSaveOptions, GltfSaveOptions, FbxSaveOptions, ColladaSaveOptions, ThreeMfSaveOptions.

รูปแบบ OBJ

OverviewOverview
ObjImporterคลาสนำเข้าภายในที่ทำการพาร์สไฟล์ Wavefront OBJ และ MTL. ถูกเรียกโดยอัตโนมัติโดย Scene.from_file() สำหรับ .obj นามสกุลไฟล์.
ObjLoadOptionsตัวเลือกการโหลดสำหรับไฟล์ Wavefront OBJ. คุณสมบัติหลัก: flip_coordinate_system, scale, enable_materials, normalize_normal.
ObjSaveOptionsบันทึกตัวเลือกสำหรับการส่งออก Wavefront OBJ. ควบคุม normals, UVs, material references, และ point‑cloud mode.
ObjFormatคำอธิบายรูปแบบสำหรับ Wavefront OBJ. เข้าถึงได้เป็น FileFormat.WAVEFRONT_OBJ().

รูปแบบ STL

OverviewOverview
StlImporterตัวนำเข้าแบบภายในที่อ่านไฟล์ STL ทั้งแบบไบนารีและ ASCII. ถูกเลือกโดยอัตโนมัติตามส่วนขยาย.
StlExporterตัวส่งออกแบบภายในที่เขียนไฟล์ STL.
StlLoadOptionsตัวเลือกการโหลดสำหรับไฟล์ STL. รองรับ flip_coordinate_system และ scale.
StlSaveOptionsตัวเลือกการบันทึกสำหรับผลลัพธ์ STL. ควบคุม binary_mode, scale, และ flip_coordinate_system.
StlFormatตัวอธิบายรูปแบบสำหรับ STL.

รูปแบบ glTF

OverviewOverview
GltfLoadOptionsตัวเลือกการโหลดสำหรับไฟล์ glTF 2.0 และ GLB. คุณสมบัติหลัก: flip_tex_coord_v.
GltfSaveOptionsตัวเลือกการบันทึกสำหรับผลลัพธ์ glTF 2.0. ใช้ binary_mode=True สำหรับแพคเกจ GLB ที่เป็นอิสระ.
GltfFormatตัวอธิบายรูปแบบสำหรับ glTF 2.0 / GLB. เข้าถึงได้เป็น FileFormat.GLTF2().

รูปแบบ FBX

OverviewOverview
FbxLoadOptionsตัวเลือกการโหลดสำหรับไฟล์ FBX. คุณสมบัติหลัก: keep_builtin_global_settings, compatible_mode.
FbxSaveOptionsตัวเลือกการบันทึกสำหรับผลลัพธ์ FBX. ควบคุมการบีบอัด, การฝังเทกซ์เจอร์, และคุณสมบัติของวัสดุ.
FbxFormatตัวอธิบายรูปแบบสำหรับ FBX. เข้าถึงได้เป็น FileFormat.FBX7400ASCII().

รูปแบบ COLLADA

OverviewOverview
ColladaLoadOptionsตัวเลือกการโหลดสำหรับ COLLADA (.dae) ไฟล์. ควบคุมการแมปแกนใหม่และสเกลหน่วยเมื่อทำการนำเข้า.
ColladaSaveOptionsตัวเลือกการบันทึกสำหรับผลลัพธ์ COLLADA. ควบคุม indented, flip_coordinate_system, และการส่งออกวัสดุ.
ColladaFormatตัวบรรยายรูปแบบสำหรับ COLLADA. แก้ไขโดยอัตโนมัติจาก .dae ส่วนขยายไฟล์.

3MF Format

OverviewOverview
ThreeMfLoadOptionsตัวเลือกการโหลดสำหรับ 3MF (.3mf) ไฟล์.
ThreeMfSaveOptionsบันทึกตัวเลือกสำหรับการส่งออก 3MF. 3MF เป็นรูปแบบที่แนะนำสำหรับกระบวนการพิมพ์ 3 มิติ.
ThreeMfFormatตัวบรรยายรูปแบบสำหรับ 3MF. เข้าถึงได้เป็น FileFormat.MICROSOFT_3MF_FORMAT().

Overview

OverviewOverview
TextureMappingระบุวิธีที่พื้นผิวถูกแมปไปยังเรขาคณิต: DIFFUSE, SPECULAR, EMISSIVE, NORMAL, AMBIENT, เป็นต้น.
BooleanOperationประเภทการดำเนินการบูลีน CSG: UNION, DIFFERENCE, INTERSECTION.

ระบบคุณสมบัติ

OverviewOverview
Propertyคุณสมบัติที่มีชื่อและประเภทเดียวบน A3DObject. เก็บชื่อคุณสมบัติ, ตัวบรรยายประเภท, และค่าปัจจุบัน.
PropertyCollectionคอลเลกชันที่สามารถวนซ้ำได้ของ Property อ็อบเจกต์ที่แนบกับ A3DObject. รองรับการค้นหาตามชื่อและการวนซ้ำผ่านคุณสมบัติที่กำหนดทั้งหมด.
CustomObjectอ็อบเจกต์ที่มีน้ำหนักเบา A3DObject ซับคลาสที่มีเพียงชื่อและ PropertyCollection. ใช้สำหรับเก็บเมทาดาต้าที่ผู้ใช้กำหนดบนอ็อบเจกต์ในฉาก.

ภาพและการเรนเดอร์

OverviewOverview
ImageRenderOptionsตัวเลือกสำหรับการเรสเตอร์ไลเซชันด้วยซอฟต์แวร์เมื่อเรนเดอร์ฉากไปยังบัฟเฟอร์ภาพ. เก็บสีพื้นหลัง, ขนาดภาพ, และการอ้างอิงกล้อง. ฟีเจอร์นี้พร้อมใช้งานในการกำหนดค่าที่รองรับ.

ดูเพิ่มเติม

 ภาษาไทย