الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف تصنع ماكينة cnc بالتفصيل مع المخططات

مثبّترائج
بدأه romariorambo في 4 مايو 2006 · 535 رد · 364,626 مشاهدة · في منتدى تصميم مكائن ال CNC و ال ROBOTICS و برامج ال CAD و ال CAM
مشاركة: واتساب X فيسبوك تيليجرام
#76

:) السلام عليكم ورحمه الله وبركاته

اخوانى الأعزاء اشكركم على الترحيب بى معكم

واشكر الأخ Amino على المجهود الملحوظ واتمنى من الله ان يتممه بالنجاح

اخى العزيز romariorambo انا عند عدم ذكرى للتفاصيل فذلك يرجع لملاحظتى بان اعضاء الفريق كلهم على دراية جيدة بالألكترونيات

وكيفية التعامل مع الدوائر

وعموماً فإن الدائرة وكما لاحظت لها طرفين للتحكم الأول وهو الPulse وهذا الطرف الذى يتحكم فى سرعة الموتور فكلما قل زمن الPulse كلما زادت السرعة

وهذا فى البرمجة يتم التحكم فيه عن طريق Timer وبتغيير قيمة الInterval يتم التحكم فى زمن الPulse

اما الطرف الأخر وهو ال Direction فيمكن وبمنتهى البساطه التحكم فيه عن طريق وضع one or zero على هذا الطرف فبوضع Zero سوف يدور الموتور

فى إتجاه وعند وضع One يدور فى الأتجاه الأخر

اما عن فكرة الأخ الكريم ikossan والتى تختص بفصل التيار عن المواتير عند عدم تشغيلهم فلقد اقتنعت بوجهه نظره واقترح ان تكون الثلاث اطراف الخاصه بفصل الثلاث مواتير متصله على الControl

اما اطراف المواتير تكون متصله على الData واعتقد ان هذا يكون اسهل فى البرمجة

ارجو ان اكون افدتكم بشئ والسلام عليكم ورحمه الله وبركاته

#77

السلام عليكم ورحمة الله و بركاته

اشكر الاخ الفاضل ( khaled saeed ) على تقديرة للمجهود و جزاه الله خيرا ....... و اليكم باقى الرسومات

قطاع ( AL - 475 )

30_06_06_07_42_12_1151678532AL_475.JPG

ملحوظة : الرسمة فى المرفقات اكبر و تظهر بها التفاصيل

post-43072-1151678836_thumb.jpg

تم تعديل هذه المشاركة بواسطة Amino في 30 يونيو 2006 في 17:57

بسم الله الرحمن الرحيم (( و اعـــدوا لــهـــــم مـا اســــــتـطـعـتـم مـن قــــوة )) صدق الله العظيم

cell phone : 002 010 58 66 707

.

.

#78

السلام عليكم ورحمة الله

الاخوة الكرام ، لقد سعدت بمشاركاتكم التي تزداد تميزا يوما بعد يوم ، واشكر الاخ amino على تصاميمه الرائعة ، واشكر كل الاخوة اللذين ساهموا من قبل واللذين لم يزالوا مساهمين معنا في هذا الموضوع ، وأقول حياكم الله أيها الاخوة الكرام فقد استطعنا نقل هذا الموضوع من مجرد فكرة في بداية الأمر الى مشروع تم تحقيق مرحلتين من مراحله الثلاث والحمد لله ، وهما مرحلة زيادة المخارج التي يمكن التحكم بها من خلال منفذ الطابعة ، والمرحلة الثانية وهي مرحلة التصميم الميكانيكي للمكينة والذي يتولاه الأخ amino بتميز ملحوظ ، وبقي علينا المرحلة الثالثة وهي مرحلة برمجة الماكينة لتقوم بتنفيذ ما هو مطلوب منها ، واعتقد ان هذه المرحلة هي الأصعب في المراحل الثلاث وذلك من وجهة نظري ، ونظراً لأن اي برنامج يراد تصميمه يمر بمراحل ، أهمها كما يقال هي تحديد ماذا يجب على البرنامج أن يعمل وكيف يقوم بهذا العمل آثرت في مشاركتي هذه أن أتطرق لهذا الموضوع عسى أن نقوم بانجازه كما أنجزنا ما سبق من مراحل ، ولكي لا أطيل سأبدأ بما يلي :

1 - اتفقنا من البداية على ان اللغة التي سنعتمدها لغايات البرمجة هي لغة الفيجوال بيسك مع أنها من اللغات الضعيفة في هذا المجال الا أنها الأسهل في التعلم والتعامل لدى الكثير من الأخوة لذا آثرنا استخدامها .

2 - يجب على البرنامج كمرحلة أولى أن يكون قادراً على رسم أشكال ثلاثية الأبعاد وهي المكعبات ، الكرات ، الهرم ، المخروط ، الأسطوانة ، المنحنيات التي يمكن أن تتخذ شكل ثلاثي الأبعاد .

3 - يجب على البرنامج أن يقوم بتحويل هذه الأشكال الى معادلات بثلاث متغيرات x,y,z يمكن التعامل معها .

4 - ان تعامل البرنامج مع معادلات من وجهة نظري أفضل من تعامله مع احداثيات تخزن في داتا بيس لأنه لو أردنا تحويل هذه الأشكال الى احداثيات واردنا تخزينها في داتا فان حجم الداتا سيكون هائلاً مما يبطئ من عمل البرنامج .

5 - ان نراعي في تصميم البرنامج اننا نتعامل مع محركات خطوية وان التحكم بكل محرك سيكون من خلال مخرجين من منفذ الطابعة وليس من خلال أربعة .

هذه لمحة بسيطة وليس تفصيل كبير للموضوع ، ولكن أحببت أن نتطرق اليه الآن التبكير في بحث هذا الموضوع خير من تأخيره ، منتظراً رأيكم ومشاركاتكم

والسلام عليكم ورحمة الله وبركاته

قال تعالى (( إن اللذين يخشون ربهم بالغيب لهم مغفرة وأجر كبير ))

الملك

#79

السلام عليكم ورحمة الله وبركاته

حقيقتاً لي الشرف ان أكون فرداً في عائلة المنتدى أولاً

ثانيا : أن أكون بصحبة احلى شباب يمتازون بالصبر قدر الذكاء

على فكرة انا مبرمج من الاردن ( مسلم عربي ) الحمدلله الذي منُ علي بهذاتان الصفتان

وانا متخصص بالفيجوال بيسك . وقد عملت عليها الكثير من البرامج , ومنها ثلاثة برامج بفضل الله انتشرت في الاردن منها( ccp) وهو برنامج يتحكم بالاجهزة عن

طريق الشبكة ( طبعاً أجهزة الحاسوب ) وهذا البرنامج مختص بمقاهي الانترنت . الفكرة ليست جديدة ولكنة يتميز باللغة العربية الام

والخفة على الشبكة وقد فعل على ا جهزة p3 . ان شاء الله ان اكون فاعلا بالمشاركات مثلكم , مع انني كنت متابعا لمشاركاتكم

من البداية الا انني لم ادخل لضعفي من ناحية الالكترونيات . مع ذلك فقد وفقني الله بالبرمجة على منفذ الطابعة بكل

سهولة وانا اقدم نفسي تحت اوامركم لنجعل من المشروع اول كلمة اسلامية الى الغرب لسيما انها على الانترنت وليس في مختبر في ناسا .

باننا قادرين نحن المسلمين العرب لن نفعل شيئاً .

وفقنا الله لما يحب ويرضاه والسلام عليكم ورحمة الله وبركاته

#80

:) السلام عليكم ورحمه الله وبركاته

مرحباً بألأخ abo nasra معنا

ونتمنى ان تفيدنا بخبرتك وان نتعاون جميعاً فى سبيل نجاح هذا المشروع

والذى من اهم مميزاته بالنسبه لى هو العمل بروح الفريق وعدم البخل بأى معلومة تفيد ألأخرين

وجزاك الله خيراً على الإنضمام معنا وأتمنى ان تجد ما ترجوه

#81

مـــــــــــــــــــــــــــــــــبروك

بتوفيق من الله لقد وضعت يدي على أول السلم , المرفقات تحتوي على برنامج بالفيجوال بيسك يقرأ البكسل تحت الفأرة

البرنامج يقرأ أي إمتداد ( صورة ) فقط عليك أن تحمل الصورة على البرنامج الذي صمم أولياً

على فكرة البرنامج في أوله ويتم التعديل عليه حاليا

كيف يقرأ البرنامج؟؟؟؟

الفأرة تمشي درجة تلو الاخرى على خلفية بيضاء فاذا مرت على لون أسود يتم الكتابة على ملف خارجي النقطة التي مرت عليه

وإذا مرت على لون احمر يتم الكتابة على ملف أخر النقطة التي مرت عليه

ونستطيع فتح ملفات قدر ما تشائون

الالوان المختلفة تمثل مناطق الحفر المختلفة , فيمكن استخدام اللون الاسود لمناطق الحفر الخفيف(السطحي)

واللون الاحمر للمناطق العميقة وهكذا

المهم لقد وضنا قدمنا على أول درجة من السلم . أطلب من الاخ الذي طلب الازواج المرتبة أن يوجهني الى مايريد اذا كان هذا مايريده

البرنامج سيولد ملف txt في ال \:c اسمه cnc.txt يحتوي على الازواج المرتبة التي طلبها

وقد اكتفيت ببرمجة لون واحد وهو الاسود لاعرف ان كان هذا هو المطلوب ام لا

فاذا كان جهزت البرنامج حسب توصياتكم واوامركم لننجح في تقديم اول مشروع كبير تم صنعه عن طريق الانترت بدون مختبرات ولكن تكفي الخبرات والعقول العربية الشابة الواعدة

اني ارى نوراً اخر السلم الطويل فدعونا نخطو اول خطوة باتجاه النور

وما توفيقي الا بالله العلي الظيم

اريد ردودكم عاجلا لنبدا في طور البرمجة

