1. محصولات
  2.   Aspose.3D
  3.   Aspose.3D FOSS for TypeScript

Aspose.3D FOSS برای TypeScript

بارگذاری، ساخت، تبدیل و خروجی‌گیری صحنه‌های سه‌بعدی از Node.js — کاملاً تایپ‌شده، منبع باز و آماده برای تولید با یک نصب npm.

کتابخانهٔ منبع باز TypeScript برای پردازش فایل‌های سه‌بعدی

Aspose.3D FOSS برای TypeScript یک کتابخانه تحت مجوز MIT است که برای کار با فرمت‌های فایل 3D در برنامه‌های Node.js استفاده می‌شود. آن را با یک فرمان npm install @aspose/3d نصب کنید و بلافاصله شروع به خواندن، ساخت و نوشتن صحنه‌های 3D در TypeScript کنید، بدون نیاز به افزونه‌های بومی برای کامپایل، بدون نیاز به SDKهای خارجی برای نصب، و بدون نیاز به رندرر.

این کتابخانه یک API گراف صحنه کاملاً تایپ‌شده را که حول Scene، Node، Entity، Mesh، Camera، Light و Transform ساخته شده است، ارائه می‌دهد؛ همان مدل مفهومی که ابزارهای حرفه‌ای 3D استفاده می‌کنند. پشتیبانی از فرمت‌ها شامل OBJ (Wavefront، با بارگذاری مواد .mtl)، glTF 2.0 و GLB باینری (مواد PBR)، STL (باینری و ASCII، با دورگرد کامل)، COLLADA (DAE)، 3MF و FBX می‌شود. کلاس‌های گزینهٔ هر فرمت مانند ObjLoadOptions و GltfSaveOptions به شما کنترل دقیق بر جهت‌گیری سیستم مختصات، مقیاس، نرمال‌سازی نرمال‌ها، خروجی باینری در مقابل JSON و بارگذاری مواد می‌دهند.

Aspose.3D FOSS برای Node.js نسخه‌های 18، 20 و 22+ همراه با TypeScript 5.0+ هدف‌گذاری شده و به CommonJS کامپایل می‌شود. این کتابخانه با تنظیمات سختگیرانهٔ کامپایلر TypeScript (noImplicitAny، strictNullChecks) عرضه می‌شود تا IDE شما تکمیل خودکار کامل و ایمنی در زمان کامپایل را فراهم کند. تنها وابستگی زمان اجرا آن، xmldom، به‌صورت خودکار نصب می‌شود.

پشتیبانی از فرمت‌های سه‌بعدی و API گراف صحنهٔ تایپ‌شده

  • OBJ / MTL: بارگذاری فایل‌های Wavefront OBJ همراه با تعاریف مواد.
  • glTF 2.0 / GLB: بارگذاری مواد PBR و خروجی باینری GLB از طریق GltfSaveOptions.
  • STL: خواندن و نوشتن هر دو نوع باینری و ASCII STL با تأیید دورگرد کامل.
  • COLLADA, 3MF, FBX: پشتیبانی اضافی از فرمت‌ها با کلاس‌های گزینهٔ هر فرمت.
  • Full TypeScript types: هر کلاس، متد و گزینه به‌صورت قوی با noImplicitAny و strictNullChecks تایپ شده است.

جایی که Aspose.3D FOSS می‌تواند استفاده شود

  • خطوط لوله دار دارایی‌های Node.js: فایل‌های OBJ را وارد کنید، اعتبارسنجی و بازجهت‌گیری هندسه را انجام دهید و در CI به‌صورت GLB صادر کنید.
  • ابزارهای بازی: مش‌های 3D را به‌صورت دسته‌ای پردازش کنید بدون نیاز به موتور یا رندرر بومی.
  • جریان‌های کاری چاپ سه‌بعدی: فایل‌های STL و 3MF را بخوانید، اعتبارسنجی کنید و دوباره صادر کنید.
  • پشت‌صحنه‌های بدون سرور: نقاط انتهایی تبدیل 3D را در Lambda یا Cloud Functions اجرا کنید.
  • مهاجرت محتوا: به‌صورت مقیاس‌پذیر بین خانواده‌های فرمت‌ها از یک اسکریپت واحد تبدیل کنید.

گزینه‌های هر فرمت و کنترل مختصات

  • جهت‌گیری سیستم مختصات: محورها را معکوس کنید و مقیاس را بر حسب فرمت با کلاس‌های گزینه تنظیم کنید.
  • نرمال‌سازی نرمال‌ها: به‌صورت خودکار نرمال‌های راس‌ها را هنگام بارگذاری یا ذخیره‌سازی نرمال کنید.
  • خروجی باینری در مقابل JSON: با استفاده از GltfSaveOptions، GLB فشرده یا glTF قابل خواندن را انتخاب کنید.
  • کنترل بارگذاری مواد: برای تجزیه‌سریع، بارگذاری MTL/تکستچر را فعال یا غیرفعال کنید.
  • دقت دورگرد: گره‌های ناشناخته گراف صحنه به‌صورت دقیق هنگام ذخیره‌مجدد حفظ می‌شوند.

