أوتوليسب
ليسب (LISP) هي لغة برمجة كائنية المنحى (OOP)، طورها جون ماكارثي John McCarthy بين عامي 1959 و1960. تستخدم بشكل أساسي في معالجة قوائم البيانات. وتستخدم هذه اللغة في الأبحاث بشكل كبير، وتعتبر اللغة الأساسية في أبحاث الذكاء الاصطناعي.
وقد جاء اسم هذه اللغة من عبارة (LISt Processing) أي معالجة القوائم، لما لهذه اللغة من قدرة على معالجة القائمة. أما القائمة فيمكن تعريفها بأنها بنية بيانات متعددة العناصر.
إن التركيب النحوي في ليسب والذي يعتمد على أسلوب معالجة القوائم، يعتبر أكثر التراكيب ملائمة لتمثيل المتغيرات المركبة، كالنقاط في التمثيل البياني، حيث تعرّف كل نقطة واحدة عادة بإحداثيات (X, Y, Z). وهذا هو الأسلوب المتبع في تعريف النقاط في برنامج أوتوكاد. ومن هذا المنطق وجد مصممو أوتوكاد أن لغة ليسب هي اللغة الأكثر كفاءة للتعامل مع البرنامج، ويمكن اعتمادها لتصبح أداة تخصيص فعّآلة للأوتوكاد.
تعتبر لغة ليسب الأم لغة كبيرة وواسعة، ولا يحتاج مستخدم أوتوكاد إلى كل مفرداتها. ولذلك انبرى مصممو ليسب وأوتوكاد في Autodesk إلى تطوير نموذج مصغر من ليسب مناسب لاحتياجات أوتوكاد، سمي أوتوليسب (AutoLISP). ولكي يكون نموذج أوتوليسب هذا في متناول الجميع فقد تم دمج مترجم ليسب ضمن أوتوكاد ذاته، يعني هذا أن رزمة أوتوكاد تتضمن مترجم أتوليسب، ولا يحتاج المستخدم للبحث عنه كبرنامج منفصل.إن الأسلوب الذي يمكن أن يستخدم في تنفيذ هذه المنهجية لا بد وأن يعتمد معالجة أولية من خلال التحكم في نظم التصميم بالحاسوب باستخدام وسيلة تحكم كفء متخصصة مثل لغة أوتوليسب بهدف استخراج إحداثيات كافة كائنات الرسم الذي يمثل الشكل الهندسي للمنتج عند رسمه في نظام التصميم بالحاسوب مثل أوتوكاد، ثم بناء منظومة معالجة لاحقة يتم تنفيذها باستخدام لغة برمجة مرنة ومتينة مثل فيجيوال بسيك، حيث يتم في مرحلة المعالجة الأولية بناء ملف البيانات اللازمة لعمليات التشغيل، مثل نظم القياس ومعدلات التغذية لعمليات الاستقراب والتشطيب وسرع القطع وأعماق القطع والبيانات الأخرى، ثم يتم في مرحلة المعالجة اللاحقة إنشاء ملف التحكم الرقمي باستخدام هذه البيانات وكذلك باستخدام ملف الرسم للمنتج المُعَدّ في مرحلة المعالجة الأولية عند تصميم المنتج في أوتوكاد.
إن الرسم الهندسي للمنتج هو أساس التصنيع، أي أن عمليات القطع اللازمة للإنتاج يتم تحديدها بموجب مقاسات المنتج التي يمثلها الرسم الهندسي لتصميم ذلك المنتج. وهكذا تتم عملية الإنتاج في المصنع باستخدام آلات القطع الأساسية كالمخرطة والفريزة والمقشطة وما شابه. فالعامل الذي يعمل على آلة الخراطة يقوم بإنتاج جزء عند معاينته للرسم الهندسي له مبتدءاً من خامة مقاربة في المقاسات إلى شكل الجزء المراد إنتاجه.
ويتشابه هذا مع آلات التحكم الرقمي ولكن مقاسات الجزء المراد إنتاجه تحدد من خلال برنامج تشغيل الجزء والذي هو انعكاس لرسم المنتج كذلك. ومن هذا المنطلق نجد أن الرسم الهندسي هو أساس التشغيل ومعرفة أبعاد المنتج. فعند رسم أي منتج بواسطة أوتوكاد يتم حفظ الرسم في ملف خاص. فإذا كانت الأبعاد بمقياس رسم 1 : 1 أي ان الرسم يحاكي مقاسات الجزء المراد تصنيعه، فإنه من المنطقي أن نستنتج أننا إذا تمكنا من التحكم في محيط عمل أوتوكاد فمن الممكن أن نستخرج ملفاً يحوي مقاسات وأبعاد المنتج بالأسلوب الذي يُتَبع في كتابة برامج تشغيل الأجزاء على آلات التحكم الرقمي.
يحتاج تنفيذ مثل هذه الفكرة إلى التحكم بمحيط عمل أوتوكاد، وكما مر بنا فإن لغة أوتوليسب هي الخيار الأمثل الذي يمكن استخدامه لتحقيق ذلك، وبناءً عليه يمكن تلخيص المنهج بتصميم منظومة معالجات يمثل الجزء الأول منها تصميم برنامج أوتوليسب يمكّن مستخدم أوتوكاد من رسم المنتج بضوابط محددة، وفي نفس الوقت يقوم بإنشاء ملف مرافق يحتوي أبعاد الرسم الذي يمثل الجزء. وبعد ذلك يمكن أن ننتقل بالمعالجة إلى بيئة حاسوبية مكملّة خارج برنامج أوتوكاد توفر إمكانية إنشاء وتحرير البيانات التشغيلية الأخرى التي يحتاجها ملف التحكم الرقمي وهي البيانات التقنية مثل السرع ومعدلات التغذية ومعلومات العدد.. الخ من البيانات خارج نطاق وصف الشكل الهندسي للمنتج.
وهكذا بعد أن تتوفر كافة البيانات الهندسية والتشغيلية يمكن معالجة تلك البيانات وبناء ملف التحكم الرقمي المطلوب. ويمكن أن تتم برمجة المعالجات اللاحقة المكملة باستخدام أي لغة برمجة متينة ذات مستوى عالي مثل لغة الفيجوال بيسك.