1. Produtos
  2.   3D
  3.   Python
  4.   Aspose.3D para Python via .NET

Aspose.3D para Python via .NET

 
 

API Python para Criar, Editar e Converter Modelos 3D

Uma Biblioteca Python Útil para Criação, Edição, Processamento e Conversão de Formatos de Arquivo 3D e Cenas 3D para FBX, STL, Discreet3DS, Universal3D, Collada e mais.

O que é Aspose.3D para Python via .NET ?

Aspose.3D for Python via .NET é uma biblioteca abrangente e estável que permite que desenvolvedores de software trabalhem com arquivos e modelos 3D dentro de aplicações Python sem que seja necessário instalar software de modelagem e renderização 3D. A biblioteca ajuda os desenvolvedores a criar aplicações que podem facilmente criar, ler, renderizar, manipular e converter modelos 3D em vários formatos de arquivo, incluindo FBX, 3DS, U3D, DAE, glTF, OBJ, STL, DRC, PDF, AMF, PLY e muitos outros. A biblioteca utiliza uma variedade de técnicas para garantir que as operações 3D sejam realizadas de forma eficiente e rápida, mesmo em modelos 3D grandes e complexos.

Aspose.3D para Python via .NET incluiu vários recursos importantes para trabalhar com animações 3D, como criar e manipular animações 3D, incluindo animações de quadros-chave, animações esqueléticas e animações de morph. Isso facilita a criação de aplicações e jogos 3D envolventes e interativos. A biblioteca também oferece uma ampla gama de ferramentas e recursos para manipular modelos 3D, incluindo a capacidade de importar e exportar modelos 3D, criar e editar modelos 3D e realizar várias operações nos modelos 3D, como escala, rotação e translação.

Aspose.3D para Python via .NET é construído sobre a estrutura .NET e pode ser usado com Python usando IronPython, que é uma implementação .NET da linguagem de programação Python. Com seu suporte a uma ampla variedade de formatos de arquivo 3D e seu rico conjunto de recursos para manipular e animar modelos 3D, é uma excelente escolha para desenvolvedores que precisam trabalhar com conteúdo 3D em suas aplicações.

Previous Next

Começando com Aspose.3D para Python via .NET

A maneira mais fácil de instalar o Aspose.3D para Python via .NET na versão estável é usando pip. Por favor, use o comando a seguir para uma instalação tranquila.

Instale Aspose.3D para Python via .NET via pip

pip install aspose-3d 
Você também pode baixá-lo diretamente da página de produto da Aspose.

Gerar e Carregar Cena 3D via API Python

O Aspose.3D para Python via .NET incluiu suporte completo para criar novas cenas 3D do zero e, em seguida, salvá‑las em qualquer formato de arquivo suportado usando comandos Python. A biblioteca também oferece suporte para ler cenas 3D existentes, fazer alterações em 3D existentes, salvar uma cena 3D em PDF, abrir cenas existentes a partir de um PDF protegido por senha, detectar um formato de arquivo, extrair conteúdo 3D de um arquivo PDF, definir opções de carregamento antes de carregar um arquivo Obj 3D e muito mais.

Como criar um documento de cena 3D via API Python?

import aspose.threed as a3d

# For complete examples and data files, please go to https://github.com/aspose-3d/Aspose.3D-for-.NET

# The path to the documents directory.

# Create an object of the Scene class

scene = a3d.Scene()

# Save 3D scene document

scene.Save("document.fbx", a3d.FileFormat.FBX7500ASCII)

Renderização de Cena 3D via API Python

Aspose.3D for Python via .NET permite que desenvolvedores de software carreguem e renderizem cenas 3D dentro de suas próprias aplicações Python. A biblioteca suporta renderização de alta qualidade de cenas 3D, incluindo antialiasing, profundidade de campo, desfoque de movimento e mais. Também suporta importação e exportação de vários formatos de arquivo 3D, incluindo FBX, OBJ, STL e 3DS. Isso significa que você pode importar facilmente modelos 3D existentes para sua cena ou exportar sua cena 3D para um formato compatível. Ela oferece recursos como sombras projetadas e recebidas em geometrias 3D, renderização baseada em hardware de geometria 3D, renderização de visualização 3D em formato de imagem a partir da câmera, renderização de uma visualização panorâmica da cena 3D, entre outros. O exemplo de código a seguir mostra como desenvolvedores de software podem renderizar uma visualização panorâmica de uma cena 3D e salvar no formato de imagem.

Como renderizar a visualização panorâmica de uma cena 3D & salvá‑la em formato de imagem via Python?

from aspose.pydrawing.imaging import ImageFormat
from aspose.pydrawing import Color
import aspose.threed as a3d

# load the scene

scene = Scene.from_file("vc.glb")

# create a camera for capturing the cube map

cam = a3d.entities.Camera(a3d.entities.ProjectionType.PERSPECTIVE)
cam.near_plane = 0.1
cam.far_plane = 200
cam.rotation_mode = a3d.entities.RotationMode.FIXED_DIRECTION
scene.root_node.create_child_node(cam).transform.set_translation(5, 6, 0);