abo_nasra.zip

#82

السلام عليكم ورحمة الله وبركاته

الأخوة الاعزاء في هذا المنتدى اهنئكم جميعاً بانضمام الاخ abo nasra المميز فعلاً من أول مشاركة له في هذا الموضوع ، وبصراحة قد كنت منهمكاً في موضوع وضع تصميم لبرنامج التحكم وبدأت بوضع مشاركة حول الية عمل البرنامج ثم شاهدت مشاركة الاخ abo nasra فاستوقفتني ، وقلت يجب ان اجرب برنامجه ، اللذي بالفعل كان مذهلاً وسيسهل علينا الكثير الكثير ، وهو يلبي الكثير من الطموح فيما يتعلق بتصميم البرنامج ، ولكن نحتاج الى بعض الوقت حتى نرى رأي معظم الاخوة المشاركين معنا حوله ، ولكن مبدأياً أقول للأخ abo nasra لقد ابدعت بحق . :rolleyes:

والسلام عليكم ورحمة الله وبركاته

قال تعالى (( إن اللذين يخشون ربهم بالغيب لهم مغفرة وأجر كبير ))

الملك

#83

السلام عليكم و رحمة الله و بركاته

اية الحلاوة دى ..... 10 /10 يا معلم ...... بجد استااااااااااااذ و رئيس قسم ...... طبعا الكلام دة للاخ الفاضل ( abo nasra ) و كان لابد من كتابتة بالعامية المصريه لان هذه الكلمات هى اول ما خرج من فمى بمجرد رؤيتى لملف ( cnc.txt ) بعد ان قمت بتشغيل البرنامج الذى قام بارفاقة ...... طبعا البرنامج بحاجة للتعديل و لكن ( نجم و الله العظيم نجم يا ابنى ) اعذرونى فعلا شعرت بالحماس عند رؤيتى للبرنامج المبشر .

و للتاكد من ان البرنامج يمكنة فتح ملفات الـ ( dxf ) سارسل اليك رسم بسيط بهذا الامتداد و نريد ان نرى البرنامج بعد ادخال التعديلات علية .... فمثلا يجب ان تكون حركة الماوس اسرع بكثير من السرعة الحالية .... و بالطبع عمل واجهه للاستخدام كمفتاح ( Browse ) لادخال الملفات ........ و اريد ان اعرف هل يمكن التحكم فى مكان حفظ الملف المحتوى على الاحداثيات ؟؟؟؟

بصراحه اشعر بحماس شديد و الافكار تتدافع الى راسى ........ هل يمكن ربط هذا البرنامج ببرنامج الـ ( Paint ) مثلا ؟؟ .... ثم اين نقطة الاصل (0,0 ) بالنسبة للبرنامج ؟؟؟ ..... يجب اضافة خاصية تحديد نقطة الاصل لانها ستكون مرتبطة بمساحة الـ ( table ) و الابعاد الخاصة بالميكانيزم الخاص بالماكينة ..

اخى ( abo nasra ) هل رايت الكتالوج الذى ارسلتة من قبل و الذى يشرح برنامج مشابه للبرنامج المراد الوصول اليه ؟؟؟؟؟ هذا المانول موجود فى الصفحة الثالثة من الموضوع ..... ارجوا ان تلقى نظرة علية حتى يوضح اليك الصورة ...... و اليكم باقى الرسومات الخاصة بالماكينة

قطاع ( AL - 475 over )

03_07_06_05_54_05_1151974445AL_475_over_.JPG

post-43072-1152023956_thumb.jpg

بسم الله الرحمن الرحيم (( و اعـــدوا لــهـــــم مـا اســــــتـطـعـتـم مـن قــــوة )) صدق الله العظيم

cell phone : 002 010 58 66 707

.

.

#84

بسم الله الرحمن الرحيم

شكرا على هذه الكلمات التي اثلجت صدري والله

انا لم افعل شيئا , بل انتم الذين قمتم بما هو مستحيل .

اولا احب ان اوجه تحية الى صديقي العزيز ابو السعيد الذي ساعدني في هذا الموضوع .

ثانيا قمت بارفاق هذه العينة من البرنامج لاتاكد اذا كان هذا هو المطلوب . حتى لا اضيع وقتي ووقتكم عن ما هو مفيد .

اما بالنسبة للبرنامج فعندي سؤال اذا سمحتم . ليكون كلامي متناسق مع الجميع .

هل اتممتم الناحية الصلبة في الموضوع ( اعني الجانب الفيزيائي والالكتروني ) .

إن كان الجواب نعم فاروني بعض الملاحظات ليكون البرنامج متناسق مع ما عملتم إخوتي بالله .

اشكر مرة اخرى الاخوين romariorambo و Amino على الكلمات اللطيفة الجميلة التي تدل على مصداقية القلوب في العمل .

إن شاء الله ستكون المشاركة القادمة فعالة وتريح قلوب العشاق لاول مشروع عربي بهذا الحجم وخصوصاً ( واسمحوا لي بالتكرار للجملة ) ان البرنامج على صفحات الانترنت وليس في مختبرات ناسا الامريكية .

اخيراً اني ارى نوراً اخر السلم الطويل فدعونا نخطوا اول خطوة باتجاه النور.

والسلام عليكم ورحمة الله وبركاته. ;)

#85

السلام عليكم و رحمة الله و بركاته

نسيت ارفاق ملف الـ ( dxf ) فى المشاركة السابقة ....... معذرة .... و اليكم الملف

Part1.zip

بسم الله الرحمن الرحيم (( و اعـــدوا لــهـــــم مـا اســــــتـطـعـتـم مـن قــــوة )) صدق الله العظيم

cell phone : 002 010 58 66 707

.

.

#86

السلام عليكم ورحمة الله وبركاته

قبل المشاركة لدي تعليق او اكثر:

1 - رجاء الالتزام بالتخصصات , بديهي لكل مشارك اهتماماته في مجالات معينه , وحد أدنى من المعرفة في هذه الاهتمامات , وليس من البديهي تفصيل اساسيات الالكترونيات على كل صفحة من صفحات المنتدى لأن بعض المشاركين لم يتفهم دائرة الكترونية بسيطه

الأخ Amino

في المشاركة رقم 35 :

اقتباس
ملاحظة هامة : يجب اختيار قسم واحد فقط كمهمة اساسية و ان اختيارك لقسم ما من اقسام المشروع الثلاثة هو للعمل فيه بشكل اساسى و تركيز جهودك فيه و ذلك لا يمنع ان تثرى المشروع بمشاركاتك فى اى جانب اخر غير مهمتك الاساسية حيث ان معظم المتواجدين ملمين باغلب النواحى و لكن ستكون المشاركة فى اى مهمة غير المهمة الاساسية على سبيل المساعدة لافراد الفريق لاتمام المشروع .

بالنسبة لى فساتولى باذن الله جزء التصميم الميكانيكى للمشروع و على من يرغب فى الانضمام الى فى هذة المهمة ان يكتب مشاركة توضح نيتة فى ذلك

و في المشاركة رقم 44 :

اقتباس
المشكلة الثانية : عند البحث عن الموتور المناسب من حيث العزم ( كعامل اساسى ) ثم من حيث جهد التشغيل و الالوزن و الابعاد الهندسية لة ..... وجدت الموتور المناسب ولكن ... يحتاج الى شدة تيار مقدارها 1.04 امبير و ذلك عند العمل بقيمة 12 فولت كفرق جهد ....... و عند البحث وجدت ان يمكن ان يقل هذا التيار الى 0.55 امبير عند العمل بقيمة 24 فولت ...... و سبب المشكلة ان الدوائر التى نقوم باستخدامها تعتمد على متكاملتين هما ( ULN 2003 ) & ( ULN 2803 ) و كلا منهما يستطيع توفير 0.5 امير كحد اقصى ....... اذا نحتاج لمكبر ( amplifier ) للحصول على التيار المناسب للمواتير ....

وفي المشاركة رقم 51 :

اقتباس
انا شوفت الدائرة ...... و لكن اعذرنى لقلة خبرتى فى الالكترونيات .... لم افهم منها شيئا

و لم اعرف كيف ستزداد المنافذ..............

ارجوا رسم الدائرة كامله مع توضيح اطراف التوصيل لكلا من الوصلات القادمة من المنفذ الاساسى او الاصلى و وصلات المنافذ الزيادة ... كما فعلت انا فى الدائرة السابقة

و كذلك شرح كيفية التعامل معها برمجيا !!!!!!

طيب يا أخي ليس مطلوب منك الاهتمام لا بمشاكل الالكترونيات ولا البرمجة طالما لا توجد لديك الحد الادنى فيها

مثال بسيط :

تنتج شركة انتل معالجاتها المعروفة ولا تهتم بم لدى نظام التشغيل الذي سوف يعمل عليها من ادوات , كل ما عليها توفير شرح للمعالج وما يوفره من وظائف وكيفية استخدامه

تأتي شركة ميكروسوفت لتستخدم هذا المعالج كما هو ومعها - كيفية الاستخدام - فتقوم ببناء نظام التشغيل الذي يستطيع ادارة هذا المعالج

لا تبحث ميكروسوفت هل نظام التشغيل هذا سوف يعمل فيما بعد في محل تجاري ليدير قاعدة بيانات ام في معمل بالجامعة ليدير محاكي لأحد الأنظمة ... الخ

توفر ميكروسوفت طريقة الاستخدام وكيفية الاستفادة من ادوات نظام التشغيل على شكل MSDN مثلا

يأتي دور المبرمج ليعمل على برمجة احد التطبيقات على نظام تشغيل ميكروسوفت كما هو الذي يعمل على معالج انتل كما هو , فقط معه كيفية تشغيل و الاستفاده من كل هذا

الخلاصة :

ينتج من القسم الميكانيكي ماكينة CNC تعمل ميكانيكيا بشكل جيد , لا داعي للاهتمام كيف سيتم حل هذه المشكلة الالكترونيه او البرمجيه لاحقا , فقط مطلوب الانتهاء من القسم الميكانيكي , فقط كل ما عليك توضيح طريقة التشغيل و متطلبات التشغيل

