کتابخانه جاوا اسکریپت برای ایجاد طرحهای پارامتریک دوبعدی و سهبعدی CAD
کتابخانه CAD جاوا اسکریپت متنباز به برنامهنویسان اجازه میدهد تا طرحهای پارامتری دوبعدی و سهبعدی ایجاد کنند. از طریق API رایگان، رندرکننده خود را برای هندسههای سهبعدی و دوبعدی بسازید.
JSCAD چیست؟
JSCAD یک کتابخانه جاوا اسکریپت متنباز و رایگان است که به توسعهدهندگان نرمافزار اجازه میدهد مدلهای سهبعدی را در محیط مرورگر درون برنامههای جاوا اسکریپت خود ایجاد و دستکاری کنند. این کتابخانه به گونهای طراحی شده است که کار با آن آسان و همچنین بسیار انعطافپذیر باشد و آن را به انتخابی عالی برای طیف وسیعی از برنامهها تبدیل میکند. JSCAD مجموعهای از ابزارها و توابع را برای ایجاد آسان مدلهای پیچیده و همچنین طیف وسیعی از گزینههای سفارشیسازی برای تنظیم ظاهر و عملکرد مدلهای شما فراهم میکند.
JSCAD ابزاری قدرتمند برای ایجاد مدلهای سهبعدی است که میتوانند در طیف وسیعی از برنامهها، از بازی و سرگرمی گرفته تا تحقیقات علمی و طراحی صنعتی، مورد استفاده قرار گیرند. کتابخانه JSCAD از طیف گستردهای از فرمتهای فایل، از جمله STL، OBJ و 3MF پشتیبانی میکند و خروجی گرفتن از مدلهای شما را برای استفاده در سایر برنامههای نرمافزاری آسان میکند. این کتابخانه بسیار متنوع است و به کاربران اجازه میدهد تا اشکال و عناصر مختلف را برای ایجاد ساختارها و مدلهای پیچیده ترکیب کنند و آن را به ابزاری همهکاره برای طراحان، مهندسان و علاقهمندان تبدیل میکند.
JSCAD رابط کاربری بسیار کاربرپسندی دارد و طوری طراحی شده است که بسیار خودجوش باشد. این کتابخانه طیف وسیعی از گزینههای سفارشیسازی را ارائه میدهد و به کاربران این امکان را میدهد که ظاهر و عملکرد مدلهای خود را متناسب با نیازها و ترجیحات خاص خود تنظیم کنند. JSCAD با طیف گستردهای از گزینههای سفارشیسازی، ویژگیهای پیشرفته و پشتیبانی از طیف وسیعی از فرمتهای فایل، ابزاری قدرتمند است که میتواند برای طیف وسیعی از برنامهها مورد استفاده قرار گیرد.
شروع کار با JSCAD
روش پیشنهادی برای نصب، استفاده از npm است. لطفاً برای نصب روان، از دستور زیر استفاده کنید.
JSCAD را از طریق npm نصب کنید
npm install @jscad/modeling
همچنین میتوانید آن را به صورت دستی نصب کنید؛ آخرین فایلهای منتشر شده را مستقیماً از مخزن GitHub دانلود کنید.
ایجاد طرح جدید از طریق API جاوا اسکریپت
کتابخانه متنباز OpenCascade از چندرشتهای بودن برای عملیات خاص پشتیبانی میکند. این کتابخانه پشتیبانی بومی برای چندرشتهای بودن ارائه نمیدهد، زیرا جاوا اسکریپت یک زبان تکرشتهای است. با این حال، توسعهدهندگان میتوانند از Web Worker در برنامه خود برای انجام وظایف خاص در یک رشته جداگانه استفاده کنند که میتواند عملکرد و پاسخگویی را بهبود بخشد. مثال زیر نحوه استفاده از Web Worker را برای انجام یک کار محاسباتی سنگین در یک رشته جداگانه و در عین حال پاسخگو نگه داشتن رابط کاربری اصلی نشان میدهد.
چگونه یک طرح ایجاد کنیم و از طریق API جاوا اسکریپت به فرمت STL خروجی بگیریم؟
const {CAG, CSG} = require('@jscad/csg');
// create a simple shape like a cube:
const cube = CSG.cube({
center: [0, 0, 0],
radius: 10
});
//export your design in a desired format:
const stlSerializer = require('@jscad/stl-serializer');
const stlData = stlSerializer.serialize(result);
console.log(stlData);
تبدیل فرمت طرحها در برنامههای جاوااسکریپت
کتابخانه متنباز JSCAD به توسعهدهندگان نرمافزار این امکان را میدهد که فرمت هر طرحی را به سایر فرمتهای فایل پشتیبانیشده تبدیل کنند. این کتابخانه از فرمتهای فایل محبوب مختلفی مانند STL، AMF، DXF، JSON، X3D، تصاویر SVG و بسیاری دیگر پشتیبانی میکند. برای تبدیل فرمت یک فایل موجود، ابتدا باید یک فایل موجود را بارگذاری کرده و فرمتهای فایل خروجی را انتخاب کنید. طرحها را میتوان به راحتی به عنوان پیوست فایل به ایمیل، پیامها و غیره با دیگران به اشتراک گذاشت.
چگونه طرح را بارگذاری و قالب آن را از طریق API جاوا اسکریپت تبدیل کنیم؟
const {CSG} = require('@jscad/modeling')
const {STL} = require('@jscad/stl-serializer')
// Load the design file in the desired format
const stlString = fs.readFileSync('design.stl', 'utf8')
//Convert the STL format to a JSCAD CSG object:
const design = STL.parse(stlString)
const stlString = STL.serialize(design)
fs.writeFileSync('manipulated_design.stl', stlString)
تبدیل شکلهای CAD از طریق برنامههای جاوا اسکریپت
کتابخانه JSCAD ایجاد اشکال و مدلهای سهبعدی را در برنامههای جاوا اسکریپت خود برای توسعهدهندگان نرمافزار آسان میکند. شکل اصلی را میتوان به تعداد دلخواه تغییر داد. این کتابخانه مجموعهای از توابع و ویژگیها را برای تبدیل شکل ارائه داده است، مانند چرخاندن اشکال با هر زاویهای حول محورهای X، Y و Z، مقیاسبندی اشکال با هر ضریبی، انتقال اشکال به مکان دیگر، تراز کردن یا مرکز دادن اشکال در محورهای X، Y و Z، آینهای کردن (بازتاب) اشکال و غیره.
چگونه میتوان چرخش شکل را حول یک محور از طریق API جاوا اسکریپت انجام داد؟
const { cuboid } = require('@jscad/modeling').primitives
const { rotateX,rotateY,rotateZ } = require('@jscad/modeling').transforms
const myshape = cuboid({size: [5, 20, 5]})
let newshape = rotateX((Math.PI * 2 / 4), myshape)
newshape = rotateY((Math.PI * 2 / 24), newshape)
newshape = rotateZ((Math.PI * 2 / 12), newshape)