# create two lights to illuminate the scene

scene.root_node.create_child_node(a3d.entities.Light("", a3d.entities.LightType.POINT).transform.set_translation(-10, 7, -10)
light = a3d.entities.Light()
light.color = Color.cadet_blue
scene.root_node.create_child_node(light).transform.set_translation(49, 0, 49)

# create a renderer

# Create a cube map render target with depth texture, depth is required when rendering a scene.

rt = renderer.render_factory.create_cube_render_texture(a3d.render.RenderParameters(False), 512, 512)

# create a 2D texture render target with no depth texture used for image processing
final = renderer.render_factory.CreateRenderTexture(a3d.render.RenderParameters(False, 32, 0, 0), 1024 * 3 , 1024)

# a viewport is required on the render target

rt.create_viewport(cam, a3d.utilities.RelativeRectangle.from_scale(0, 0, 1, 1))
renderer.render(rt)

# execute the equirectangular projection post-processing with the previous rendered cube map as input

equirectangular = renderer.get_post_processing("equirectangular")

# Specify the cube map rendered from the scene as this post processing's input

equirectangular.input = rt.targets[0]

# Execute the post processing effect and save the result to render target final

renderer.execute(equirectangular, final)

# save the texture into disk

final.targets[0].save("panorama.png", ImageFormat.PNG)

Trabalhar com Animação em Documento 3D

Aspose.3D for Python via .NET permite que desenvolvedores de software criem e trabalhem com animações dentro de documentos 3D usando a biblioteca Python. A biblioteca inclui diversos recursos para trabalhar com animações, como renderizar a cena animada, configurar a câmera alvo em um arquivo 3D, criar animações esqueléticas, trabalhar com alvos de morph e combinar múltiplas animações. O exemplo a seguir demonstra como criar uma animação simples usando comandos Python.

Como criar uma animação simples usando a API Python?

import clr
clr.AddReference("Aspose.3D")
from Aspose.ThreeD import *

# create a new scene
scene = Scene()

# create a new camera
camera = Camera()
camera.Name = "Camera"
scene.RootNode.CreateChildNode(camera)

# create a new mesh
mesh = Mesh()
mesh.Name = "Mesh"
vertices = Vector3[]
vertices.append(Vector3(0, 0, 0))
vertices.append(Vector3(0, 1, 0))
vertices.append(Vector3(1, 1, 0))
vertices.append(Vector3(1, 0, 0))
mesh.Vertices = vertices
mesh.Triangles = [0, 1, 2, 0, 2, 3]

# create a new node for the mesh
meshNode = Node()
meshNode.Name = "MeshNode"
meshNode.Translation = Vector3(0, 0, 0)
meshNode.CreateChildNode(mesh)

# add the mesh node to the scene
scene.RootNode.CreateChildNode(meshNode)

# create a new animation track for the mesh node
track = AnimationTrack(meshNode, AnimationTargetType.Translation)

# create a new keyframe at time 0
keyframe1 = Keyframe()
keyframe1.Time = 0
keyframe1.Value = Vector3(0, 0, 0)
track.Keyframes.Add(keyframe1)

# create a new keyframe at time 1
keyframe2 = Keyframe()
keyframe2.Time = 1
keyframe2.Value = Vector3(0, 0, 5)
track.Keyframes.Add(keyframe2)

# create a new animation clip
clip = AnimationClip("Clip")
clip.Duration = 1
clip.Tracks.Add(track)

# add the animation clip to the scene
scene.Animations.Add(clip)

# save the scene to a file
scene.Save("animation.fbx", FileFormat.FBX7400ASCII)

Trabalhar com Polígonos usando API Python

Aspose.3D for Python via .NET permite que desenvolvedores de software adicionem e gerenciem malhas poligonais em seus modelos 3D dentro de aplicações Python. A biblioteca inclui suporte para vários recursos relacionados ao gerenciamento de malhas poligonais, como carregar uma malha poligonal a partir de um arquivo, criar uma malha poligonal, converter todos os polígonos em triângulos em um modelo 3D, exportar a malha poligonal para um arquivo e muito mais. O exemplo a seguir mostra como os usuários podem criar uma malha poligonal criando um objeto Mesh e adicionando vértices e faces a ele.

Como criar uma malha poligonal usando a API Python?

# Create a mesh
mesh = Mesh()

# Add vertices
mesh.Vertices.Add(Vector3(0, 0, 0))
mesh.Vertices.Add(Vector3(0, 0, 1))
mesh.Vertices.Add(Vector3(0, 1, 0))
mesh.Vertices.Add(Vector3(1, 0, 0))

# Add faces
mesh.Faces.AddPolygonFace(0, 1, 2)
mesh.Faces.AddPolygonFace(0, 1, 3)
mesh.Faces.AddPolygonFace(0, 2, 3)
mesh.Faces.AddPolygonFace(1, 2, 3)

# Export the polygon mesh to a file

# Create a scene and add the mesh to it
scene = Scene()
scene.RootNode.CreateChildNode(mesh)

# Save the scene to a file
scene.Save("mesh.obj", FileFormat.WavefrontOBJ)

 Português