
openscad
أداة نمذجة CAD ثلاثية الأبعاد مفتوحة المصدر للمبرمجين
أنشئ نماذج ثلاثية الأبعاد صلبة باستخدام CSG، البثق والمعلمات القابلة للتكوين عبر واجهة برمجة تطبيقات بايثون مجانية ومفتوحة المصدر.
ما هو OpenSCAD؟
OpenSCAD هو أداة نمذجة CAD ثلاثية الأبعاد مجانية ومفتوحة المصدر صُممت خصيصًا للمبرمجين والمهندسين. على عكس نماذج 3D التفاعلية، يستخدم OpenSCAD نهجًا قائمًا على النصوص لتعريف كائنات ثلاثية الأبعاد صلبة باستخدام الهندسة الصلبة البنائية (CSG) وتقنيات الاستخراج. يتيح ذلك نمذجة دقيقة، قابلة للتكرار، وبارامترية مثالية للأجزاء الميكانيكية والنماذج الأولية والتصاميم التقنية. تدعم الأداة أنظمة Linux و Windows و macOS، وتتكامل جيدًا مع سير عمل مبني على Python للأتمتة والبرمجة النصية.
يقوم OpenSCAD بقراءة ملفات النص التي تصف الكائن ويعرض النموذج ثلاثي الأبعاد وفقًا لذلك، مما يمنح المصممين سيطرة كاملة على عملية النمذجة. يدعم عمليات مثل الاتحاد، التقاطع، الفرق، والتحويلات مثل الترجمة، الدوران، وتغيير الحجم. يمكن استيراد البيانات من ملفات DXF وتصديرها إلى STL و OFF وغيرها من الصيغ. تجعل هندسته المفتوحة ومجتمعه النشط منه خيارًا قويًا للمطورين الذين يبحثون عن قدرات نمذجة ثلاثية الأبعاد برمجية دون الاعتماد على تفاعلات واجهة المستخدم الرسومية.
البدء مع OpenSCAD
يتوفر OpenSCAD كملفات تنفيذية مسبقة البناء لنظام Linux و macOS و Windows من موقعه الرسمي. للمطورين، يتم استضافة الشيفرة المصدرية على GitHub، ويمكنك بناؤها من المصدر باستخدام CMake والسكربتات المرفقة. المستودع الرسمي [GitHub الخاص بـ openscad](https://github.com/openscad/openscad) يتضمن تعليمات بناء مفصلة لجميع الأنظمة الرئيسية. للبدء بسرعة، قم بتحميل أحدث إصدار، ثبّته، وافتح المحرر لكتابة أول سكريبت SCAD الخاص بك.
تثبيت OpenSCAD عبر مديري الحزم
# Ubuntu/Debian
sudo apt install openscad
# macOS (Homebrew)
brew install --cask openscad
# Windows (Chocolatey)
choco install openscad
الهندسة الصلبة البنائية (CSG)
القوة الأساسية لـ OpenSCAD تكمن في دعمه للجيومتري الصلب البنائي (CSG)، والذي يسمح بدمج الأشكال الثلاثية الأبعاد الأساسية باستخدام عمليات بوليانية مثل الاتحاد، التقاطع، والفرق. يضمن هذا النهج نمذجة دقيقة وآمنة غير متعددة الأوجه مناسبة للهندسة والتصنيع. على سبيل المثال، يمكنك إنشاء أسطوانة بها ثقب عن طريق طرح أسطوانة أصغر من أسطوانة أكبر. يتم تعريف عمليات CSG بشكل إعلاني في النص البرمجي، مما يتيح التخصيص السهل والمراجعة. يجعل هذا OpenSCAD مثالياً لتصميم الأجزاء الميكانيكية، والحوامل، والنماذج الأولية الوظيفية حيث الدقة وإمكانية التكرار أمران حاسمان.
كيفية إنشاء أسطوانة بها ثقب باستخدام CSG في OpenSCAD؟
difference() {
cylinder(h = 20, r = 10);
cylinder(h = 25, r = 4, center = true);
}
استخراج الشكل الثنائي الأبعاد
يدعم OpenSCAD استخراج المخططات الثنائية الأبعاد المستوردة من ملفات DXF أو المعرفة مباشرةً في كود SCAD. هذه التقنية أساسية لإنشاء أشكال ثلاثية الأبعاد معقدة من ملفات تعريف ثنائية الأبعاد، مثل التروس، والدعامات، أو الأغطية المخصصة. يمكنك استخراج المسارات خطيًا أو تدويرها حول محور (عن طريق الدوران). عملية الاستخراج تحترم ترتيب الرؤوس وتدعم كلًا من المضلعات الثنائية الأبعاد والمسارات ذات الفتحات. عند دمجها مع التحويلات والوحدات، تمكّن من توليد أجزاء بارامترية مثل الأنابيب، والهياكل، أو العناصر المعمارية، مما يجعل OpenSCAD أداة قوية لتصميم التقنية وتدفقات التصنيع.
كيف تستخرج مضلعًا ثنائي الأبعاد إلى كائن ثلاثي الأبعاد؟
linear_extrude(height = 10, center = true, convexity = 10)
polygon(points = [[0,0], [10,0], [5,10]]);
النمذجة المتغيرة والتهيئة
OpenSCAD يتفوق في النمذجة البارامترية، حيث يتم تعريف الأبعاد والأشكال باستخدام المتغيرات والدوال. يتيح ذلك تخصيص التصاميم بسهولة عن طريق تغيير عدد قليل من المعلمات، مما يجعله مثالياً للنمذجة الأولية المتكررة والتخصيص. على سبيل المثال، يمكنك تعريف وحدة تستقبل معلمات للعرض والارتفاع والسماكة، ثم إعادة استخدامها عبر تصاميم متعددة. يمكن أيضاً أن تُقَدَّم المعلمات ببيانات خارجية، مثل القيم من ملف CSV أو DXF، مما يتيح التكامل مع خطوط بيانات مبنية على بايثون. تدعم هذه القدرة التصميم التوليدي، حيث تتكيف النماذج تلقائيًا مع المتطلبات أو القيود المتغيرة.
كيف تعرف وحدة بارامترية قابلة لإعادة الاستخدام؟
module box(width, height, thickness) {
difference() {
cube([width, height, thickness]);
translate([thickness, thickness, -1])
cube([width - 2*thickness, height - 2*thickness, thickness + 2]);
}
}
box(50, 30, 3);
دمج استيراد وتصدير البيانات
يوفر OpenSCAD دعماً قوياً لاستيراد ملفات DXF ثنائية الأبعاد وتصدير النماذج ثلاثية الأبعاد إلى صيغ STL و OFF وغيرها. يجعل هذا من السهل التكامل مع أدوات CAD/CAM والطابعات ثلاثية الأبعاد وبرمجيات المحاكاة. يمكن لاستيراد DXF أن يتضمن مسارات للاستخراج، بينما يدعم التصدير صيغ STL الثنائية والASCII للطباعة ثلاثية الأبعاد. بالإضافة إلى ذلك، يمكن لـ OpenSCAD قراءة معلمات التصميم من ملفات DXF، مما يتيح سير عمل هجين حيث يتم تعريف الهندسة في أدوات خارجية ولكن يتم تحسينها برمجياً. هذه القابلية للتشغيل المتبادل، إلى جانب طبيعتها القائمة على النص البرمجي، تسمح للمطورين بأتمتة توليد النماذج ومعالجة الدفعات باستخدام Python أو سكريبتات الشل، مما يبسط سير عمليات الإنتاج.
كيف تستورد ملف DXF وتستخرجه إلى ثلاثي الأبعاد؟
linear_extrude(height = 5) {
import(file = "profile.dxf", layer = "outer");
}
