Випадки використання
Огляд
Aspose.3D — це бібліотека з відкритим вихідним кодом для роботи з 3D‑форматами файлів у Python, яка дозволяє розробникам програмно створювати, маніпулювати та конвертувати 3D‑сцени та моделі. Вона підтримує сучасні 3D‑робочі процеси, забезпечуючи надійний ввід/вивід файлів та обробку графу сцени.
Бібліотека забезпечує повну підтримку glTF (GL Transmission Format) з підтримкою PBR‑матеріалів, що робить її придатною для веб‑ та реального‑часу конвеєрів рендерингу. Її ієрархічна структура вузлів дозволяє інтуїтивно організовувати 3D‑сцени за допомогою відносин «батько‑дитина» між вузлами, забезпечуючи масштабоване управління сценами для складних моделей.
Як це працює
Aspose.3D for Python забезпечує програмний контроль над 3D‑сценами та моделями через структуровану модель об’єктів, орієнтовану навколо Scene, Node та Entity. Розробники можуть завантажувати існуючі формати, такі як STL (широко використовується для 3D‑друку), або створювати сцени з нуля, використовуючи базові примітиви, наприклад 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Приклад коду
Цей приклад демонструє завантаження 3D‑моделі з 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 Python для інструментів візуалізації та інтерактивних застосунків. Розробники можуть створювати та маніпулювати 3D‑сценами, імпортувати OBJ‑файли з завантаженням матеріалів за допомогою ObjLoadOptions.enable_materials, експортувати OBJ‑файли за допомогою ObjExporter та виконувати низькорівневу векторну математику, використовуючи вбудовані типи, такі як Vector4 і Matrix4.