ไลบรารี Ruby ฟรีสำหรับอ่านและเขียนแบบ AutoCAD DWG
ไลบรารี CAD แบบโอเพนซอร์ส Ruby ช่วยให้นักพัฒนาซอฟต์แวร์สามารถสร้าง แก้ไข แปลง และจัดการไฟล์ 3D ของ AutoCAD ได้ ช่วยให้เขียนโค้ดที่สะอาดขึ้น มีโมดูลาร์มากขึ้น และนำกลับมาใช้ใหม่ได้.
SolidRuby คืออะไร?
SolidRuby เป็นไลบรารี่โอเพนซอร์ส Ruby ที่ทรงพลัง ซึ่งเชื่อมโยงการพัฒนาซอฟต์แวร์เข้ากับการสร้างแบบจำลอง CAD (Computer-Aided Design) ไลบรารี่นี้มีภาษาเฉพาะ (DSL) ใน Ruby สำหรับการสร้างแบบจำลอง 3 มิติ ช่วยให้นักพัฒนาซอฟต์แวร์สามารถสร้างแอปพลิเคชันที่ผสานรวมกับไดอะแกรม CAD ต่างๆ ได้อย่างราบรื่น หากคุณต้องการพัฒนาเครื่องมือสำหรับการออกแบบพารามิเตอร์ กระบวนการพิมพ์ 3 มิติ หรือซอฟต์แวร์ CAD แบบกำหนดเอง SolidRuby จะเป็นรากฐานที่แข็งแกร่งสำหรับโครงการของคุณ นอกจากนี้ คุณยังสามารถเลือกที่จะรวมไลบรารี่นี้เข้ากับโครงการของคุณเพื่อปลดล็อกฟังก์ชันการทำงานขั้นสูง เช่น การสร้างแบบจำลอง 3 มิติแบบไดนามิก การใช้เครื่องมือแก้ไข CAD แบบอินเทอร์แอคทีฟ การตั้งค่าระบบออกแบบอัตโนมัติ หรือการออกแบบขั้นตอนการพิมพ์ 3 มิติแบบกำหนดเอง
SolidRuby พัฒนาบน OpenSCAD ซึ่งเป็นเครื่องมือ CAD ที่มีชื่อเสียงซึ่งใช้สคริปต์ แม้ว่า OpenSCAD จะมีภาษาสคริปต์เป็นของตัวเอง แต่ก็ได้รับประโยชน์จากความเรียบง่ายและความยืดหยุ่นของไวยากรณ์ Ruby สำหรับการสร้างแบบจำลอง CAD ด้วย SolidRuby นักพัฒนาสามารถสร้างโค้ดที่มีโครงสร้าง ใช้งานซ้ำได้ และจัดการง่าย เพื่ออธิบายแบบจำลอง 3 มิติและแปลงไฟล์ เครื่องมือนี้สร้างไฟล์ในรูปแบบ OpenSCAD คุณสามารถแปลงไฟล์เหล่านี้เป็นไฟล์ STL สำหรับการพิมพ์ 3 มิติหรืองานอื่นๆ ได้ ซอฟต์แวร์มีระบบ dependency injection ที่แข็งแกร่ง ซึ่งช่วยให้คุณจัดการ dependency ระหว่างวัตถุต่างๆ ได้อย่างราบรื่น ฟีเจอร์นี้ช่วยลดความยุ่งยากในการทดสอบ การบำรุงรักษา และการปรับขนาดแอปพลิเคชันของคุณ ฟังก์ชันพาราเมตริกของ SolidRuby เหมาะสำหรับงานที่ต้องการการสร้างแบบจำลองแบบไดนามิก ด้วย Ruby DSL ที่มีประสิทธิภาพและคุณสมบัติที่มีประโยชน์ เช่น การสร้างแบบจำลองพาราเมตริก การดำเนินการบูลีน และการผสานรวม OpenSCAD ที่ราบรื่น เครื่องมือนี้จึงมีความหลากหลายและมีประโยชน์สำหรับงานที่หลากหลาย
การเริ่มต้นใช้งาน SolidRuby
วิธีที่แนะนำในการติดตั้ง SolidRuby คือการใช้ GitHub ในการใช้งาน ให้รันคำสั่งต่อไปนี้เพื่อเพิ่ม Aspose.CAD Cloud SDK สำหรับ Ruby ลงในโปรเจกต์ของคุณ
ติดตั้ง SolidRuby ผ่าน GitHub
git clone https://github.com/MC-Squared/SolidRuby.git
คุณสามารถติดตั้งด้วยตนเองได้ ดาวน์โหลดไฟล์รุ่นล่าสุดโดยตรงจากที่เก็บ GitHub
การสร้างแบบจำลอง 3 มิติแบบไดนามิกผ่าน Ruby
ไลบรารี SolidRuby แบบโอเพนซอร์สช่วยให้สามารถสร้างแบบจำลองเชิงพารามิเตอร์ที่สามารถปรับเปลี่ยนแบบไดนามิกตามอินพุตของผู้ใช้หรือตรรกะของแอปพลิเคชัน นักพัฒนา Ruby สามารถสร้างแอปพลิเคชันที่ผู้ใช้ระบุขนาด วัสดุ หรือพารามิเตอร์อื่นๆ และแอปจะสร้างไฟล์ CAD ที่เกี่ยวข้องแบบเรียลไทม์ภายในแอปพลิเคชัน Ruby ตัวอย่างต่อไปนี้แสดงให้เห็นว่าแพลตฟอร์มอีคอมเมิร์ซที่ขายกล่องที่ปรับแต่งได้สามารถใช้ SolidRuby เพื่อสร้างการออกแบบแบบไดนามิกโดยใช้โค้ด Ruby ได้อย่างไร
require 'solidruby'
def generate_box(length, width, height, thickness)
difference do
cube([length, width, height])
translate([thickness, thickness, thickness]) do
cube([length - 2 * thickness, width - 2 * thickness, height - 2 * thickness])
end
end
end
box_model = generate_box(30, 20, 10, 2)
File.write("box_model.scad", box_model.to_s)
ท่อพิมพ์ 3 มิติแบบกำหนดเอง
ไลบรารี SolidRuby เป็นส่วนสำคัญของเวิร์กโฟลว์การพิมพ์ 3 มิติ โดยจะสร้างแบบจำลองตามความต้องการเฉพาะ นักพัฒนาซอฟต์แวร์สามารถรวมไลบรารีนี้เข้ากับท่อพิมพ์เพื่อเตรียม ปรับแต่ง และส่งออกไฟล์ CAD ตัวอย่างต่อไปนี้แสดงให้เห็นว่านักพัฒนาสามารถตรวจสอบได้อย่างไรว่าแบบจำลองได้รับการจัดเรียงหรือปรับขนาดสำหรับเครื่องพิมพ์เฉพาะก่อนส่งออก
require 'solidruby'
# Define the model
model = union do
cube([20, 20, 20])
translate([10, 10, 10]) { sphere(15) }
end
# Apply a small transformation for printer alignment
optimized_model = translate([0, 0, 2]) { model }
File.write("optimized_model.scad", optimized_model.to_s)
การแปลงไดอะแกรม 3 มิติผ่าน Ruby
ไลบรารี SolidRuby แบบโอเพนซอร์สช่วยให้นักพัฒนาซอฟต์แวร์สามารถแปลงไดอะแกรม 3 มิติได้อย่างง่ายดายด้วยโค้ดเพียงไม่กี่บรรทัดภายในแอปพลิเคชัน Ruby ไลบรารีนี้รองรับการแปลงต่างๆ เช่น การแปล การหมุน และการปรับขนาด ช่วยให้สามารถวางตำแหน่งและทิศทางของโมเดลได้อย่างแม่นยำ ตัวอย่างต่อไปนี้แสดงให้เห็นว่านักพัฒนาซอฟต์แวร์สามารถนำการแปลงไปใช้กับไดอะแกรมโดยใช้คำสั่ง Ruby ได้อย่างไร
จะนำการแปลงไปใช้กับไดอะแกรม 3 มิติในแอปพลิเคชัน Ruby ได้อย่างไรtranslate([10, 0, 0]) do
sphere(5)
end
rotate([0, 0, 45]) do
cube([10, 10, 5])
end
translate([10, 0, 0]) do
sphere(5)
end
rotate([0, 0, 45]) do
cube([10, 10, 5])
end