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

Aspose.3D FOSS برای TypeScript

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

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

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، به‌صورت خودکار نصب می‌شود. برای خانواده محصول سازمانی، به Aspose.3D — Enterprise Product Family مراجعه کنید.

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

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

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

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

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

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

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

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

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

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

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

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());
// Export as glTF 2.0 JSON
scene.save("model.gltf");

تبدیل STL به Binary GLB

برای تولید یک GLB باینری فشرده به جای glTF پیش‌فرض JSON، GltfSaveOptions را با binaryMode = true پاس دهید. هر دو open() و save() همزمان هستند — نیازی به await نیست.

import { Scene } from "@aspose/3d";
import { GltfSaveOptions } from "@aspose/3d/formats/gltf";
const scene = new Scene();
scene.open("mesh.stl");
// Save as compact binary 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 خوش‌آمدید.

  

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

 فارسی