القسم الالكتروني عليه اتمام عمله بناء على طريقة التشغيل للقسم الميكانيكي مع التقيد بمتطلبات التشغيل , يقدم القسم الالكتروني لقسم البرمجه طريقة التشغيل و متطلبات التشغيل

يقوم القسم البرمجي بعمل وظيفته بناء على طريقة التشغيل للقسم الالكتروني ومتطلبات التشغيل

باختصار تسمى system hierarchy

2 - طريقة تنسيق المشاركات , الاحظ ان الأخ مراد قام بتحرير اكثر من مشاركة بسبب التنسيق في حجم الخط , رجاء تنسيق المشاركة بشكل جيد كي لا تجعل شكل المشاركه منفر

عودة الى المشاركة :

يقول الأخ romariorambo في المشاركة 78 :

اقتباس
ان تعامل البرنامج مع معادلات من وجهة نظري أفضل من تعامله مع احداثيات تخزن في داتا بيس لأنه لو أردنا تحويل هذه الأشكال الى احداثيات واردنا تخزينها في داتا فان حجم الداتا سيكون هائلاً مما يبطئ من عمل البرنامج .

أتفق معه , ولا يخفى ان طريقة حفظ الرسومات في برامج الرسم الهندسي تكون بصورة متجهات وليست بصورة مجموعة النقاط الممثله للشكل

لهذا فملفات ال dxf تمثل الخط مثلا بزوج من النقاط يمثل بداية ونهاية الخط المستقيم

أخيرا , بالنظر للتصميم الميكانيكي للأخ Amino , وبالنظر لمثال الماكينه في اول الموضوع تعتبر ماكينة الـ cnc من وجهة نظر الرسم سوف تقوم برسم بعدين فقط x, y أي انها لن تحتاج للبعد الثالث z لأنها سوف ترسم على سطح فقط

ولهذا قمت بكتابة كود يقوم بقرائة الرسم من ملف xdf وتشغيل الماكينه بناء على الاشكال المطلوبة رسمها

- طبعا طريقة تشغيل الماكينة تتوقف على التصميم الميكانيكي والالكلتروني معا , لهذا فهي تنتظر للنهاية -

البرنامج بلغة السي شارب لاعتمادي على مبدأ الـ oop

تم تصميم مجموعة كلاسات تمثل بيانات الاشكال , وتم تصميم كلاس وظيفتها قراءة الاشكال من الملف وتكون مصفوفة بالاشكال المطلوب رسمها وتسليم هذه المصفوفه لكلاس اخرى تمثل الماكينه , كلاس الماكينه تحتوي على وظائف الحركة , وكيفية رسم كل شكل من الاشكال المطلوبه رسمها

اليكم كود كل كلاس - الكود تحت التطوير -:

مجموعة كلاسات الاشكال :

// coder : Ahmed Samieh
// Al-Azhar University
// Faculty Of Engineering
// Computer And Systems Department
// asm4pic@gmail.com
// -------------------------------
// DXF Reader Project
// www.arabteam2000-forum.com
// about 30% based on "Evren DAGLIOGLU"'s code - www.codeproject.com
using System;
using System.Collections.Generic;
namespace DXF {
  public class Point {
	private double x, y;
	public Point()  { }
	public double X {
	  get { return x; }
	  set { x = value; }
	}
	public double Y {
	  get { return y; }
	  set { y = value; }
	}
	public double Distance(Point org) {
	  return Math.Sqrt(Math.Pow(x - org.x, 2) + Math.Pow(y - org.y, 2));
	}
  }
  public class Line {
	private Point start, end;
	public Line() {
	  start = new Point();
	  end = new Point();
	}
	public Line(Point p1, Point p2) {
	  start = p1;
	  end = p2;
	}
	public Point Start {
	  get { return start; }
	}
	public Point End {
	  get { return end; }
	}
	public void SwapPoints() {
	  Point temp = start;
	  start = end;
	  end = temp;
	}
  }
  public class Circle {
	private Point center;
	private double radius;
	public Circle() {
	  center = new Point();
	}
	public Point Center {
	  get { return center; }
	}
	public double Radius {
	  get { return radius; }
	  set { radius = value; }
	}
  }
  public class Arc {
	private Circle circle;
	private double startangle, endangle;
	public Arc() {
	  circle = new Circle();
	  startangle = 0;
	  endangle = 2 * Math.PI;
	}
	public Circle Circle {
	  get { return circle; }
	}
	public double StartAngle {
	  get { return startangle; }
	  set { startangle = value; }
	}
	public double EndAngle {
	  get { return endangle; }
	  set { endangle = value; }
	}
  }
  public class Ellipse {
	private Point center;
	private Point endOfMajorAxis;
	private double ratioOfMinorAxisToMajorAxis;
	private double startangle, endangle;
	public Ellipse() {
	  center = new Point();
	  endOfMajorAxis = new Point();
	}
	public Point Center {
	  get { return center; }
	}
	public Point EndOfMajorAxis {
	  get { return endOfMajorAxis; }
	}
	public double MinorToMajorRatio {
	  get { return ratioOfMinorAxisToMajorAxis; }
	  set { ratioOfMinorAxisToMajorAxis = value; }
	}
	public double StartAngle {
	  get { return startangle; }
	  set { startangle = value; }
	}
	public double EndAngle {
	  get { return endangle; }
	  set { endangle = value; }
	}
  }
  public class PolyLine {
	private List<Point> pointsList;
	public PolyLine() {
	  pointsList = new List<Point>();
	}
	public List<Point> Points {
	  get { return pointsList; }
	}
  }
}

كلاس قارئ ملف ال dxf :

// coder : Ahmed Samieh
// Al-Azhar University
// Faculty Of Engineering
// Computer And Systems Department
// asm4pic@gmail.com
// -------------------------------
// DXF Reader Project
// www.arabteam2000-forum.com
// about 30% based on "Evren DAGLIOGLU"'s code - www.codeproject.com
using System;
using System.IO;
using System.Collections.Generic;
namespace DXF {
  public class DXFReader {
	private StreamReader streamReader;
	private String str1, str2;
	private int command;
	public List<Object> ReadFile(String fileName) {
	  streamReader = new StreamReader(fileName);
	  List<Object> shapes = new List<Object>();
	  do {
		str1 = streamReader.ReadLine();
		str2 = streamReader.ReadLine();
		command = Convert.ToInt32(str1);
		if (command == 0) {
		  if (str2 == "LINE")
			shapes.Add(GetLine());
		  else if (str2 == "CIRCLE")
			shapes.Add(GetCircle());
		  else if (str2 == "ARC")
			shapes.Add(GetArc());
		  else if (str2 == "ELLIPSE")
			shapes.Add(GetEllips());
		  else if (str2 == "LWPOLYLINE")
			shapes.Add(GetPolyLine());
		}
	  } while (!streamReader.EndOfStream);
	  streamReader.Close();
	  return shapes;
	}
	private Line GetLine() {
	  Line line = new Line();
	  do {
		str1 = streamReader.ReadLine();
		str2 = streamReader.ReadLine();
		command = Convert.ToInt32(str1);
		switch (command) {
		  case 10: line.Start.X = Convert.ToDouble(str2); break;
		  case 11: line.End.X = Convert.ToDouble(str2); break;
		  case 20: line.Start.Y = Convert.ToDouble(str2); break;
		  case 21: line.End.Y = Convert.ToDouble(str2); break;
		  default: break;
		}
	  } while (command != 21);
	  return line;
	}
	private Arc GetCircle() {
	  Arc arc = new Arc();
	  do {
		str1 = streamReader.ReadLine();
		str2 = streamReader.ReadLine();
		command = Convert.ToInt32(str1);
		switch (command) {
		  case 10: arc.Circle.Center.X = Convert.ToDouble(str2); break;
		  case 20: arc.Circle.Center.Y = Convert.ToDouble(str2); break;
		  case 40: arc.Circle.Radius = Convert.ToDouble(str2); break;
		}
	  } while (command != 40);
	  return arc;
	}
	private Arc GetArc() {
	  Arc arc = GetCircle();
	  do {
		str1 = streamReader.ReadLine();
		str2 = streamReader.ReadLine();
		command = Convert.ToInt32(str1);
		switch (command) {
		  case 50: arc.StartAngle = Convert.ToDouble(str2); break;
		  case 51: arc.EndAngle = Convert.ToDouble(str2); break;
		  default: break;
		}
	  } while (command != 51);
	  return arc;
	}
	private Ellipse GetEllips() {
	  Ellipse ellips = new Ellipse();
	  do {
		str1 = streamReader.ReadLine();
		str2 = streamReader.ReadLine();
		command = Convert.ToInt32(str1);
		switch (command) {
		  case 10: ellips.Center.X = Convert.ToDouble(str2); break;
		  case 20: ellips.Center.Y = Convert.ToDouble(str2); break;
		  case 11: ellips.EndOfMajorAxis.X = Convert.ToDouble(str2); break;
		  case 21: ellips.EndOfMajorAxis.Y = Convert.ToDouble(str2); break;
		  case 40: ellips.MinorToMajorRatio = Convert.ToDouble(str2); break;
		  case 41: ellips.StartAngle = Convert.ToDouble(str2); break;
		  case 42: ellips.EndAngle = Convert.ToDouble(str2); break;
		  default: break;
		}
	  } while (command != 42);
	  return ellips;
	}
	private PolyLine GetPolyLine() {
	  PolyLine polyline = new PolyLine();
	  int count = 0;
	  int numberOfVertices = 1;
	  do {
		str1 = streamReader.ReadLine();
		str2 = streamReader.ReadLine();
		command = Convert.ToInt32(str1);
		switch (command) {
		  case 90: numberOfVertices = Convert.ToInt32(str2); break;
		  case 10: polyline.Points.Add(new Point());
				   polyline.Points[count].X = Convert.ToDouble(str2); break;
		  case 20: polyline.Points[count++].Y = Convert.ToDouble(str2); break;
		}
	  } while (count < numberOfVertices);
	  return polyline;
	}
  }
}