تجربهٔ توسعه‌دهنده

Aspose.3D FOSS برای نصب‌های TypeScript با یک فرمان npm install @aspose/3d. هیچ افزونه بومی برای کامپایل وجود ندارد. این کتابخانه کاملاً TypeScript/JavaScript است و تنها یک وابستگی به‌صورت خودکار نصب شده (xmldom) دارد.

API با نوع‌گذاری قوی، تکمیل خودکار کامل IDE را برای هر کلاس گراف صحنه و گزینه فرمت فراهم می‌کند. این کتابخانه برای Node.js 18–22+ و TypeScript 5.0+ هدف‌گذاری شده است، به‌صورت یکسان بر روی رانرهای CI لینوکس و ایستگاه‌های کاری توسعه‌دهندگان اجرا می‌شود و تحت مجوز MIT بوده و دارای ردیاب مسائل باز در GitHub است.

بارگذاری یک صحنه OBJ و خروجی به‌صورت glTF

با npm نصب کنید، سپس از متد همزمان scene.open() همراه با ObjLoadOptions برای بارگذاری مش به همراه فایل ماده MTL آن استفاده کنید. فراخوانی scene.save() با پسوند .gltf، JSON استاندارد glTF 2.0 را می‌نویسد؛ فرمت به‌صورت خودکار از پسوند فایل استخراج می‌شود.

npm install @aspose/3d
import { Scene } from "@aspose/3d";
import { ObjLoadOptions } from "@aspose/3d/formats/obj";

const scene = new Scene();
scene.open("model.obj", new ObjLoadOptions());

// خروجی به‌صورت JSON glTF 2.0
scene.save("model.gltf");

تبدیل STL به Binary GLB

برای تولید یک GLB باینری فشرده به‌جای glTF پیش‌فرض JSON، GltfSaveOptions را با binaryMode = true پاس دهید.

import { Scene } from "@aspose/3d";
import { GltfSaveOptions } from "@aspose/3d/formats/gltf";

const scene = new Scene();
scene.open("mesh.stl");

// ذخیره به‌صورت GLB باینری فشرده
const opts = new GltfSaveOptions();
opts.binaryMode = true;
scene.save("mesh.glb", opts);

سوالات متداول

Aspose.3D FOSS برای TypeScript چیست؟

این یک کتابخانهٔ رایگان و تحت مجوز MIT برای TypeScript/Node.js است که برای بارگذاری، دستکاری و ذخیرهٔ صحنه‌های 3D بدون نصب هیچ افزونهٔ بومی یا SDK خارجی استفاده می‌شود.

کدام فرمت‌های 3D پشتیبانی می‌شوند؟

OBJ (با .mtl)، glTF 2.0 و GLB، STL (باینری و ASCII)، COLLADA (DAE)، 3MF و FBX. هر فرمت یک کلاس گزینه‌های تایپ‌شدهٔ اختصاصی دارد.

آیا به افزونه‌های بومی Node.js نیاز دارد؟

خیر. Aspose.3D FOSS برای TypeScript یک JavaScript/TypeScript خالص است. نیازی به مرحلهٔ کامپایل ندارد و تنها یک وابستگی زمان اجرا (xmldom) دارد که به‌صورت خودکار توسط npm نصب می‌شود.

چگونه آن را نصب کنم؟

دستور npm install @aspose/3d را اجرا کنید. هیچ بستهٔ سیستمی یا افزونهٔ بومی اضافی مورد نیاز نیست.

کدام نسخه‌های Node.js و TypeScript پشتیبانی می‌شوند؟

Node.js 18، 20 و 22+. TypeScript 5.0+. این کتابخانه به CommonJS کامپایل می‌شود و با تنظیمات سختگیرانه TypeScript کار می‌کند.

آیا همراه با تعاریف نوع TypeScript ارائه می‌شود؟

بله. تمام کلاس‌ها، متدها، enumها و انواع گزینه‌ها به‌طور کامل با فعال بودن noImplicitAny و strictNullChecks تایپ شده‌اند.

آیا می‌توانم جهت‌گیری سیستم مختصات را کنترل کنم؟

بله. کلاس‌های گزینه‌ای مخصوص هر فرمت مانند ObjLoadOptions و GltfSaveOptions به شما امکان می‌دهند محورها را معکوس کنید، مقیاس را تنظیم کنید و نرمال‌ها را نرمال‌سازی کنید بدون نیاز به کد تجزیه‌وتحلیل سفارشی.

کجا می‌توانم کد منبع را پیدا کنم؟

این کتابخانه تحت مجوز MIT است و در GitHub میزبانی می‌شود. گزارش‌های باگ و درخواست‌های pull request خوش‌آمد می‌گویند.

  

منابع پشتیبانی و آموزش

 فارسی