1. منتجات
  2.   ثلاثي الأبعاد
  3.   Python
  4.   Aspose.3D for Python via .NET

Aspose.3D for Python via .NET

 
 

واجهة برمجة تطبيقات بايثون لإنشاء وتعديل وتحويل نماذج ثلاثية الأبعاد

مكتبة بايثون مفيدة لتنسيقات ملفات ثلاثية الأبعاد وإنشاء وتعديل ومعالجة المشاهد ثلاثية الأبعاد وتحويلها إلى FBX، STL، Discreet3DS، Universal3D، Collada والمزيد.

ما هو Aspose.3D للبايثون عبر .NET؟

Aspose.3D للبايثون عبر .NET هي مكتبة شاملة ومستقرة تمكّن مطوري البرمجيات من العمل مع ملفات ونماذج ثلاثية الأبعاد داخل تطبيقات بايثون دون الحاجة إلى تثبيت برامج النمذجة والتصيير ثلاثية الأبعاد. تساعد المكتبة مطوري البرمجيات على إنشاء تطبيقات يمكنها بسهولة إنشاء، قراءة، تصيير، تعديل، وتحويل النماذج ثلاثية الأبعاد بصيغ ملفات متعددة، بما في ذلك FBX، 3DS، U3D، DAE، glTF، OBJ، STL، DRC، PDF، AMF، PLY، والعديد غيرها. تستخدم المكتبة مجموعة متنوعة من التقنيات لضمان تنفيذ عمليات ثلاثية الأبعاد بكفاءة وسرعة، حتى على النماذج الكبيرة والمعقدة.

Aspose.3D for Python عبر .NET قد أدرجت عدة ميزات مهمة للعمل مع الرسوم المتحركة ثلاثية الأبعاد، مثل إنشاء الرسوم المتحركة ثلاثية الأبعاد ومعالجتها، مثل رسوم الإطارات المفتاحية، الرسوم الهيكلية، ورسوم التحول. هذا يجعل من السهل إنشاء تطبيقات وألعاب ثلاثية الأبعاد جذابة وتفاعلية. كما توفر المكتبة مجموعة واسعة من الأدوات والميزات لمعالجة النماذج ثلاثية الأبعاد. وهذا يشمل القدرة على استيراد وتصدير النماذج ثلاثية الأبعاد، إنشاء وتحرير النماذج ثلاثية الأبعاد، وإجراء عمليات مختلفة على النماذج ثلاثية الأبعاد، مثل التحجيم، الدوران، والترجمة.

Aspose.3D for Python عبر .NET مبنية على إطار عمل .NET ويمكن استخدامها مع بايثون باستخدام IronPython، وهو تنفيذ .NET للغة البرمجة بايثون. بفضل دعمه لمجموعة واسعة من صيغ ملفات ثلاثية الأبعاد ومجموعة الميزات الغنية لمعالجة وتحريك النماذج ثلاثية الأبعاد، فهو خيار ممتاز للمطورين الذين يحتاجون إلى العمل مع محتوى ثلاثي الأبعاد في تطبيقاتهم.

Previous Next

البدء مع Aspose.3D للبايثون عبر .NET

أسهل طريقة لتثبيت Aspose.3D for Python عبر .NET الإصدار المستقر هي باستخدام pip. يرجى استخدام الأمر التالي للحصول على تثبيت سلس.

تثبيت Aspose.3D للبايثون عبر .NET عبر pip

pip install aspose-3d 
يمكنك أيضًا تنزيله مباشرةً من صفحة منتج Aspose.

إنشاء وتحميل مشهد ثلاثي الأبعاد عبر واجهة برمجة تطبيقات بايثون