كلاس الماكينة وطريقة الرسم عليها :

// coder : Ahmed Samieh
// Al-Azhar University
// Faculty Of Engineering
// Computer And Systems Department
// asm4pic@gmail.com
// -------------------------------
// DXF Reader Project
// www.arabteam2000-forum.com
// about 30% based on "Evren DAGLIOGLU"'s code - www.codeproject.com
using System;
using System.Collections.Generic;
using System.Text;

namespace DXF {
  public class Machine {
	private Point current;
	private const double Limit = 0.01;
	public Machine() {
	  current = new Point();
	}
	private void PinUp() { }
	private void PinDown() { }
	private void Move(int x, int y) { }
	private void Home() {
	  PinUp();
	  Move(Convert.ToInt32(-(current.X / Limit)),
		   Convert.ToInt32(-(current.Y / Limit)));
	  current.X = 0;
	  current.Y = 0;
	}
	private void GoTo(double x, double y) {
	  int xx = Convert.ToInt32((x - current.X) / Limit),
		  yy = Convert.ToInt32((y - current.Y)/Limit),
	  Move(xx, yy);
	  PinDown();
	  current.X += xx * Limit;
	  current.Y += yy * Limit;
	}
	public void Draw(List<Object> shapes) {
	  Home();
	  for (int i = 0; i < shapes.Count; i++) {
		PinUp();
		if (shapes.GetType() == typeof(Line))
		  Line((Line)shapes);
		else if (shapes.GetType() == typeof(Arc))
		  Arc((Arc)shapes);
		else if (shapes.GetType() == typeof(Ellipse))
		  Ellipse((Ellipse)shapes);
		else if (shapes.GetType() == typeof(PolyLine)) {
		  PolyLine polyline = (PolyLine)shapes;
		  for (int j = 0; j < polyline.Points.Count-1; j++)
			Line(new Line(polyline.Points[j], polyline.Points[j+1]));
		}
	  }
	}
	private void Line(Line line) {
	  double x = line.End.X - line.Start.X;
	  double y = line.End.Y - line.Start.Y;
	  double max = Math.Abs(x);
	  max = Math.Max(max, Math.Abs(y));
	  for (double j = 0; j <= max; j += Limit)
		GoTo(line.Start.X + j * x / max, line.Start.Y + j * y / max);
	}
	private void Arc(Arc arc) {
	  for (double j = arc.StartAngle; j <= arc.EndAngle; j += Limit)
		GoTo(arc.Circle.Center.X + arc.Circle.Radius * Math.Cos(j),
			 arc.Circle.Center.Y + arc.Circle.Radius * Math.Sin(j));
	}
	private void Ellipse(Ellipse ellipse) {
	  double r2 = ellipse.Center.Distance(ellipse.EndOfMajorAxis);
	  double r1 = r2 * ellipse.MinorToMajorRatio;
	  double xx, yy, rr, cita,
			 segma = Math.Atan2(Math.Abs(ellipse.EndOfMajorAxis.Y - ellipse.Center.Y),
								Math.Abs(ellipse.EndOfMajorAxis.X - ellipse.Center.X)) - Math.PI / 2;
	  for (double j = ellipse.StartAngle; j <= ellipse.EndAngle; j += Limit) {
		xx = r1 * Math.Cos(j);
		yy = r2 * Math.Sin(j);
		rr = Math.Sqrt(Math.Pow(xx, 2) + Math.Pow(yy, 2));
		cita = Math.Atan2(yy, xx);
		xx = rr * Math.Cos(cita + segma);
		yy = rr * Math.Sin(cita + segma);
		GoTo(ellipse.Center.X + xx, ellipse.Center.Y + yy, ellipse.Center.Z);
	  }
	}
  }
}

طريقة الاستخدام :

// coder : Ahmed Samieh
// Al-Azhar University
// Faculty Of Engineering
// Computer And Systems Department
// asm4pic@gmail.com
// -------------------------------
// DXF Reader Project
// www.arabteam2000-forum.com
// about 30% based on "Evren DAGLIOGLU"'s code - www.codeproject.com
using System;
using System.Collections.Generic;
using System.Text;
namespace DXF {
  class Program {
	static void Main(string[] args) {
	  DXFReader dxfreader = new DXFReader();
	  List<Object> shapes = dxfreader.ReadFile("c:\\test.dxf");
	  Machine machine = new Machine();
	  machine.Draw(shapes);
	}
  }
}

مره ثانية , الكود ليس في صورته النهائية , يوجد الكثير من الاضافات والتعديلات تتوقف على التصميم الالكتروني و ما يسبقه من تصميم ميكانيكي

أرحب بأي استفسارات

تم تعديل هذه المشاركة بواسطة Asm4all في 5 يوليو 2006 في 03:27

#87

السلام عليكم ورحمة الله وبركاته

شكرا لمشرف القسم لمتابعتنا اولا باول , وشكرا له على الربط بين افكارنا والنواحي المختلفة إذ انه على ما اعتقد هو الوحيد من بين المشتركين الذي له دراية بجميع نواحي

الماكينة ( برمجية , الكترونية , ميكانيكية ) .

ولكن الكلام الذي قلته ايها المشرف العزيز لا يتفق مع الكلام الذي اُتفق علية . إذ ان ماكينة ثنائي الابعاد هي اسهل ما يكون بالنسبة للبرمجة .\

فإذا كانت ثنائية الابعاد ووافق المشتركون على ذلك .

فإن ذلك يغير جميع الامكانيات الى الاسهل . لايوجد مشاكل بالنسبة للبرنامج . ولاضرورة لقراءة ملف dxf اصلا لانه يمكن عمل برنامج يتعامل مع ثنائي الابعاد.

مع انه , انا شخصيا اتمنى ان يكون المشروع على الاقل بثلاثة محاور . لانه يمكن زيادتها في المستقبل الى ستة محاور تدريجيا . أما الثنائية الابعاد فهي تقنية مختلفة تماماً.

وتشبة كثيراً في عملها عمل ال cuter او ال ploter ولايمكن لهذة الماكينة الا ان تتحرك فى مستوى ثنائي الابعاد.\

أخيرا ارجوا التفكير والمشاورة وأخد القرار والا نختلف الان في اللحظة التي نحن اشد الحاجة الى ان نتفق فيها .

والسلام عليكم ورحمة الله وبركاته

majdeabonasra@yahoo.com

#88

السلام عليكم ورحمة الله وبركاته

اخي abo nasra , اقدر كلامك بالتأكيد , ولا اختلف معك أن الشغل ثنائي الأبعاد اسهل بكثير من ثلاثس الابعاد , ولكن لو نظرت الى التصميم الميكانيكي , او الى الماكينه في أول صفحه

post-43072-1148056477_thumb.jpg

لاتضح لك ان الماكينه تتحرك في ثلاثة ابعاد , بعدين للرسم x, y والبعد الثالث z للتشغيل من عدمه , يعني مثقاب في المستوى x, y فقط , ولا يستطيع تنفيذ أي شغل في اي مستوى آخر , هذا أولا ..

ثانيا , لتنفيذ أي شكل ثلاثي الابعاد من صوره تحتاج صور لثلاثة مساقط , الافقي والراسي والجانبي , فلن تساعد صورة واحده لتنفيذ شكل ثلاثي الابعاد

ثالثا , لو تلاحظ أن التصميم الميكانيكي يحتوي على ثلاث مفاصل متعامده فقط , وهي الحد الادنى للرسم فقط

بينما لتنفيذ شكل ثلاثي الابعاد تحتاج على اقل تقدير 5 مفاصل , ولن تفي بالغرض , بل المفروض تكون اكثر من 5 .

مازلنا في تصميم اول شيء - التصميم الميكانيكي - والذي يحدد ما تستطيع الماكينه القيام به من وظائف , لهذا لو ترون ان الهدف الحصول على ماكينة لتنفيذ اشكال ثلاثية الابعاد فيجب اعادة النظر في التصميم والماكينه المثال

والله الموفق

#89

السلام عليكم و رحمة الله و بركاته

الى المشرف العزيز ( Asm4all ) ...........اتفق معك تماما فى الالتزام بالتخصص عند التكليف بالمهام و هذا واجب ضرورى (( فاسئلوا اهل الذكر ان كنتم لا تعلمون )) و اهل الذكر اى المتخصصين فى كل مجال ...... ولكنى لا اتفق معك ابدا فى الحجر على الرغبة فى التعلم و المعرفة و الاستزادة من العلم فى غير مجالات النخصص !!!!!!

فكيف تعطى لنفسك الحق فى ان تحجر على افكارى و رغبتى فى التعلم و المعرفة ؟!؟!؟!؟!؟!؟!؟!

ثم هل رايت احد من الاخوة المشاركين قام بشرح اساسيات او مبادئ اى شئ سواى عندما اراد الاخ ( romariorambo ) معرفة كيفية تحويل الحركة الدورانية الى حركة خطية فقمت بالشرح و بالامثلة و الرسومات من اول الموضوع حتى كيفية تحويل ذلك الى برنامج !!!!!!!

هل كان المفروض ان اكتم العلم و ابخل بة على طالبة ؟؟؟ و اتحجج لة بانة ليس من اختصاصة فهم العمل الميكانيكى للماكينة وان يسالنى فقط عن القيم التى سيعمل بها !!!!!

بالنسبة لى ..... هذا كلام غير منطقى ولا يجوز شرعا ...........

ثم يا اخى ايكون فعلك كفعل من جاء ذكرهم فى الاية .... بسم الله الرحمن الرحيم (( اتامرون الناس بالبر و تنسون انفسكم و انتم تتلون الكتاب افلا تعقلون ))

