أكاديمية أون لاين للتدريب

 

 

تعلم التحكم ببرنامج أتوكاد من خلال فجوال بيزك واصنع برنامجك الخاص خطوة بخطوة

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

صفحة 1 من 20 1234511 ... الأخيرةالأخيرة
النتائج 1 إلى 10 من 198
  1. [1]
    Hossam-am غير متواجد حالياً

    عضو فعال

    تاريخ التسجيل: Oct 2006
    المشاركات: 121
    Thumbs Up
    Received: 11
    Given: 0

    Arrow تعلم التحكم ببرنامج أتوكاد من خلال فجوال بيزك واصنع برنامجك الخاص خطوة بخطوة

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

    8 Not allowed!


    التعديل الأخير تم بواسطة Hossam-am ; 2010-02-27 الساعة 05:35 PM


    › شاهد أكثر: تعلم التحكم ببرنامج أتوكاد من خلال فجوال بيزك واصنع برنامجك الخاص خطوة بخطوة


  2. [2]
    عضو متميز
    الصورة الرمزية مصعب الممصعب


    تاريخ التسجيل: Jun 2008
    المشاركات: 4,059
    Thumbs Up
    Received: 142
    Given: 18
    شئ جميل خاصه ان البعض يفضلها علي ال لسبات

    0 Not allowed!


    .................................................. .................

  3. [3]
    عضو فعال


    تاريخ التسجيل: Oct 2006
    المشاركات: 121
    Thumbs Up
    Received: 11
    Given: 0

    Thumbs up الدرس الأول

    الدرس الأول
    · افتح مشروع فجوال بيزك جديد يحوي إطاراً واحداً Form1 وموديول واحد Module1 وخزنه في أي مكان تختاره وسمه VBcad .
    · حيث سنعتمد في دروسنا القادمة على تطوير هذا المثال خطوة بخطوة ليكون شاملاً بإذن الله .
    · الآن قم بعمل زر Command1 وأضفه للفورم وقم بتغيير خاصية caption ليصبح (Open New Drawing) . وقم بعمل زر Command2 وأضفه للفورم وقم بتغيير خاصية caption ليصبح (Close New Drawing ) وقم بعمل زر Command3 وأضفه للفورم وقم بتغيير خاصية caption ليصبح (Exit) .
    · يجب الآن تحميل مكتبة كائن الأوتوكاد ضمن المشروع ونقوم بعمل ذلك من قائمة Project نختار References ، ثم نبحث في مربع الحوار الذي يظهر لدينا عن مكتبة الأتوكاد ذات الإصدار المرتبط بالنسخة المحملة على جهازك (2000-2004-2007-2009....) ونفعل هذا الخيار Autocad 2009 Type Library ثم موافق .
    · نفتح صفحة الموديول Module1 ونكتب السطر التالي :
    كود PHP:
    Public Acadapp As AcadApplication 
    حيث Acadapp متحول تم تعريفه ليمثل تطبيق أو كائن الأتوكاد ...أي أن هذا المتحول وكأنه برنامج الأتوكاد نفسه سنتعامل مع الأتوكاد من خلاله (وإن كان التعبير غير دقيق).
    · الآن في حدث النقر Click على زر (Open New Drawing) نكتب السطر التالي :

    كود PHP:
    Private Sub Command1_Click()
            
    Set Acadapp CreateObject("AutoCAD.Application.17")
            
    Acadapp.Documents.Add
            Acadapp
    .Visible True
            Acadapp
    .WindowState acMax        
    End Sub 
    الشرح :
    - نقوم أولا بفتح تطبيق أو كائن أتوكاد (Object) من خلال وظيفة CreateObject وإسناد هذا الكائن إلى المتحول Acadapp من خلال وظيفة Set . وهنا أصبح المتحول Acadapp يمثل التطبيق المفتوح وسنتعامل مع التطبيق أو الكائن من خلاله . وهنا نلاحظ الجملة "AutoCAD.Application.17" وهي لنسخ الكاد بعد 2004 أما قبل 2004 نكتب "AutoCAD.Application.16"
    - من خلال هذا المتحول (الذي سنتعامل معه وكأنه تطبيق الأتوكاد ) نقوم بفتح ملف جديد من خلال السطر
    كود PHP:
    Acadapp.Documents.Add 
    - نقوم بعد ذلك بجعل تطبيق الأتوكاد ظاهراً على الشاشة من خلال
    كود PHP:
    Acadapp.Visible True 
    - يمكن التحكم بنافذة برنامج الأتوكاد من خلال :
    كود PHP:
    Acadapp.WindowState acMax 
    الآن إحفظ العمل وشغل البرنامج واضغط زر (Open New Drawing) ولاحظ النتيجة .
    ولكن :
    ماذا لو كان برنامج الأتوكاد مفتوحاً عند تشغيل البرنامج ؟
    عندها سيقوم بتشغيل برنامج الأتوكاد مرة ثانية ... هنا نستطيع اختبار كون أتوكاد مفتوحأ أم لا كما يلي :
    سنعدل الكود السابق بشكل كامل ليصبح على الشكل :

    كود PHP:
    Private Sub Command1_Click()
        
    On Error Resume Next
            Set Acadapp 
    GetObject(, "AutoCAD.Application.17")
            
    Acadapp.Documents.Add
            Acadapp
    .Visible True
            Acadapp
    .WindowState acMax
        
    If Err.Number <> 0 Then
            Set Acadapp 
    CreateObject("AutoCAD.Application.17")
            
    Acadapp.Documents.Add
            Acadapp
    .Visible True
            Acadapp
    .WindowState acMax
            Err
    .Clear
        End 
    If
    End Sub 

    شرح :
    نقوم أولاً باختبار كون أتوكاد مفتوحاً أو لا من خلال وظيفة GetObject وإسناد التطبيق المفتوح إلى المتحول Acadapp من خلال وظيفة set . لو كان أتوكاد غير مفتوحأ سنحصل على خطأ Error .
    نختبر قيمة الخطأ فإذا كانت مختلفة عن الصفر معنى ذلك وقوع خطأ وهو كون التطبيق مغلق عندها نستخدم وظيفة CreateObject لفتح التطبيق واسناده للمتحول acadapp من خلال set
    الآن إحفظ العمل وشغل البرنامج واضغط زر (Open New Drawing) ولاحظ النتيجة .
    ملاحظة: لاحظ أنه في كل استعمال لتعليمة Acadapp.Documents.Add نكون قد فتحنا ملف جديد ..أي أنه يمكن فتح عدة ملفات باستخدام هذه التعليمة إلا أن الملف الأخير يكون هو الفعال ActiveDocument وعند إرسال أي أمر إلى البرنامج سيتم التعامل مع هذا الملف .

    كيف نغلق ملف أتوكاد وننهي البرنامج ؟
    قم بكتابة الكود التالي في حدث النقر على زر Close New Drawing على الشكل :
    كود PHP:
    Private Sub Command2_Click()
        
    Acadapp.ActiveDocument.Close (False)
        
    Acadapp.Quit
        Set Acadapp 
    Nothing
    End Sub 
    الشرح :
    - السطر الأول إغلاق الملف الحالي(الفعال) باستخدام Close ولاحظ كتابة كلمة False وهي تعني أغلق الملف بدون حفظ التغييرات (فمثلا لو قمت بإجراء تعديلات على الملف الرسومي وقمت بمحاولة الإغلاق بدون كلمة false ستعترضك رسالة للسؤال هل تريد الحفظ أم لا ).
    - نقوم بعد ذلك بإنهاء البرنامج بتعليمة Quit .
    - نفرغ المتحول Acadapp من ارتباطه بكائن الأتوكاد من خلال إسناد Nothing إليه من خلال وظيفة Set .
    لكن ماذا لو أردنا إغلاق الملف الحالي وحفظ التغييرات ؟
    بما أنه قد قمنا بفتح ملف جديد فارغ فإذا أردنا حفظه عند إغلاقه يجب استخدام SaveAs وسنشرح ذلك كما يلي :
    - قم بعمل زر Command4 وأضفه للفورم وقم بتغيير خاصية caption ليصبح (SaveAs) .
    - في حدث النقر على الزر Command4 نكتب :
    كود PHP:
    Private Sub Command4_Click()
        
    Dim Path0 As String
        Path0 
    "D:/VBcad.dwg"
        
    Acadapp.ActiveDocument.SaveAs Path0ac2007_dwg
    End Sub 

    لقد قمنا بعمل نسخة عن الملف الحالي باستخدام الأمر SaveAs حيث يمثل Path0 إسم ومسار الملف كاملاً و ac2007_dwg يدل على حفظ الملف بصيغة 2007 كملف رسومي (يمكن مثلا حفظه 2004 ويمكن حفظه بتنسيق dxf ) .

    ماذا لو أردنا فتح ملف رسومي موجود ؟
    - قم بعمل زر Command5 وأضفه للفورم وقم بتغيير خاصية caption ليصبح (OpenExsistDrwing) .
    - في حدث النقر على الزر Command5 نكتب :
    كود PHP:
    Private Sub Command5_Click()
        
    On Error Resume Next
            Set Acadapp 
    GetObject(, "AutoCAD.Application.17")
            
    Path0 "D:/VBcad.dwg"
            
    Acadapp.Documents.Open Path0
            Acadapp
    .Visible True
           Acadapp
    .WindowState acMax
        
    If Err.Number <> 0 Then
            Set Acadapp 
    CreateObject("AutoCAD.Application.17")
            
    Path0 "D:/VBcad.dwg"
            
    Acadapp.Documents.Open Path0
            Acadapp
    .Visible True
            Acadapp
    .WindowState acMax
            Err
    .Clear
        End 
    If
    End Sub 
    لاحظ أننا نقوم بفتح الملف المخزن سابقا من خلال تعليمة Open حيث نكتب بعها مسار الملف كاملا Path0 .

    ماذا لو أردنا حفظ التغييرات في هذا الملف ؟
    - قم بعمل زر Command6 وأضفه للفورم وقم بتغيير خاصية caption ليصبح (Save Changes) .
    - في حدث النقر على الزر Command6 نكتب :
    كود PHP:
    Private Sub Command6_Click()
        
    Acadapp.ActiveDocument.Save
    End Sub 
    لاحظ استخدام تعليمة Save لحفظ التغييرات على ملف مخزن سابقاً .

    بعد هذا نستطيع الآن تجربة ما قمنا بعملة بالترتيب التالي :
    1- فتح ملف جديد من خلال النقر على زر Open New Drawing.
    2- عمل نسخة عن الملف (حفظ لأول مرة ) بتحديد اسم الملف ومساره كاملاً (تستطيع إظهار رسالة للمستخدم ليسأله فيها عن تحديد المسار واسم الملف ولكن هذا ليس المهم هنا فهدفنا البساطة في الشرح وليس التعقيد ) بالضغط على زر Save As .
    3- إغلاق الملف الحالي بالضغط على زر Close New Drawing.
    4- فتح الملف الذي قمنا بتخزينه سابقاً بالضغط على زر Open Exists Drawing.
    5- حفظ التغييرات عليه بالضغط على زر Save Changes.
    6- إغلاق الملف الحالي وإنهاء برنامج أتوكاد بالضغط على زر Close New Drawing .
    يتبع...
    م.حسام

    0 Not allowed!



  4. [4]
    عضو


    تاريخ التسجيل: Jul 2006
    المشاركات: 41
    Thumbs Up
    Received: 0
    Given: 0
    جزاك الله خيرا.
    مشاركة متميزة جدا، سأتابعها معك أولا بأول إن شاء الله تعالى.
    كثـّر الله من أمثالك.

    0 Not allowed!



  5. [5]
    جديد


    تاريخ التسجيل: Feb 2010
    المشاركات: 5
    Thumbs Up
    Received: 0
    Given: 0
    شكرا

    0 Not allowed!



  6. [6]
    عضو فعال جداً


    تاريخ التسجيل: Aug 2005
    المشاركات: 213
    Thumbs Up
    Received: 6
    Given: 0
    جزاك الله خيرا

    0 Not allowed!



  7. [7]
    عضو فعال


    تاريخ التسجيل: Oct 2006
    المشاركات: 121
    Thumbs Up
    Received: 11
    Given: 0

    Thumbs up الدرس الثاني ... التعامل مع الطبقات

    الدرس الثاني
    بسم الله الرحمن الرحيم
    سنتحدث في هذه الحلقة عن التعامل مع الطبقات .... كيفية إنشاء طبقة جديدة وكيفية جعل طبقة هي الطبقة الحالية وكيفية حذف طبقة وكيفية تغيير خصائص الطبقات ...ألخ
    وبحول الله نبدأ :
    إنشاء طبقة جديدة في الملف الرسومي :
    - نفتح صفحة التعريفات العامة للبرنامج Module1 ونكتب ما يلي :
    كود PHP:
    Public LayerObj As AcadLayer 

    حيث تم تعريف عنصر اسمه LayerObj على أنه طبقة في أتوكاد .
    - قم بعمل زر Command7 وأضفه للفورم وقم بتغيير خاصية caption ليصبح (AddNewLayer) .
    - في حدث النقر على الزر Command7 نكتب :
    كود PHP:
    Private Sub Command7_Click()
        
    Set LayerObj Acadapp.ActiveDocument.Layers.Add("جدران خارجية ")
        
    LayerObj.Color acRed
        LayerObj
    .Lineweight 0.5
        Acadapp
    .ActiveDocument.ActiveLayer LayerObj
    End Sub 

    نقوم بإضافة طبقة جديدة إلى الملف الرسومي ونسميها كما نشاء مثلا (جدران خارجية) ونسندها إلى الكائن LayerObj من خلال وظيفة Set بحيث يصبح هذا الكائن يمثل الطبقة ويعبر عنها ويمكن التحكم بخصائص الطبقة وتعديلها وحذفها من خلاله .
    لتغيير لون الطبقة إلى أحمر مثلاً نغير خاصية Color للعنصر LayerObj إلى acRed ولتغيير سماكة الخطوط التي سترسم على الطبقة نغير خاصية Lineweight للعنصر LayerObj إلى 0.5 مثلاً .
    وأخيراً عند إضافة عدة طبقات لابد من جعل إحدى الطبقات هي الحالية وذلك من خلال خاصية ActiveLayer للملف الرسومي الحالي ActiveDocument ونجعلها تساوي العنصر LayerObj .
    تستطيع تجريب ما قمنا به بفتح ملف رسومي جديد من خلال الضغط على زر Open New Drawing ثم الضغط على زر AddNewLayer ولاحظ النتيجة .
    ملاحظة :
    يمكن حذف الطبقة في أي وقت باستخدام الخاصية LayerObj.Delete في أي مرحلة من البرنامج (بشرط ألا تكون هي الطبقة الحالية وإلا سنحصل على رسالة خطأ).
    دمتم بخير
    م.حسام

    0 Not allowed!



  8. [8]
    عضو فعال


    تاريخ التسجيل: Oct 2006
    المشاركات: 121
    Thumbs Up
    Received: 11
    Given: 0

    Thumbs up الدرس الثالث...رسم الخطوط

    الدرس الثالث
    بسم الله الرحمن الرحيم
    سنتحدث في هذه الحلقة عن الكائنات الرسومية في أتوكاد (رسم الخطوط – الدوائر – الأقواس – مجمعات الخطوط – المضلعات – الشرائح – القطع الناقص – التهشير...)
    ملاحظة : سيبقى هذا الدرس مفتوح لحين الانتهاء من كافة العناصر السابقة ...أما العناصر ذات الخصوصية مثل المناطق و الكتل والسمات والنصوص والأبعاد فسنتحدث عنها في دروس قادمة إنشاء الله ..
    وبحول الله نبدأ :
    رسم الخطوط

    كما نعلم فإن أي خط يتحدد بنقطة بدايته ونقطة نهايته .. أي لرسم خط نحتاج لنقطتين ...وكل نقطة تتعين بثلاثة بارامترات وهي X , Y , Z .
    لننتقل إلى التطبيق :
    - نفتح صفحة التعريفات العامة للبرنامج Module1 ونكتب ما يلي :
    كود PHP:
    Public startPoint(2) As Double
    Public endPoint(2) As Double
    Public acLine As AcadLine 


    حيث تم تعريف متحول اسمه مثلاً startPoint على أنه نقطة بداية الخط .
    وتم تعريف متحول اسمه مثلاً endPoint على أنه نقطة نهاية الخط .
    و تم تعريف عنصر اسمه acLine على أنه خط في أتوكاد .
    - قم بعمل زر Command8 وأضفه للفورم وقم بتغيير خاصية caption ليصبح (DrawLine) .
    - في حدث النقر على الزر Command8 نكتب :
    كود PHP:
    Private Sub Command8_Click()
        
    startPoint(0) = 10 'X
        startPoint(1) = 10 '
    Y
        startPoint
    (2) = 'Z
        endPoint(0) = 30 '
    X
        endPoint
    (1) = 30 'Y
        endPoint(2) = 0 '
    Z
    Set acLine 
    Acadapp.ActiveDocument.ModelSpace.AddLine(startPointendPoint)
        
    Acadapp.ZoomExtents
    End Sub 

    تستطيع تجريب ما قمنا به بفتح ملف رسومي جديد من خلال الضغط على زر Open New Drawing ثم الضغط على زر DrawLine ولاحظ النتيجة .
    ملاحظات :
    للعنصر الرسومي السابق مجموعة من الخصائص يمكن التحكم بها أو معرفتها من خلال الكود على الشكل التالي :
    1- زاوية الخط Angle وهي الزاوية التي يميل بها الخط عن الافق مقاسة بدءاً من محور X الأفقي وباتجاه عكس عقارب الساعة (ومقدرة بالراديان ) . للحصول على زاوية الخط السابق يمكن إضافة السطور التالية :
    كود PHP:
    Dim LineAngle As Double
    LineAngle 
    acLine.Angle 

    2 - الخاصية Delta وهي تعطي فرق الإحداثيات بين نقطتي البداية والنهاية . لمعرفتها نضيف السطور التالية :
    كود PHP:
        Dim LineDelta As Variant
        Dim dx
    dydz As Double
        LineDelta 
    acLine.Delta
        dx 
    LineDelta(0)
        
    dy LineDelta(1)
        
    dz LineDelta(2


    الخاصيتان السابقتان Angle و Delta هما للقراءة فقط .. أي يمكن معرفة زاوية من خلال الخاصية angle ولكن لا يمكن إسناد قيمة لهذه الخاصية .
    3- الخاصية EndPoint تعيد إحداثيات نقطة نهاية الخط . لمعرفتها نكتب السطور التالية :
    كود PHP:
        Dim lineEndPnt As Variant
        Dim x
    yAs Double
        lineEndPnt 
    acLine.endPoint
        x 
    lineEndPnt(0)
        
    lineEndPnt(1)
        
    lineEndPnt(2

    ويمكن تغيير نقطة النهاية للخط بإسناد قيمة لهذه الخاصية على الشكل :
    كود PHP:
        lineEndPnt(0) = 40
        lineEndPnt
    (1) = 50
        lineEndPnt
    (2) = 0
        acLine
    .endPoint lineEndPnt 


    4- الخاصية StartPoint تعيد إحداثيات نقطة بداية الخط . لمعرفتها نكتب السطور التالية :
    كود PHP:
        Dim lineStartPnt As Variant
        Dim x1
    y1z1 As Double
        lineStartPnt 
    acLine.startPoint
        x1 
    lineStartPnt(0)
        
    y1 lineStartPnt(1)
        
    z1 lineStartPnt(2

    ويمكن تغيير نقطة البداية للخط بإسناد قيمة لهذه الخاصية على الشكل :
    كود PHP:
        lineStartPnt(0) = 5
        lineStartPnt
    (1) = 15
        lineStartPnt
    (2) = 0
        acLine
    .startPoint lineStartPnt 


    5- الخاصية Layer تعيد اسم الطبقة التي رسم عليها الخط . لمعرفتها نكتب السطور التالية :
    كود PHP:
        Dim LineLayer As String
        LineLayer 
    acLine.Layer 

    ويمكن تغيير طبقة الخط بإسناد قيمة لهذه الخاصية .
    6- الخاصية Length تعيد طول الخط . لمعرفة طول الخط السابق نكتب :
    كود PHP:
        Dim LineLength As Double
        LineLength 
    acLine.Length 

    وهذه الخاصية للقراءة فقط لا يمكن إسناد قيمة لها .
    هناك المزيد من الخصائص مثل Linetype نمط الخط و LinetypeScale مقياس رسم الخط المتقطع وهي للقراءة فقط . والخاصية Lineweight لمعرفة سماكة الخط أثناء الطباعة وهي للقراءة والكتابة .
    7- الخاصية Thickness تعيد المسافة التي يمتد (ينبثق) فيها الخط بالاتجاه المعامد لمستويه ، وهذه الخاصية للقراءة والكتابة .

    ملاحظة : الطرق Methods المتبعة للتحكم بالعنصر مثل أوامر التعديل Copy و Move....ألخ فسيتم شرحها في درس مستقل نظراً لكونها مشتركة بين معظم العناصر الرسومية .

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

    0 Not allowed!



  9. [9]
    انتظار


    تاريخ التسجيل: Jun 2009
    المشاركات: 565
    Thumbs Up
    Received: 16
    Given: 0
    جزاك الله كل خير وبارك فيك

    0 Not allowed!



  10. [10]
    عضو فعال جداً
    الصورة الرمزية العبد لله


    تاريخ التسجيل: Jul 2006
    المشاركات: 369
    Thumbs Up
    Received: 4
    Given: 0
    مجهود كبير جدا الله يبارك فيك

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

    فضلا لا امراً

    خالص الشكر

    0 Not allowed!



  
صفحة 1 من 20 1234511 ... الأخيرةالأخيرة
الكلمات الدلالية لهذا الموضوع

عرض سحابة الكلمة الدلالية

RSS RSS 2.0 XML MAP HTML

Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.