مكتبة Ruby مجانية لقراءة وكتابة رسومات AutoCAD DWG

مكتبة روبي مفتوحة المصدر للتصميم بمساعدة الحاسوب (CAD)، تُمكّن مطوري البرامج من إنشاء ملفات AutoCAD ثلاثية الأبعاد وتحريرها وتحويلها ومعالجتها. كما تُتيح كتابة أكواد أكثر وضوحًا ومرونة وقابلية لإعادة الاستخدام.

ما هي SolidRuby؟

تُعد SolidRuby مكتبة Ruby فعّالة مفتوحة المصدر، تربط تطوير البرمجيات بنمذجة التصميم بمساعدة الحاسوب (CAD). وتوفر لغة برمجة متخصصة (DSL) في Ruby لإنشاء نماذج ثلاثية الأبعاد، مما يُمكّن مطوري البرمجيات من بناء تطبيقات تتكامل بسلاسة مع مجموعة واسعة من مخططات CAD. إذا كنت تسعى إلى تطوير أدوات للتصميم البارامتري، أو إجراءات الطباعة ثلاثية الأبعاد، أو برامج CAD مُخصصة، فإن SolidRuby تُوفر أساسًا متينًا لمشاريعك. علاوة على ذلك، يُمكنك دمج المكتبة في مشاريعك للاستفادة من وظائف مُحسّنة، مثل إنشاء نماذج ثلاثية الأبعاد ديناميكية، أو استخدام أدوات تحرير CAD تفاعلية، أو إعداد أنظمة تصميم آلية، أو تصميم خطوط إنتاج طباعة ثلاثية الأبعاد مُخصصة.

طُوّرت SolidRuby استنادًا إلى OpenSCAD، وهي أداة CAD معروفة تعتمد على البرامج النصية. على الرغم من أن OpenSCAD يمتلك لغة برمجة نصية خاصة به، إلا أنه يستفيد من بساطة ومرونة صيغة Ruby في نمذجة CAD. باستخدام SolidRuby، يمكن للمطورين صياغة أكواد برمجية منظمة وقابلة لإعادة الاستخدام وسهلة الإدارة لوصف النماذج ثلاثية الأبعاد وإجراء التحويلات. تُنشئ الأداة ملفات بتنسيق OpenSCAD، ويمكنك تحويلها إلى ملفات STL للطباعة ثلاثية الأبعاد أو مهام أخرى. يتضمن البرنامج نظام حقن تبعيات قوي، مما يساعدك على التعامل مع التبعيات بين الكائنات بسلاسة. تُبسط هذه الميزة اختبار تطبيقاتك وصيانتها وتوسيع نطاقها. تُعد الدوال البارامترية في SolidRuby مثالية للمهام التي تتطلب إنشاء نماذج ديناميكية. بفضل لغة Ruby DSL التعبيرية وميزاتها العملية مثل النمذجة البارامترية والعمليات المنطقية والتكامل السلس مع OpenSCAD، تُعد هذه الأداة متعددة الاستخدامات ومفيدة لمهام متنوعة.

Previous Next

البدء باستخدام SolidRuby

الطريقة المُوصى بها لتثبيت SolidRuby هي استخدام GitHub. للعمل معه، شغّل الأمر التالي لإضافة Aspose.CAD Cloud SDK for Ruby إلى مشروعك.

قم بتثبيت SolidRuby عبر GitHub

git clone https://github.com/MC-Squared/SolidRuby.git 

يمكنك أيضًا تثبيته يدويًا؛ قم بتنزيل ملفات الإصدار الأحدث مباشرةً من مستودع GitHub.

إنشاء نموذج ثلاثي الأبعاد ديناميكيًا باستخدام Ruby

تتيح مكتبة SolidRuby مفتوحة المصدر إنشاء نماذج بارامترية قابلة للتكيف ديناميكيًا بناءً على مدخلات المستخدم أو منطق التطبيق. يمكن لمطوري Ruby بناء تطبيقات يحدد فيها المستخدمون الأبعاد والمواد أو غيرها من المعلمات، ويقوم التطبيق بإنشاء ملفات CAD المقابلة في الوقت الفعلي داخل تطبيقات Ruby. يوضح المثال التالي كيف يمكن لمنصة تجارة إلكترونية تبيع صناديق قابلة للتخصيص استخدام SolidRuby لإنشاء تصاميم ديناميكيًا باستخدام شيفرة Ruby.

كيفية إنشاء صندوق مجوف بأبعاد قابلة للتعديل داخل تطبيقات 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)

خطوط أنابيب الطباعة ثلاثية الأبعاد المخصصة

تُعدّ مكتبة SolidRuby جزءًا أساسيًا من سير عمل الطباعة ثلاثية الأبعاد، حيث تُنشئ نماذج بناءً على متطلبات محددة. ويمكن لمطوري البرامج دمجها في خطوط الأنابيب لإعداد ملفات CAD وتحسينها وتصديرها. يوضح المثال التالي كيف يُمكن للمطورين التأكد من محاذاة النماذج أو قياسها لطابعات مُحددة قبل تصديرها.

كيفية تحسين نموذج للطباعة داخل تطبيقات Ruby؟

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)

تحويلات المخططات ثلاثية الأبعاد باستخدام روبي

تُسهّل مكتبة SolidRuby مفتوحة المصدر على مطوري البرامج تحويل المخططات ثلاثية الأبعاد باستخدام بضعة أسطر برمجية فقط داخل تطبيقات روبي. تدعم المكتبة تحويلات مثل الترجمة والتدوير والتحجيم، مما يُمكّن من تحديد موضع واتجاه النماذج بدقة. يوضح المثال التالي كيف يُمكن لمطوري البرامج تطبيق التحويلات برمجيًا على المخططات باستخدام أوامر روبي.

كيفية تطبيق التحويلات على المخططات ثلاثية الأبعاد داخل تطبيقات Ruby؟

translate([10, 0, 0]) do
  sphere(5)
end

rotate([0, 0, 45]) do
  cube([10, 10, 5])
end
 عربي