كيف حكمت على ان الماكينة لا تعمل الا فى مستوى واحد ؟؟؟؟ هل انت متخصص !!!!! و تستشهد ايضا بالصورة التى قمت بارسالها و كمان بالميكانيزم !!!!!

و من اين اتيت بموضوع المفصلات الخمسة !!!!!!!! ....... و ما موضوع الثلاث صور !!!! و هل تريد ان تقوم بالربط بينها بعد ذلك !!!

اولا الماكينة المتفق عليها هى فريزة راسية و هى التى تم ارسال الصورة النموذجية لها .....

ثانيا الميكانيزم الذى قمت بتصميمة يعمل فى الثلاث اتجاهات ... اى يمكنة عمل شغلة بالشكل التالى

05_07_06_05_29_29_1152145769part_7.JPG

و بدون رفع الشغلة من مكانها ......... و اليكم صورة توضح اكثر الميكانيزم بعد اضافة ( Head ) التشغيل و الذى تركب علية الاداة المستخدمة فى التشكيل و تسمى ( EndMill ) و التى لن تؤثر على حركة اجزاء الميكانيزم بالطبع

05_07_06_06_35_41_1152149741W_-_H.JPG

ارجوا ان يكون الوضع اصبح اوضح لك الان و لجميع الاخوة ..... و ان كان ينبغى ان تاخذ كلامى محل ثقة لانى سبق و ان اخبرت بان الماكينة تعمل فى الثلاث محاور (( بناء على كلامك و رايك الذى ذكرتة )) و الا تراجعنى فية الا بعد ان تقوم بالتجربة و حدوث خلل يتعلق بالمواصفات التى قمت باعطائها لك !!!!!

و الان بعد تاكيد صلاحية التصميم الميكانيكى للماكينة ارجوا ان ارى البرنامج و الانترفيس كارد او على الاقل اى خطوات عملية نستفيد منها

و السلام عليكم و رحمة الله و بركاته

.

.

.

بسم الله الرحمن الرحيم (( و اعـــدوا لــهـــــم مـا اســــــتـطـعـتـم مـن قــــوة )) صدق الله العظيم

cell phone : 002 010 58 66 707

.

.

#90

السلام عليكم ورحمة الله أخوتي بالله

لقد قمت بتوفيق من الله بالتعديل الثاني على البرنامج والذي اصبح كالتالي

1 . قم باخذ الشكل الذي تريدة وتحوله الى صورة بالامتداد bmp ومن ثم إدخاله الى البرنامج .

2 . تستطيع أن تحدد مساحة المسح الذي سيتم الاخذ منه النقاط المطلوبة لبعثها بعد ذلك الى منفذ الطابعة.

3 . يمكن تخزين ملف ال txt في اي مكان تريده ( وذلك حسب اوامر السيد amino ) والشباب طبعاً

* انا اسف على عدم سرعة الفارة الان ولكني احاول على ذلك

أنا بحاجة الى المزيد من المعلومات لانه في الطور الاول ولا زال هناك الكثير لفعله بالبرنامج . مثل تحديد نقطة الاصل والنقاط التي سيكون الحفر عميق وسطحي ..... الخ .\

أرجوا ان يكون النقاش اخوي ودي لاني اذا تعلمت منك حرفا , فانا مدين لك بحرف حتى اعلمك اياه والا فلك اجره عند الله لانها تعتبر صدقة جارية

الله يوفققم شباب . انا انتظر الردور الحلوة .

على فكرة شباب لازم نتفق على وقت معين كلنا ندخل المنتدى مع بعض علشان يكون النقاش في اعلى مستوى

والسلام عليكم ورحمة الله وبركاتة .

ABO_NASRA.zip

#91

السلام عليكم ورحمة الله وبركاته

الاخوة الكرام حياكم الله جميعاً ، واقول بصراحة ان مجهوداتكم في هذا الموضوع رائعة ومميزة جداً ، وان ما قرأته من مناقشات من الأخ amino والأخ Asm4all ، لهي دليل وبرهان على حرصهم الشديد على انجاح هذا المشروع ، والعتب يكون بين الاخوة الاحباء ، وهؤلاء أنتم ، واتمنى على الجميع ان سمحتم لي ، ان يعلموا ان الانتقاد هنا ، ليس الهدف منه الشخص بذاته وانما هي الفكرة ، والافكار دائماً معرضة للمناقشة وكلما نوقشت الفكرة ، كلما صقلت واصبحت اكثر ابداعاً ، لذا فانني ارجوا ان نوسع صدورنا لبعضنا البعض ، وانا اعلم انه لا يوجد شيئ بين الاخوة ولكني خشيت ان يتخذ النقاش منحنى حاداً اذا استمر فنخرج عن الهدف من المشروع ونتوه عن طريق الصواب ، واقبلوا اخوتي هذا الكلام من اخيكم الصغير فهو والله من باب المحبة ، واتمنى ان تستمروا بعطائكم المتميز لانكم من اميز الشباب اللذي تحدثت معهم في حياتي او يمكن ان اتحدث معهم ، ولكي لا اطيل فانني سابدأ بمشاركتي على النحو التالي :

اولاً : فيما يتعلق بالبرنامج الرائع المقدم من abo nasra فهو بحق يحمل فكرة متميزة ومبدعة جداً ، ولكن لي بعض الملاحظات البسيطة على هذا البرنامج والاخ abo nasra ربما يعرفها أكثر مني لانه قال عن برنامجه انه فكرة لأول السلم وليس البرنامج بأكمله ، وهذه النقاط هي :

1 - ان سرعة قراءة البرنامج للصورة هي بطيئة ، وستكون غير عملية في حال التطبيق ، واعتقد انه يمكن للاخ abo nasra حل هذه المشكلة .

2 - انه في حال كانت الصورة مليئة بالالوان او المساحة اللونية كبيرة فان عدد الاحداثيات سيكون هائلاً بحيث انه سيؤثر على سرعة واداء البرنامج .

3 - من حيث تخزين الاحداثيات في ملف تكست ، فانه امر ممتاز حيث ان ملفات التكست لا تاخذ مساحة كبيرة في الذاكرة ، ولكن المشكلة في اننا بحاجة الى تحويلها الى داتا بيس مثل الاكسس مثلاً وذلك حتي يتسنى لنا التحكم في هذه الاحداثيات من حيث عمليات المقارنة والفرز .

4 - ان فكرة استخدام اختلاف الالوان لتحديد العمق هي فكرة رائعة بحق ولكن المشكلة فيها تكمن في نقطة واحدة فقط وهي في حال اذا اردنا ان يكون عمق الحفر بشكل منحنى فان فكرة تدرج او تعدد الالوان ربما لا تصلح لهذا الأمر او تكون غير عملية ، ولايضاح الفكرة تجدوا صورة في المرفقات تشرح ذلك .

5 - ان فكرة البرنامج بعد ان تمعن فيه اخي العزيز abo nasra فكرة رائعة وهي من وجهة نظري صالحة جداً اذا تم معالجة الملاحظات التي اشرت اليها ، واذا لم يكن بالمقدور معالجتها ، فان فكرة البرنامج مع ذلك تكون صالحة بتفوق وتميز على وضعها الحالي مع بعض التعديلات الخفيفة عليها لتشغيل المكائن التالية ، وهي مكائن الخراطة ، ومكائن قص اللواح المعدنية مثل laser cutter ، وكذلك المكائن الخاصة بعمل البوردة النحاسية للوحات الالكترونية ، او اي مكينة فريزة ثلاثية الابعاد شرط ان لا تكون عملية حفر العمق فيها بشكل منحنيات .

ومع هذه الملاحظات التي ذكرتها الى انني اعيد واقول ان الفكرة بصدق جهنمية و 10 /10 يا معلم

ثانياً : الاخ العزيز المشرف والمشرق Asm4all، خريج اكثر الجامعات قرباً الى قلبي وهي جامعة الأزهر والتي تعتبر منارة علم ونور وموقف شجاع وثابت في كل حين ، بطلابها وخريجيها واساتذتها وعلمائها ، فاسمح لي بابداء الملاحظات التالية :

1 - يبدوا ان البرنامج اللذي كتبته بلغة السي شارب مميزاً جداً مع اني بصراحة لا اعرف شيئ عن هذه اللغة لكن من شكل الكود البرنامج طالع رهيب ، لذا فان كان من الممكن ، وانا اعلم مدى الجهد والوقت اللذي سيحتاجه منك هذا الأمر ان تشرح لنا بخطوات سلسة وميسرة آلية عمل البرنامج بالتفصيل بلغتك الخاصة ، عسى أن نكون قادرين على تحويله للعمل بلغة الفيجوال بيسك .

2 - اخي العزيز Asm4all ، بصراحة انا لم افهم عليك في حديثك عن الخمس مفاصل ، من حيث تصميم الماكينة وهل كنت تعني فيها المحاور ، وانا لا اظن انك كنت تعني ذلك في حديثك لذا ارجو الايضاح ، فربما تكون ملاحظتك هذه مهمة جداً فيما يتعلق بعمل المكينة ، وربما يتنبه لها الأخ المبدع بحق amino في تصميمه المميز اللذي وضعه للماكينة .

3 - اعتقد ان تصميم الماكينة اللذي اورده الاخ amino يفي بالغرض المطلوب منه ، فمع اطلاعي على كثير من مواقع الانترنت التي تتحدث عن ماكينات سي ان سي ، وجدت ان هناك تصاميم اقل جودة من تصميم الاخ amino وكانت تعمل بشكل جيد من خلال استعراض افلام الفيديو التي كانت تظهرها وهي تعمل .

ثالثاً : اما الاخ العزيز amino فان تصاميمك تزداد روعة يوماً بعد يوم ولي بعض الملاحظات البسيطة ارجو ان تتمكن من الاجابة عليها وهي :

1 - هل التصميم اللذي وضعته سيساعد المحرات الخطوية على تحمل مقاومة الاوزان الخاصة باجزاء الماكينة مثل المثقاب او جهاز الفريزة ، او وزن القالب ومدى صلابته اذا كان من الحديد مثلاً ، واذا كان من الممكن وضع المقايسس الخاصة بالاوزان التي يمكن ان تتحملها الماكينة في تصميمك .