تتضمن Aspose.3D for Python عبر .NET دعمًا كاملاً لإنشاء مشاهد ثلاثية الأبعاد جديدة من الصفر ثم حفظها بأي تنسيق ملف مدعوم باستخدام أوامر بايثون. كما توفر المكتبة دعمًا لقراءة المشاهد الثلاثية الأبعاد الموجودة، وإجراء تغييرات على المشاهد الحالية، وحفظ مشهد ثلاثي الأبعاد في ملف PDF، وفتح المشاهد الموجودة من PDF محمي بكلمة مرور، واكتشاف تنسيق الملف، واستخراج المحتويات الثلاثية الأبعاد من ملف PDF، وتعيين خيارات التحميل قبل تحميل ملف Obj ثلاثي الأبعاد، والعديد غير ذلك.

كيفية إنشاء مستند مشهد ثلاثي الأبعاد عبر واجهة برمجة تطبيقات بايثون؟

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)

عرض مشهد ثلاثي الأبعاد عبر واجهة برمجة تطبيقات بايثون

تمكن Aspose.3D للـ Python عبر .NET مطوري البرمجيات من تحميل وعرض المشاهد ثلاثية الأبعاد داخل تطبيقاتهم الخاصة بلغة Python. تدعم المكتبة عرضًا عالي الجودة للمشاهد ثلاثية الأبعاد، بما في ذلك مضاد التعرجات (anti-aliasing)، عمق المجال (depth of field)، تشويش الحركة (motion blur)، وأكثر. كما تدعم استيراد وتصدير صيغ ملفات ثلاثية الأبعاد المختلفة، بما في ذلك FBX و OBJ و STL و 3DS. هذا يعني أنه يمكنك بسهولة استيراد نماذج ثلاثية الأبعاد موجودة إلى المشهد الخاص بك أو تصدير المشهد ثلاثي الأبعاد إلى صيغة متوافقة. تدعم المكتبة ميزات مثل إلقاء واستقبال الظلال على الأشكال ثلاثية الأبعاد، العرض المعتمد على العتاد للأشكال ثلاثية الأبعاد، عرض المشهد ثلاثي الأبعاد بصيغة صورة من الكاميرا، عرض بانورامي للمشهد ثلاثي الأبعاد، وغيرها. يوضح مثال الشيفرة التالي كيف يمكن لمطوري البرمجيات عرض مشهد بانورامي لمشهد ثلاثي الأبعاد وحفظه بصيغة صورة.

كيفية عرض بانوراما لمشهد ثلاثي الأبعاد وحفظه بصيغة صورة عبر بايثون؟

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)

العمل مع الرسوم المتحركة في مستند ثلاثي الأبعاد

توفر Aspose.3D للغة Python عبر .NET للمطورين إمكانية إنشاء والعمل مع الرسوم المتحركة داخل مستندات ثلاثية الأبعاد باستخدام مكتبة Python. تتضمن المكتبة العديد من الميزات للعمل مع الرسوم المتحركة، مثل عرض المشهد المتحرك، إعداد الكاميرا المستهدفة في ملف ثلاثي الأبعاد، إنشاء رسوم عظمية، العمل مع أهداف التحول، ودمج عدة رسوم متحركة. يوضح المثال التالي كيفية إنشاء رسم متحرك بسيط باستخدام أوامر 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)

العمل مع المضلعات باستخدام واجهة برمجة تطبيقات بايثون

تمكن Aspose.3D للغة Python عبر .NET المطورين من إضافة وإدارة شبكات المضلعات في نماذجهم ثلاثية الأبعاد داخل تطبيقات Python. تتضمن المكتبة دعمًا لمجموعة متنوعة من الميزات المتعلقة بإدارة شبكات المضلعات، مثل تحميل شبكة مضلع من ملف، إنشاء شبكة مضلع، تحويل جميع المضلعات إلى مثلثات في نموذج ثلاثي الأبعاد، تصدير شبكة المضلعات إلى ملف، والعديد غير ذلك. يوضح المثال التالي كيف يمكن للمستخدمين إنشاء شبكة مضلع عن طريق إنشاء كائن Mesh وإضافة الرؤوس والوجوه إليه.

كيفية إنشاء شبكة مضلعات باستخدام واجهة برمجة تطبيقات بايثون؟

# 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)

 عربي