موارد استفاده
نمای کلی
Aspose.3D یک کتابخانهٔ منبع باز فرمت فایل 3D برای پایتون است که به توسعهدهندگان امکان میدهد صحنهها و مدلهای سهبعدی را بهصورت برنامهنویسی ایجاد، دستکاری و تبدیل کنند. این کتابخانه با ارائه ورودی/خروجی فایل قوی و مدیریت گراف صحنه، از جریانهای کاری مدرن سهبعدی پشتیبانی میکند.
این کتابخانه پشتیبانی کامل از glTF (GL Transmission Format) با پشتیبانی از مواد PBR را ارائه میدهد و آن را برای خطوط لوله رندرینگ وب و زمان واقعی مناسب میسازد. ساختار سلسلهمراتبی گرهها امکان سازماندهی بصری صحنههای سهبعدی را با استفاده از روابط والد‑فرزند بین گرهها فراهم میکند و مدیریت مقیاسپذیر صحنه برای مدلهای پیچیده را امکانپذیر میسازد.
نحوه کار
Aspose.3D for Python کنترل برنامهنویسی بر صحنهها و مدلهای سهبعدی را از طریق یک مدل شیء ساختاریافته که بر Scene، Node و Entity متمرکز است، فراهم میکند. توسعهدهندگان میتوانند فرمتهای موجود مانند STL (که بهطور گسترده برای چاپ سهبعدی استفاده میشود) را بارگذاری کنند یا صحنهها را از ابتدا با استفاده از 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مثال کد
این مثال بارگذاری یک مدل سهبعدی از یک فایل 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 توسعهٔ قدرتمند 3D پایتون را برای ابزارهای بصریسازی و برنامههای تعاملی امکانپذیر میکند. توسعهدهندگان میتوانند صحنههای 3D را ایجاد و دستکاری کنند، فایلهای OBJ را با بارگذاری مواد از طریق ObjLoadOptions.enable_materials وارد کنند، فایلهای OBJ را با استفاده از ObjExporter صادر کنند، و محاسبات برداری سطح پایین را با استفاده از انواع داخلی مانند Vector4 و Matrix4 انجام دهند.