2 - عادة في معظم مكائن الفريزة نجد انها تحتوي نظام تبريد بالماء على ما اظن للقطعة التي تقوم بعملية الحفر ( رأس الحفر ) فهل يمكن أن توضح لنا اخ amino كيف يمكن وضع هذا النظام في التصميم اللذي قمت بادراجه .

رابعاً : احببت ان اضع في مشاركتي شيئ يمكن الاستفادة منه وهي فكرة عامة لتصميم شكل البرنامج وطريقة عمله ، لذا قمت بعمل هذا التصميم على شكل برنامج بسيط بلغة البيسك يمكن للاخوة استعراضه مبدأياً وهو غير كامل فعلاً ولا يمكن الاستفادة منه حالياً بشيئ ولكن هو من باب الفكرة ، فاذا اعجبتكم الفكرة فانني سأعمل على اكمالها

لكم حتى تكون اوضح ، واذا اقتنعتم بالتصميم يمكننا الاستناد عليه لبدأ العمل به كأساس ننطلق من لتصميم البرنامج ، والبرنامج في المرفقات .

New_Folder.rar

post-60235-1152175177_thumb.jpg

قال تعالى (( إن اللذين يخشون ربهم بالغيب لهم مغفرة وأجر كبير ))

الملك

#92

السلام عليكم ورحمة الله وبركاته

أولا : لا توجد أي مشاكل او حساسيه في الموضوع فهذا مجرد نقاش في صلب الموضوع

ثانياً : جل من لا يخطئ , والافضل أن يعترف الرجل بأخطاء وقعت منه ولو على سبيل النسيان

ثالثاً : الأخ amino, واضح أنك أعطيت نفسك مهله للتفكير - أعتقد انها كانت كافيه - بدليل انك أعدت رسمة جديده لتستدلل بها على ان الماكينه تصلح لتشكيل جسم ثلاثي الأبعاد ( أكيد لن تستعين بتدخل بشري بعد ضبط الخامه على الماكينه ) , حسنا

بعد مراجعة بعض لوحات تمارين الرسم الهندسي البدائية وجدت بعض الرسومات البسيطه جدا جدا حيث كل الشغل فيها يكون على السطح الخارجي بتشكيله ولا يوجد شغل داخلي وهكذا , نظرت الى تصميمك للماكينه فلم أستوعب كيفية تنفيذ مثل هذه الاشكال على الماكينه دون تدخل يدوي يعمل محل المحاور التي سبق وتحدثت عنها - محور رابع واخر خامس - فرجعت الى سكيتش هندسة الانتاج لرى كيف كنا نقوم بتنفيذ تلك هذه الاشكال في ورش التدريب على ماكينات ترجع صناعتها الى الأربعينات والخمسينات يعني قبل نصف قرن , فوجدت اننا فعلا كنا نحتاج لمحاور كثيره - اكثر من ثلاثه - لتنفيذ مثل هذه الاشكال البسيطه .

رجاء تنفيذ مثل هذه الاشكال البسيطه على الماكينه دون تدخل يدوي اثناء التشغيل , لتصلح أن تسمى ماكينه لانتاج أشكال ثلاثية الأبعاد , ولك مطلق الحرية في تغيير التصميم فهذا تخصصك ولا دخل لنا فيه

اليك مساقط أح الأشكال التي اتسائل عن كيفية تنفيذها على الماكينه

06_07_06_03_27_31_11521816511.JPG

أكيد الرسمه واضحه - لغة المهندسين خاصة الميكانيكا - فلا حاجه لأن ارسم مجسم للشكل !!

الأخ romariorambo , أكيد سأضع شرح للبرنامج

#93

السلام عليكم ورحمة الله وبركاته

اولا احب ان اشكر الاخ romariorambo على البرنامج الذي ارفقه وهذه المشاركة وفرت علي الكثير من العناء لاصل للمطلوب

وشكرا له على المجاملات الطيفة .

وايضا احب ان اشكر المشرف العزيز Asm4all على التوضيح المباشر لما كان غير واضح .

سارد على بعض التعليقات الجميلة من الاخ العزيز romariorambo

اقتباس
ان سرعة قراءة البرنامج للصورة هي بطيئة ، وستكون غير عملية في حال التطبيق ، واعتقد انه يمكن للاخ abo nasra حل هذه المشكلة .

done

هذه ليست مشكله لاني وضعت الفارة على اقل سرعة لتعرفوا ماذا يحدث اولا باول

اقتباس
انه في حال كانت الصورة مليئة بالالوان او المساحة اللونية كبيرة فان عدد الاحداثيات سيكون هائلاً بحيث انه سيؤثر على سرعة واداء البرنامج .

done

وهذه ليست مشكلة لاننا نتعامل مع صورة في كل مرة . وليس هنالك اي اختلاف بين كل صورة واخرى الا عدد الالوان التي بها, لان الفارة هي المسؤولة عن القراءة وليس البرنامج.

اقتباس
من حيث تخزين الاحداثيات في ملف تكست ، فانه امر ممتاز حيث ان ملفات التكست لا تاخذ مساحة كبيرة في الذاكرة ، ولكن المشكلة في اننا بحاجة الى تحويلها الى داتا بيس مثل الاكسس مثلاً وذلك حتي يتسنى لنا التحكم في هذه الاحداثيات من حيث عمليات المقارنة والفرز .

لقد تعمدت وضع النقاط على هذه النوعية لانها متواجدة في كل الاجهزة . وبحمد الله ان قواعد البيانات هي من تخصصي ولا مشكلة في ذلك .

اقتباس
ان فكرة استخدام اختلاف الالوان لتحديد العمق هي فكرة رائعة بحق ولكن المشكلة فيها تكمن في نقطة واحدة فقط وهي في حال اذا اردنا ان يكون عمق الحفر بشكل منحنى فان فكرة تدرج او تعدد الالوان ربما لا تصلح لهذا الأمر او تكون غير عملية ، ولايضاح الفكرة تجدوا صورة في المرفقات تشرح ذلك .

ساوضح الامر اخي العزيز ,

ان كل لون مختلف مهما كان سيوضع في قاعدة بيانات لوحدها .

يعني الاحمر سيكون له جدول لوحده والاخضر كذلك وهكذا , وسيكون لكل لون قيمته ( باعتبار ان اللون يمثل قيمة y ) بدل العمق النظري و المعادلات الصعبة التي سوف تطظرون الي تبسيطها مرة اخرى ليتم بعثها على المنفذ .

فاذا كان هنالك 10 الوان لتدرجات اللون الازرق فيعن هذا انه هنالك 10 اعماق مختلفة .

سيتم المرور اولا بالالة وانجاز ما هو اقل عمقا .

بعدها سينتقل البرنامج الى الون ( الجدول) الاكثر عمقا .

بذلك نكون بسطنا الموضوع كثيرا .

اسمعونا ردودكم المفيدة التي ستنهي هذا الموضوع ببناء المشروع كاملا . ان شاء الله

وما توفيقي الا بالله العلي العظيم

والسلام عليكم ورحمة الله وبركاته

1
#94

السلام عليكم ورحمة الله وبركاته...

شرح البرنامج :

يعتمد البرنامج على اسلوب البرمجة الشيئية أو الكائنيه كما تسمى - OOP - حيث يتم توصيف مكونات النظام على انها كائنات مستقله , كل كائن له خصائصه و وظائفه , كما انه من الممكن ان يعتمد على كائن ىخر في توفير معلومه معينه ولكن لا يهمه كيفية الحصول على هذه المعلومه - وظيفة الكائن الاخر - هذا مجرد اختصار لسبب ترتيب الكود بالشكل الموجود

الكائنات التي تم بنائها في المشروع :

1 - كائنات الأشكال , لكل شكل مثل الخط , الدائرة , القطع الناقص , القوس , ... يوجد كائن يحمل بياناته

2 - كائن قارئ ملف ال dxf , وظيفته قرائة ملف ال dxf والبحث عن الاشكال داخله وتكوين مصفوفه تحتوي على كائنات الاشكال الموجوده في الملف , وكل كائن يحتوي بيانات الشكل الذي يمثله

3 - كائن الماكينه , يعمل وكأنه واجهة للماكينه , لذا تجد هذا الكائن منتظر اكتمال الجانب الميكانيكي والالكتروني لاكمال باقي وظائفه

وظيفته يتسلم مصفوفة كائنات الاشكال من الكائن قارئ الملف ليقوم بتوجيه الماكينه لتنفيذ الشكل

التفاصيل :

الكائنات الموجوده الى الآن :

1 - Point نقطة , وهي ليست شكل ولكنها تدخل في جميع الاشكال

وتحتوي النقطة على الاحداثيات كبيانات , وعلى وظيفة لحساب البعد بينها وبين اي نقطة نعطيها لها

لهذا فكل نقطة تعلم احداثياتها , وتستطيع حساب البعد بينها وبين اي نقطه اخرى

2 - Line قطعه مستقيمه , ويتم تمثيلها عن طريق نقطتي البداية والنهاية - لهذا فانه يستخدم كائنين من النوع Point - , ويحتوي المستقيم على وظيفة للتبديل بن نقطتي البداية والنهاية - بداية الرسم ونهايته.

3 - Circle دائرة , ويتم تمثيلها عن طريق نقطة المركز و نصف القطر , وطبعا معادلة الدائرة معروفه ولهذا يمكن رسم الدائرة بهذه المعلومات

4 - Arc قوس , عباره عن قوس من دائرة وليس دائرة كامله , لهذا فهو يحتوي على معلومات دائرة بالاضافه الى نقطة البداية ونقطة النهاية للقوس , لهذا استخدمت كائن من النوع دائرة لحفظ بيانات الدائرة بالاضافة الى زاوية البدا وزاوية الانتهاء للقوس

