مراجعة Last Renga API

يتم تطوير نظام تصميم مباني وهياكل Renga بنشاط ، ولديه أدوات للمهندسين المعماريين ومصممي KZh و KM ومهندسي VK و OV و EO و ES. مع كل إصدار ، يقوم النظام ، الذي ينقسم الآن إلى Renga Architecture و Renga Structure و Renga MEP ، وسيصبح قريبًا واحدًا ، بتوسيع وظائفه. إلى جانب ذلك ، ينمو ويتغير ، ليصبح أكثر شعبية API. في الواقع ، في Renga يمكنك إنشاء نموذج معلومات لمبنى ، ولكن لا يمكنك (ولا تخطط) للحصول على تصيير جميل ، تقدير لبناء أو حساب خطوط الأنابيب. بالطبع ، يمكنك تصدير النموذج من Renga إلى تنسيقات شائعة مثل OBJ و IFC و STEP وغيرها الكثير ، ولكن من أجل الاستغناء عن الوسطاء وتجنب سوء تفسير البيانات أثناء التصدير / الاستيراد ، من الأفضل العمل من خلال واجهة برمجة التطبيقات.

Renga MEP

في البداية ، عندما نشأ السؤال عن إنشاء 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 API تفاصيل كيفية البدء ، وماذا وكيف تستخدمه. لكننا ما زلنا نقول لك ما تحتاجه لكتابة ملحق لـ Renga.

لذا ، لكتابة ملحق لـ Renga بأي لغة ستحتاج:

  1. Renga وفهم ما تريد أتمتة بالضبط عند العمل مع النظام.
  2. Renga Software Development Kit.
  3. مايكروسوفت Visual Studio. أي إصدار أصغر من 2012.
  4. معرفة أساسيات البرمجة.

يمكنك معرفة المزيد عن نظام 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>
   <!--   Renga API -->
   <RequiredAPIVersion>2.3</RequiredAPIVersion>
   <!--   cpp/net -->        
   <PluginType>Plugin type</PluginType>
   <!--    -->                     
   <PluginFilename>Best_Plugin.dll</PluginFilename> ->
   <Vendor>Renga</Vendor>                           
</RengaPlugin>

لتوصيل الامتداد بـ Renga ، تحتاج إلى تثبيته أو نسخه إلى مجلد تثبيت Renga \ Plugins. يتم عرض المعلومات الموجودة في ملف .rndesc في علامة التبويب ملحقات من نافذة إعدادات Renga.

نحن واثقون من أنه ، مسلحين بالمعرفة المكتسبة ، ومعرفتنا البرمجية ، يمكن لأي مطور أن يكتب امتدادًا لـ Renga. ولكن إذا كانت لديك فكرة لتوسيع Renga ، وهناك مشاكل في تنفيذها ، فقم بالكتابة على المنتدى أو قم بتسجيل طلب في ServiceDesk . نرحب بالأسئلة!

All Articles