1. منتجات
  2.   نذل - وغد
  3.   .NET
  4.   AutoCADCodePack
 
  

مكتبة .NET CAD مجانية لإنشاء وإدارة نماذج AutoCAD ثنائية/ثلاثية الأبعاد

مكتبة C# .NET CAD مفتوحة المصدر رائدة لإنشاء وتحرير ومعالجة وإدارة النماذج ثنائية/ثلاثية الأبعاد والأوامر المخصصة وأتمتة المهام المتكررة عبر واجهة برمجة التطبيقات C# المجانية.

ما هو AutoCADCodePack؟

يُعد AutoCAD أحد أكثر تطبيقات التصميم بمساعدة الحاسوب (CAD) استخدامًا في العالم. يُعرف بتعدد استخداماته وقدرته على إنشاء تصاميم دقيقة ثنائية وثلاثية الأبعاد. ومع ذلك، غالبًا ما تتطلب أتمتة المهام أو توسيع وظائف AutoCAD مهارات برمجة، مما قد يُشكل تحديًا للمطورين. AutoCAD Code Pack هي مكتبة مفتوحة المصدر مصممة لتبسيط تطوير مكونات AutoCAD الإضافية باستخدام واجهة برمجة تطبيقات AutoCAD .NET. من خلال إعادة تغليف الفئات المعقدة والقديمة في وحدات ووظائف ثابتة سهلة الاستخدام، تُقدم AutoCAD ميزات C# حديثة مثل تعبيرات LINQ وLambda لتطوير AutoCAD، مما قد يُقلل طول الكود بأكثر من النصف.

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

Previous Next

البدء باستخدام AutoCAD CodePack

الطريقة المُوصى بها لتثبيت مكتبة AutoCAD CodePack هي استخدام GitHub. يُرجى استخدام الأمر التالي لتثبيت سلس.

استنساخ مستودع AutoCADCodePack على GitHub

git clone https://github.com/luanshixia/AutoCADCodePack.git 

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

إنشاء إضافة أساسية لبرنامج أوتوكاد

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

كيفية إنشاء أمر دائرة باستخدام مكتبة C# .NET؟

using Autodesk.AutoCAD.Runtime;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.Geometry;
using AutoCADCodePack;

public class MyAutoCADPlugin
{
    [CommandMethod("DrawMyCircle")]
    public static void DrawMyCircle()
    {
        // Prompt user for a point
        var point = Interaction.GetPoint("\nSelect circle center:");

        // Create a new circle with a radius of 50
        var circle = new Circle(point, Vector3d.ZAxis, 50);

        // Add circle to the drawing
        Draw.Add(circle);
    }
}

تعديل كيانات CAD الحالية عبر .NET

تُسهّل مكتبة AutoCADCodePack مفتوحة المصدر على مطوري البرامج تحميل وتعديل نماذج AutoCAD الحالية وكياناتها داخل تطبيقات .NET. يمكن لمطوري البرامج تعديل كيانات AutoCAD الحالية بسهولة باستخدام وحدة التعديل. إليك مثال بسيط يوضح كيفية تطبيق التغييرات على نصف قطر جميع الدوائر المحددة باستخدام أوامر .NET.

كيفية تعديل الكيانات الموجودة في نموذج CAD داخل تطبيقات .NET؟
[CommandMethod("ResizeCircles")]
public static void ResizeCircles()
{
    var ids = Interaction.GetSelection("\nSelect circles", "CIRCLE");
    
    ids.QForEach(circle =>
    {
        circle.Radius += 10; // Increase radius by 10 units
    });
}

معالجة أفضل للأخطاء

تتضمن مكتبة AutoCADCodePack آليات معالجة أخطاء فعّالة، مما يضمن سلاسة عمل الكود حتى في حال ظهور مشاكل غير متوقعة. توفر المكتبة جميع الوظائف الأساسية لتطوير إضافات AutoCAD. إليك مثال يوضح كيفية محاولة الكود إنشاء دائرة بنصف قطر غير صحيح. يتم اكتشاف الخطأ وعرضه في سطر الأوامر.

كيف يمكن إنشاء دائرة بنصف قطر غير صحيح عبر مكتبة .NET؟

using AutoCADCodePack;

public class ErrorHandlingExample
{
    [CommandMethod("SAFECOMMAND")]
    public void SafeCommand()
    {
        try
        {
            // Attempt to execute a risky operation
            EntityHelper.CreateCircle(new Point3d(0, 0, 0), -10); // Invalid radius
        }
        catch (Exception ex)
        {
            EditorHelper.WriteMessage($"Error: {ex.Message}");
        }
    }
}
 عربي