5 - Ellipse القطع الناقص , يحتوي على احداثيات المركز , واحداثيات نقطة نهاية القطر الاكبر , والنسبة بين القطر الاكبر والقطر الأصغر , وطبعا من معادلة القطع الناقص يتم رسمه بهذه المعلومات

6 - PolyLine وهي مجموعة خطوت متشابكة نهاية كل خط ببداية الخط التالي له لرسم مضلع ما سواء كان مفتوح او مغلق

طبعا البيانات التي سوف تحفظ في كل كائن أي بيانات كل شكل , سيتم استخراجها عن طريق قارئ الملف

DXFReader قارئ الملف :

يقوم بفتح كلف ال dxf ويمر على الاسطر بغرض الحصول على اشكال جديده الى نهاية الملف , وعند الحصول على شكل جديد ينظر أي شكل هذا ويختار الطريقه المناسبة لقرائة البيانات لهذا الشكل ووضعها في كائن جديد واضافته الى مصفوفة الاشكال التي تم الحصول عليها

طريقة القرائة من الملف تحتاج للرجوع لمصدر ملفات dxf لفهم معنى كل كلمة وكل رقم

ولكن بتتبع الكود يمكن فهم الطريقه بكاملها , وهذا ما حصلت عليه من الرابط الذي وضعته سلفا

على سبيل المثال , لقرائة بيانات قطعه مستقيمه

نرى أن كائن القارئ يختبر هل توجد خلايا جديده ام لا ؟ عن طريق اختبار هل السطر يحتوي على الرقم صفر ام لا

اذا كان يحتوي على رقم صفر , يختبر السطر الذي يليه , هل يحتوي على كلمة LINE أم لا

اذا كانت تحتوي على كلمة LINE , يقوم باستدعاء الوظيفة الخاصة بقرائة بيانات خط جديد

والتي تقوم بدورها بانشاء كائن لقطعه مستقيمه , والقراءة من الملف بهذا الترتيب ,

اذا كان السطر يحتوي على 10 فانه يقوم بقرائة السطر الذي يليه وحفظه في الاحداثي X لنقطة البداية

واذا كان يحتوي على 20 فانه يحفظه في الاحداثي Y لنقطة البداية , وان كان يحتوي على 30 فانه يحفظه في الاحداثي Z لنقطة البداية

كذلك 11 , 21 , 31 تحفظ في X و Y و Z لنقطة النهاية على الترتيب

راجع المصادر في المشاركات السابقه , لمعلومات اشمل واعم

بعد الانتهاء من الملف نكون قد حصرنا الاشكال المطلوب رسمها في مصفوفه , فنقوم بتمريرها للكائن من النوع ماكينة

الكائن Machine ماكينة :

يتضمن الوظيفة Home , والتي تقوم باعادة الراسم الى نقطة الأصل , حيث أن الكائن يحتوي أيضا على خاصية يحدد فيها المكان الحالي للراسم

يتضمن ايضا الوظيفة PinUp ,الوظيفة PinDown والتي تقوم برفع قلم الراسم من على الخامه ووضعه بالترتيب - مقتبسة من لغة البرمجة Logo

يتضمن الأمر Move والذي يقوم بتحريك الراسم أي اخراج القيم المناسبه على المنافذ تحريك الراسم عدد من الخطوات في اي اتجاه

يتضمن الأمر GoTo والذي يتسلم احداثيات النقطه المطلوب الوصول اليها ويقوم بحساب الفرق بينها وبين احداثيات النقطه الحاليه ومن ثم تحريك الراسم بمقدار الفرق فقط وحفظ احداثيات النقطه الحاليه

الوظيفه Draw والتي تقوم بتفنيد الاشكال القادمه في المصفوفه ورسم كل شكل باستدعاء وظائف الرسم الخاصه به , مثل Line , Arc , Ellipse

كل وظيفة رسم تستلم بيانات الشكل المطلوب رسمه ومعها معادلة رسم الشكل فتتولى بعملية توليد الاحداثيات المطلوب السير عليها

ارحب بأي استفسارات

#95

بارك الله فيك يا مشرفنا العزيز

اذا نجحت طريقتك فانا اعترف متاكدا انها افضل من اي طريقة اخرى .

اما بالنسبة للرسم فسيكون على اي برنامج خصص لتوليد ملفات dxf

هل لي بسؤال كيف ستمرر الباراميتر للمنفذ (parallel port)

على اي شكل .......مع الشكر

والسلام عليكم ورحمة الله

#96

السلام عليكم ورحمة الله وبركاته

اقتباس
هل لي بسؤال كيف ستمرر الباراميتر للمنفذ (parallel port)

بالاستعانه بالمكتبة inpout32.dll لفتح المنفذ على Windows 2000/xp

وباضافة هذه الكلاس للمشروع :

using System;
using System.Runtime.InteropServices;
namespace DXF {
  public class PortAccess {
	[DllImport("inpout32.dll", EntryPoint="Out32")]
	public static extern void OutPort(int adress, int value);
	[DllImport("PortIO.dll", EntryPoint="InP32")]
	public static extern int InPort(int adress);
  }
}

نستطيع تمرير القيم لمنفذ الطابعه بهذه الطريقة

PortAccess.OutPort(888, 1); // output value = 1, on port 888

و للقرائة من المنفذ

int value = PortAccess.InPort(888); // value = the input of port 888

لمعلومات أكثر عن المكتبة inpout32.dll واستخدامها

#97

السلام عليكم و رحمة الله و بركاتة

الاعتراف بالحق فضيلة و يبدو ان هذه الفضيلة متوفرة عندك اخى ( Asm4all ) فانك لم تكتفى بمجرد الاعتراف بخطا تعليقك السابق

اقتباس
رجاء الالتزام بالتخصصات , بديهي لكل مشارك اهتماماته في مجالات معينه , وحد أدنى من المعرفة في هذه الاهتمامات , وليس من البديهي تفصيل اساسيات الالكترونيات على كل صفحة من صفحات المنتدى لأن بعض المشاركين لم يتفهم دائرة الكترونية بسيطه

بل و برهنت على اقتناعك بشرحك للبرنامج الذى اوردتة و بلغة C التى لا يعلم السائل وهو الاخ العزيز ( romariorambo ) عنها شيئا على حد قولة مع انك قلت فى السابق انه لا يجب ان يسال المرء عن شئ طالما لايملك الحد الادنى من اساسياته

اقتباس
طيب يا أخي ليس مطلوب منك الاهتمام لا بمشاكل الالكترونيات ولا البرمجة طالما لا توجد لديك الحد الادنى فيها

فعلا هذه هى الروح التى يجب ان نعمل بها ......... ان يعترف المخطئ بخطئه و الا يكابر فى ذلك ......

و ياسلام عليك ..... كمان رحت راجعت من اول رسم اعدادى و تكنولوجيا الانتاج لتكتشف كيفيه عمل الماكينة فى الثلاث محاور ....... و عندما فشلت فى الحصول على المعلومة لم تخشى ان تسال او منعك الكبر من سؤالى عن فهم شئ غامض بالنسبة لك ......... يا سلااااااااااام فعلا 10/10 ... انت بذلك تضرب مثلا لكل من يشارك ليس فقط فى هذا المشروع و انما فى اى مكان قد يمنع فيه احدهم خجله او كبره ان يسال ليتعلم .... لان من لا يسال لا يتعلم ......

المشكلة انك بحثت فى المكان غير المناسب .... حيث ان المكان المناسب هو علم الرياضيات ... لا الرسم الهندسى ولا الانتاج ... فلفهم عمل الماكينة اريد منك ان تقوم معى بتنفيذ التالى حيث ان افضل وسائل التعليم هى التعليم التفاعلى ....

اولا ... قم برسم ثلاثة محاور متعامدة و قم بتسميتهم ( X Y Z ) .

ثانيا... قم بتوقيع النقطة التالية على الرسم الذى قمت بة و لتكن ( 3,4,5 ) بداية من نقطة الاصل و تتبع السير فى اتجاهات المحاور بدقة .

ثالثا... ستجد انك عند توقيع النقطة مع البداية من نقطة الاصل تحركت فى اتجاة محور ( X ) اولا حركة انتقالية لمسافه مقدارها 3 وحدات .... ثم .... تحركت فى اتجاة محور ( Y ) حركة انتقالية مرة اخرى لمسافة مقدارها 4 وحدات ....... ثم تحركت فى اتجاة محور ( Z ) حركة انتقالية لمسافة مقدارها 5 وحدات و بذلك تكون قد قمت بتوقيع نقطة واحدة فى الفراغ اى فى البعد الثلاثى ......جيد

اعتبر الان ان هذة النقطة التى قمت بتمثيلها هى نقطة تقع على منحنى موجود فى الفراغ ايضا ....... و الان اذا اردت تمثيل نقطة اخرى تقع على نفس المنحنى هل ستختلف الخطوات التى اتخذتها لتوقيع النقطة السابقة عن الخطوات التى ستتخذها لتوقيع النقطة الثانية ؟؟؟؟

الاجابة هى لا ..... لانة بالطبع طالما ان النقطة تقع فى الفراغ الثلاثى البعد سيكون لها ثلاثة احداثيات ... و لتوقيعها سنقوم بعمل ثلاثة حركات انتقاليه لتوقيعها كما حدث مع النقطة السابقة لها ..... جميييل جدا

الان ننتقل للميكانيزم ..... نريد ميكانيزم يقوم بتوقيع النقط المعطاة لة فى الفراغ او البعد الثلاثى ...... اذن المطلوب ميكانيزم يقوم باداء حركة انتقالية واحدة فى كل بعد فيكون المجموع ثلاثة حركات تمكننا من تمثيل اى نقطة فى الفراغ ....... و بما ان اى شكل فى الكون مهما كان معقدا فهو يتكون من عدة نقاط مكونة لة و كل هذة النقاط لها ثلاثة احداثيات ( حتى الرسومات ثنائية البعد لها ثلاثة قيم غير ان قيمة البعد الثالث تساوى صفر ) يمكن تمثيلها بثلاث حركات انتقالية .. اذن يمكن لهذا الميكانيزم اداء المطلوب منة بكل كفائة ......

