يتم تطوير نظام تصميم مباني وهياكل Renga بنشاط ، ولديه أدوات للمهندسين المعماريين ومصممي KZh و KM ومهندسي VK و OV و EO و ES. مع كل إصدار ، يقوم النظام ، الذي ينقسم الآن إلى Renga Architecture و Renga Structure و Renga MEP ، وسيصبح قريبًا واحدًا ، بتوسيع وظائفه. إلى جانب ذلك ، ينمو ويتغير ، ليصبح أكثر شعبية API. في الواقع ، في Renga يمكنك إنشاء نموذج معلومات لمبنى ، ولكن لا يمكنك (ولا تخطط) للحصول على تصيير جميل ، تقدير لبناء أو حساب خطوط الأنابيب. بالطبع ، يمكنك تصدير النموذج من Renga إلى تنسيقات شائعة مثل OBJ و IFC و STEP وغيرها الكثير ، ولكن من أجل الاستغناء عن الوسطاء وتجنب سوء تفسير البيانات أثناء التصدير / الاستيراد ، من الأفضل العمل من خلال واجهة برمجة التطبيقات.
في البداية ، عندما نشأ السؤال عن إنشاء Renga API (بعد إصدار الإصدار الأول من Renga Architecture) ، ركزنا فقط على C ++ API ، بناءً على المتطلبات التي كانت لدينا في ذلك الوقت.مع تطوير Renga ، بدأنا في تلقي أسئلة من المطورين حول ما إذا كان من الممكن الكتابة بلغة C # ولغات أخرى ضمن Renga وإصدارات Visual Studio المدعومة.ثم ، بعد تحليل توفر واجهة برمجة التطبيقات للمستخدمين ، فكرنا في تغيير التكنولوجيا.والحقيقة هي أن C ++ API صعبة للغاية. يعتمد بشكل كبير على المترجم ، أي إذا تم تجميع SDK بواسطة مترجم Visual Studio ، فمن المحتمل أنه لا يمكنك تجميعها باستخدام ، على سبيل المثال ، gcc ، نظرًا لأن إدارة الاسم غير موحدة ، فقد تكون هناك اختلافات في تنفيذ الجداول الافتراضية والقوالب ، إلخ. في Visual Studio نفسه ، قد تكون هناك أيضًا اختلافات في إعدادات الترجمة ودعم المعيار من إصدار إلى إصدار.بشكل عام ، يمكن للمرء أن يعيش مع هذا ، على سبيل المثال ، باستخدام الوظائف الافتراضية إلى الحد الأدنى (ونتيجة لذلك الميراث) ، وعدم استخدام القوالب وإصلاح المعيار المستخدم وبيئة التطوير لفترة معينة من الزمن.بالإضافة إلى ذلك ، يمكننا إنشاء عدة إصدارات من API لبيئات و / أو إصدارات مختلفة من النظام.لكن مع ذلك ، قررنا أن ننظر في الاتجاه الآخر. وبعد البحث ، اختاروا COM.تم تطوير هذا المعيار مرة أخرى في عام 1993 ، أي أنه ليس فقط قديمًا ، ولكنه نجم مميز) ولكنه سمح لنا بتزويد المستخدمين بواجهة برمجة تطبيقات واحدة ، والتي يمكنك من خلالها كتابة المكونات الإضافية في C ++ أو C # أو لغة أخرى متوافقة مع COM ، بالإضافة إلى ذلك ، يمكنك استخدام COM API للوصول إلى Renga من تطبيقات الطرف الثالث ، بما في ذلك تلك المكتوبة بلغات ذات كتابة ديناميكية ، على سبيل المثال ، في Python.
يجب أن أقول أن تعليمات Renga API تفاصيل كيفية البدء ، وماذا وكيف تستخدمه. لكننا ما زلنا نقول لك ما تحتاجه لكتابة ملحق لـ Renga.لذا ، لكتابة ملحق لـ Renga بأي لغة ستحتاج:- Renga وفهم ما تريد أتمتة بالضبط عند العمل مع النظام.
- Renga Software Development Kit.
- مايكروسوفت Visual Studio. أي إصدار أصغر من 2012.
- معرفة أساسيات البرمجة.
يمكنك معرفة المزيد عن نظام Renga وإمكانياته على موقع النظام الإلكتروني ، وفي المساعدة ، وفي مدونة المطورين ، وكذلك في مجموعات على VK و Facebook ، يتم نشر إعلانات وتسجيلات ندوات عبر الإنترنت هناك ، كما يمكنك العثور على مستخدمين حقيقيين للنظام والدردشة معهم. لذلك ، سنحذف نقطة التعارف مع النظام ، ولكننا سنحدد المتطلبات التي يمكن أن تلبيها API الآن.باستخدام واجهة برمجة تطبيقات Renga ، يمكنك:- حدد كائنات في النموذج والتعامل مع حدث اختيار الكائن في Renga ؛
- استقبال وتغيير معلمات الكائن ،
- ;
- ;
- , , ..;
- , ;
- 3D ;
- IFC;
- DWG/DXF;
- , , ,
- , .
- .
في الوقت الحالي ، لا يمكنك إنشاء كائن جديد من واجهة برمجة التطبيقات ، وهذا في الخطط ، ولكن ليس للإصدار التالي.تجدر الإشارة إلى أن واجهة برمجة تطبيقات Renga تتوسع بناءً على طلب المستخدمين ، وإذا لم تكن ترى إمكانات الأتمتة التي تحتاجها في هذه القائمة ، فاتصل بنا وسنناقش فكرتك.إذا واصلنا العمل فقط على واجهة برمجة تطبيقات C ++ ، فمن المرجح أن تكون مجموعة الميزات هي نفسها ، ولكننا على يقين من أنه لن يتم إنشاء جميع ملحقات Renga. بالمناسبة ، يمكنك رؤية قائمة الملحقات المعروفة لنا على الموقع .الآن دعونا نرى ما نقدمه في النهاية لمستخدمينا من حيث API. للحصول على Renga SDK ، ما عليك سوى تنزيله. ولاستخدامه ، يمكنك دراسة واستخدام الأمثلة الموجودة في الأرشيف.
هناك أمثلة في SDK لكتابة ملحقات في C ++ و C # ، بالإضافة إلى أمثلة للاتصال بـ Renga في Python. تسرد تعليمات واجهة برمجة تطبيقات Renga في أقسام كيفية الأمثلة الأمثلة التي تستخدم التقنيات من هذا القسم.توضح أمثلة المكوِّنات الإضافية C ++ و C # تقريبًا جميع ميزات واجهة برمجة التطبيقات ، وستجد في أمثلة Python كيفية استخدامها لإنشاء خاصية مخصصة في Renga من تطبيق تابع لجهة خارجية ، بالإضافة إلى كيفية أتمتة فتح مشروع Renga وحفظه وإغلاقه باستخدام برنامج نصي.في الوقت الحالي ، يمكن لـ Renga تحميل المكونات الإضافية من DLLs الثنائية وتجميعات .NET ، واستخدام اللغات المكتوبة ديناميكيًا مثل Python و VBScript و 1 C وغيرها ، يمكنك الوصول إلى Renga API من برامج الجهات الخارجية للحصول على البيانات اللازمة.بشكل عام ، يسعدنا الانتقال إلى واجهة برمجة تطبيقات COM والفرص التي أتاحتها لمستخدمينا.يجب أن يتكون أي ملحق Renga يتم استدعاؤه من Renga من ملف ثنائي للمكون الإضافي وملف .xml بالملحق .rndesc ، مع المحتويات التالية:<RengaPlugin>
<Name>Best Plugin</Name>
<Version>1.0</Version>
<Copyright>Copyright text</Copyright>
<RequiredAPIVersion>2.3</RequiredAPIVersion>
<PluginType>Plugin type</PluginType>
<PluginFilename>Best_Plugin.dll</PluginFilename> ->
<Vendor>Renga</Vendor>
</RengaPlugin>
لتوصيل الامتداد بـ Renga ، تحتاج إلى تثبيته أو نسخه إلى مجلد تثبيت Renga \ Plugins. يتم عرض المعلومات الموجودة في ملف .rndesc في علامة التبويب ملحقات من نافذة إعدادات Renga.نحن واثقون من أنه ، مسلحين بالمعرفة المكتسبة ، ومعرفتنا البرمجية ، يمكن لأي مطور أن يكتب امتدادًا لـ Renga. ولكن إذا كانت لديك فكرة لتوسيع Renga ، وهناك مشاكل في تنفيذها ، فقم بالكتابة على المنتدى أو قم بتسجيل طلب في ServiceDesk . نرحب بالأسئلة!