ไลบรารี JavaScript เพื่อสร้างการออกแบบ CAD 2D และ 3D แบบพารามิเตอร์
ไลบรารี JavaScript CAD แบบโอเพนซอร์ส ช่วยให้โปรแกรมเมอร์สามารถสร้างแบบร่าง 2 มิติ และ 3 มิติแบบพาราเมตริก สร้างตัวเรนเดอร์ของคุณเองสำหรับรูปทรงเรขาคณิต 3 มิติ และ 2 มิติ ผ่าน API ฟรี
JSCAD คืออะไร
JSCAD คือไลบรารี JavaScript แบบโอเพนซอร์สฟรีที่ช่วยให้นักพัฒนาซอฟต์แวร์สามารถสร้างและจัดการแบบจำลอง 3 มิติในสภาพแวดล้อมเบราว์เซอร์ภายในแอปพลิเคชัน JavaScript ของตนเองได้ ไลบรารีนี้ได้รับการออกแบบมาให้ใช้งานง่ายและมีความยืดหยุ่นสูง จึงเป็นตัวเลือกที่ยอดเยี่ยมสำหรับการใช้งานที่หลากหลาย JSCAD มีชุดเครื่องมือและฟังก์ชันสำหรับการสร้างแบบจำลองที่ซับซ้อนได้อย่างง่ายดาย รวมถึงตัวเลือกการปรับแต่งมากมายสำหรับการปรับแต่งรูปลักษณ์และฟังก์ชันการทำงานของแบบจำลองของคุณ
JSCAD เป็นเครื่องมืออันทรงพลังสำหรับการสร้างแบบจำลอง 3 มิติ ที่สามารถนำไปใช้ในแอปพลิเคชันที่หลากหลาย ตั้งแต่เกมและความบันเทิง ไปจนถึงงานวิจัยทางวิทยาศาสตร์และการออกแบบอุตสาหกรรม ไลบรารี JSCAD รองรับไฟล์ได้หลากหลายรูปแบบ รวมถึง STL, OBJ และ 3MF ทำให้ง่ายต่อการส่งออกแบบจำลองของคุณไปใช้งานในแอปพลิเคชันซอฟต์แวร์อื่นๆ ไลบรารีนี้มีความหลากหลายและช่วยให้ผู้ใช้สามารถผสมผสานรูปทรงและองค์ประกอบต่างๆ เพื่อสร้างโครงสร้างและแบบจำลองที่ซับซ้อน ทำให้เป็นเครื่องมืออเนกประสงค์สำหรับนักออกแบบ วิศวกร และผู้ที่ชื่นชอบงานอดิเรก
JSCAD มีอินเทอร์เฟซที่ใช้งานง่ายและได้รับการออกแบบมาให้ใช้งานได้ทันที ไลบรารีนี้มีตัวเลือกการปรับแต่งที่หลากหลาย ช่วยให้ผู้ใช้สามารถปรับแต่งรูปลักษณ์และฟังก์ชันการทำงานของแบบจำลองให้เหมาะกับความต้องการและความชอบเฉพาะของตน ด้วยตัวเลือกการปรับแต่งที่หลากหลาย คุณสมบัติขั้นสูง และการรองรับไฟล์หลากหลายรูปแบบ JSCAD จึงเป็นเครื่องมืออันทรงพลังที่สามารถใช้ได้กับแอปพลิเคชันที่หลากหลาย
การเริ่มต้นใช้งาน JSCAD
วิธีการติดตั้งที่แนะนำคือการใช้ npm โปรดใช้คำสั่งต่อไปนี้เพื่อการติดตั้งที่ราบรื่น
ติดตั้ง JSCAD ผ่าน npm
npm install @jscad/modeling
คุณสามารถติดตั้งด้วยตนเองได้ ดาวน์โหลดไฟล์รุ่นล่าสุดโดยตรงจากที่เก็บ GitHub
สร้างการออกแบบใหม่ผ่าน JavaScript API
ไลบรารี OpenCascade แบบโอเพนซอร์สรองรับการทำงานแบบมัลติเธรดสำหรับบางการทำงาน ไลบรารีนี้ไม่รองรับการทำงานแบบมัลติเธรด เนื่องจาก JavaScript เป็นภาษาแบบเธรดเดียว อย่างไรก็ตาม นักพัฒนาสามารถใช้ Web Worker ในแอปพลิเคชันของตนเพื่อทำงานบางอย่างในเธรดแยกต่างหาก ซึ่งจะช่วยปรับปรุงประสิทธิภาพและการตอบสนอง ตัวอย่างต่อไปนี้จะสาธิตวิธีการใช้ Web Worker เพื่อทำงานคำนวณหนักในเธรดแยกต่างหาก ในขณะที่ยังคงรักษา UI หลักให้ตอบสนองได้
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);
แปลงรูปแบบการออกแบบในแอปพลิเคชัน JavaScript
ไลบรารี JSCAD แบบโอเพนซอร์สช่วยให้นักพัฒนาซอฟต์แวร์สามารถแปลงรูปแบบของการออกแบบใดๆ เป็นรูปแบบไฟล์อื่นๆ ที่รองรับได้ ไลบรารีนี้รองรับรูปแบบไฟล์ยอดนิยมต่างๆ เช่น STL, AMF, DXF, JSON, X3D, รูปภาพ SVG และอื่นๆ อีกมากมาย ในการแปลงรูปแบบของไฟล์ที่มีอยู่ ขั้นแรกคุณต้องโหลดไฟล์ที่มีอยู่และเลือกรูปแบบไฟล์เอาต์พุต คุณสามารถแชร์รูปแบบการออกแบบกับผู้อื่นได้อย่างง่ายดาย เช่น ไฟล์แนบไปกับอีเมล ข้อความ และอื่นๆ
จะโหลดการออกแบบและแปลงรูปแบบผ่าน JavaScript 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 ผ่านแอปพลิเคชัน JavaScript
ไลบรารี JSCAD ช่วยให้นักพัฒนาซอฟต์แวร์สามารถสร้างรูปร่างและแบบจำลอง 3 มิติภายในแอปพลิเคชัน JavaScript ของตนเองได้อย่างง่ายดาย รูปร่างเดิมสามารถแปลงได้หลายครั้ง ไลบรารีนี้มีชุดฟังก์ชันและฟีเจอร์สำหรับการแปลงรูปร่าง เช่น การหมุนรูปร่างตามมุมที่กำหนดรอบแกน X, Y และ Z การปรับขนาดรูปร่างตามปัจจัยใดๆ การย้ายรูปร่างไปยังตำแหน่งอื่น การจัดตำแหน่งหรือจัดกึ่งกลางรูปร่างบนแกน X, Y และ Z การสะท้อนรูปร่าง และอื่นๆ
วิธีการหมุนรูปร่างเกี่ยวกับแกนเดี่ยวผ่าน JavaScript 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)
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)