الان ستقول لى كل هذا محض رياضيات و التصنيع يختلف عن مجرد رسم الشكل فى الفراغ ؟!؟!؟!؟!؟!؟!؟!؟!

و ارد عليك بان الان جاء دور علم اخر وهو تكنولوجيا الانتاج .... فبالاعتماد على الادوات و اشكالها المختلفة يمكن انتاج منتجات كثيرة و معقدة بالماكينة ذات الثلاث محاور ..... و اليك صور بعض الادوات المستخدمة فى ماكينات الـ ( CNC ) لتوضح الفكرة اكثر

07_07_06_06_00_56_1152320456tools_.JPG

و اعتقد انك لاحظت ان كل هذة الادوات تعتمد فى ادائها على اعطائها حركة دورانية و فى الاتجاة الراسى ..... اعتقد ان الان قد اتضح الامر !!

و اذا لم يتضح من الشرح السابق ..... فاعتقد ان هذا الفيلم سيوضح الامر بالكامل حيث يوضح عملية التشكيل باداة القطع و طريقة حركتها اثناء التشغيل .....

و لقد قمت بتقسيمة الى ثلاثة اقسام حتى استطيع ارفاقة ..... كل ما عليك هو وضع الثلاثة اجزاء فى نفس الملف و فك ضغط اول جزء فقط لمشاهدة الفيلم.....

و اى شئ غير واضح لا تتردد فى السؤال .....

.

.

بالمناسبة .. ما كان قصدك بقولك

اقتباس
ثالثاً : الأخ amino, واضح أنك أعطيت نفسك مهله للتفكير

movie196.part1.rar

movie196.part2.rar

movie196.part3.rar

تم تعديل هذه المشاركة بواسطة Amino في 8 يوليو 2006 في 05:28

بسم الله الرحمن الرحيم (( و اعـــدوا لــهـــــم مـا اســــــتـطـعـتـم مـن قــــوة )) صدق الله العظيم

cell phone : 002 010 58 66 707

.

.

#98

السلام عليكم ورحمة الله وبركاته...

صراحه عكس ما توقعت تماما , توقعت ان تفهم قصدي وتنتبه للتسرع في الرد, وتفكر اكثر من مره قبل أن تعطي رد , ده كان قصدي انك اعطيت نفسك مهله للتفكير وهذا أولا

ثانيا , لما ذكرت لك الرسم الهندسي و هندسة الانتاج لم يكن لاخبرك بالمصادر التي بحثت فيها , فهذه معلومات بديهية يا باشمهندس , فقط كنت اخبرك ان هذه المواد مرت علي فلا تتسائل من أين لي ان اجيبك , لكن يبدوا انك مبيت النيه للانتقاض ولكن حتى لم تعطي نفسك الفرصه في اختيار النقاط التي تنتقض فيها

اول خطأ :

اقتباس
بل و برهنت على اقتناعك بشرحك للبرنامج الذى اوردتة و بلغة C التى لا يعلم السائل وهو الاخ العزيز ( romariorambo ) عنها شيئا على حد قولة مع انك قلت فى السابق انه لا يجب ان يسال المرء عن شئ طالما لايملك الحد الادنى من اساسياته
في حين طلب الأخ romariorambo :
اقتباس
لذا فان كان من الممكن ، وانا اعلم مدى الجهد والوقت اللذي سيحتاجه منك هذا الأمر ان تشرح لنا بخطوات سلسة وميسرة آلية عمل البرنامج بالتفصيل بلغتك الخاصة ، عسى أن نكون قادرين على تحويله للعمل بلغة الفيجوال بيسك .
فكان الشرح بلغتي الخاصه - لا أقصد السي الشارب أقصد الاسلوب - ولم يكن مرتبط بلغه معينه بل كان الشرح بصوره عامه بحيث أي مبرمج يعرف عن البرمجه الشيئية يستطيع اعادة كتابة الكود باللغه التي يعرفها , منها مثلا VB.NET

ولا اعتقد أن الأخ romariorambo كان يطلب مني تحويل الكود الى في بي , فكلامه لا يوحي بهذا , خاصة اني أخبرت من قبل:

اقتباس
عموما بعد ما تتحدد تفاصيل اكثر عن الماكينه ربما اشارك بـ/في البرمجه .. لكن vb ماظنش
فلو لم تستطع فهم الشرح لعدم معرفتك بالبرمجه الشيئية فهذه مشكلتك , يمكنك البحث عنها في المنتدى

ثاني خطأ أو بمعنى اصح تناقض في الكلام:

اقتباس
و ياسلام عليك ..... كمان رحت راجعت من اول رسم اعدادى و تكنولوجيا الانتاج لتكتشف كيفيه عمل الماكينة فى الثلاث محاور ....... و عندما فشلت فى الحصول على المعلومة لم تخشى ان تسال او منعك الكبر من سؤالى عن فهم شئ غامض بالنسبة لك ......... يا سلااااااااااام فعلا 10/10 ... انت بذلك تضرب مثلا لكل من يشارك ليس فقط فى هذا المشروع و انما فى اى مكان قد يمنع فيه احدهم خجله او كبره ان يسال ليتعلم .... لان من لا يسال لا يتعلم ......

المشكلة انك بحثت فى المكان غير المناسب .... حيث ان المكان المناسب هو علم الرياضيات ... لا الرسم الهندسى ولا الانتاج ... فلفهم عمل الماكينة اريد منك ان تقوم معى بتنفيذ التالى حيث ان افضل وسائل التعليم هى التعليم التفاعلى ....

اقتباس
الان ستقول لى كل هذا محض رياضيات و التصنيع يختلف عن مجرد رسم الشكل فى الفراغ ؟!؟!؟!؟!؟!؟!؟!؟!

و ارد عليك بان الان جاء دور علم اخر وهو تكنولوجيا الانتاج

أمرك غريب والله , لا الرسم الهندسي ولا الانتاج والان جاء دور تكنولوجيا الانتاج !!

اخيرا شكرا على درس الجغرافيا .. اقصد الرياضيات B)

اقتباس
و اى شئ غير واضح لا تتردد فى السؤال .....

نعم توجد نقطه غير واضحه , هل الماكينه التي قمت بوضع الرسم لها تستطيع تنفيذ الشكل الذي سالتك عنه ؟؟

صراحه انا محرج اسألك , لكن لا يوجد امامي غير هذا , هل فهمت المجسم المقصود من المساقط التي ارسلتها ؟؟ اذا كان نعم فلم لم تجيبني في امكانية تنفيذه على الماكينه , والا .... كارثه

#99

السلام عليكم ورحمة الله وبركاته

الاخوة الاعزاء حياكم الله جميعاً وبارك في مجهوداتكم التي لا يمكن وصفها بأقل من رائعة ، واسمحوا لي ان اتقدم بالشكر لكم جميعاً على هذه المجهودات التي أسأل الله ان يجعلها في ميزان حسناتكم يوم لا ينفع الا العمل الصالح ، واسمحوا لي ان ابدأ بمشاركتي بابداء بعض الملاحظات والتعليقات ، التي اتمنى ان تتسع صدوركم لها ، واولها : هي مع الاخوة المشاركين سابقاً في هذا المشروع واللذين طال غيابهم فعلاً بشكل الامنا واقلقنا عليهم ، واللذين كانوا اصحاب دور مميز ورائع في ايصال هذا المشروع الا ما وصل اليه الآن ولا اريد ان اذكرهم بالاسم فهم ادرى بانفسهم واتمنى ان لا يطياوا غيبتهم ويحرمونا من افكارهم النيرة والرائعة .

ثانياً : اشكر الاخ الرائع abo nasra على رده الشافي والكافي والمطمئن باذن الله واللذي رفع من معنوياتي بشكل كبير ، وارغب في اضافة امرين اضافيين لما ذكرته في مشاركتي السابقة حول برنامجه وهما :

1 - اذا كان من الممكن اخ abo nasra ان تقوم بوضع كود البرنامج اللذي وضعته مع شرح واضح له ، عسى ان نستطيع الاستفادة منه او ربما اذا امكننا ذلك ان نضيف عليه وسنكون لك من الشاكرين .

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

ثالثاً : لا يسعني الا ان اتقدم بالشكر العميق فعلاً للأخ Asm4all على شرحه الوافي والكافي لطريقة عمل البرنامج بلغة سهلة وسلسلة وهي تماماً وفق ما انا طلبت ، ولكن لي عتب بسيط عليه وعلى الاخ amino العزيز علي ايضاً ، وهما يعرفان لماذا ، واعتقد من وجهة نظري ان كلا الاخوين على صواب في موضوع الخلاف الرئيسي بينهما وهو حول عدد المحاور ، والسبب في ذلك ان كل واحد منهم يتحدث عن موضوع مختلف عن الآخر تقريباً ، ولتوضيح الفكرتين بشكل مفصل ارفقت صور في المرفقات تبين ذلك بالتفصيل ، وقد وضعت على كل صورة ما يعبر عن وجهة نظر كل طرف ، واقول للأخ Asm4all اسمح لي ان اتدخل وان نعتمد تصميم الاخ

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

رابعاً : اما الاخ amino فقد سألتك في مشاركتي السابقة لهذه عن مجموعة من الامور ولم تجبني عليها ارجو ان لاتحرمنا من رايك حولها .

والسلام عليكم ورحمة الله وبركاته

post-60235-1152444892_thumb.jpg

قال تعالى (( إن اللذين يخشون ربهم بالغيب لهم مغفرة وأجر كبير ))

الملك

#100

اقد فكرت فى جعل هذة الماكينة مشروع التخرج ولكن ما هى طريقة التفكير

سيتم تخزين الأحداثيات على الكمبيوتر فى برنامج وليكن الvbوناستخدام الparallel portيتحكم فى موتور الخطوة [

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…