Tinjauan API Renga Terakhir

Sistem untuk desain bangunan dan struktur Renga sedang dikembangkan secara aktif, ia memiliki alat untuk arsitek, desainer KZh dan KM, insinyur VK, OV, EO dan ES. Dengan setiap versi, sistem, yang sekarang dibagi menjadi Arsitektur Renga, Struktur Renga, dan Renga MEP, dan akan segera menjadi satu, membangun fungsionalitas. Seiring dengan ini, ia tumbuh dan berubah, menjadi API yang semakin populer. Memang, di Renga Anda dapat membuat model informasi bangunan, tetapi Anda tidak dapat (dan tidak merencanakan) untuk mendapatkan render yang indah, perkiraan untuk konstruksi atau perhitungan saluran pipa. Tentu saja, Anda dapat mengekspor model dari Renga ke format umum seperti OBJ, IFC, STEP dan banyak lainnya, tetapi untuk melakukannya tanpa perantara dan menghindari kemungkinan salah menafsirkan data selama ekspor / impor, lebih baik bertindak melalui API.

Renga MEP

Awalnya, ketika muncul pertanyaan untuk membuat Renga API (setelah rilis versi pertama Arsitektur Renga), kami hanya berfokus pada C ++ API, berdasarkan pada persyaratan yang kami miliki saat itu.

Ketika Renga berkembang, kami mulai menerima pertanyaan dari pengembang tentang apakah mungkin untuk menulis dalam C # dan bahasa lain di bawah Renga dan versi Visual Studio mana yang didukung.

Kemudian, setelah menganalisis ketersediaan API untuk pengguna, kami berpikir untuk mengubah teknologinya.

Faktanya adalah bahwa C ++ API cukup tangguh. Ini sangat tergantung pada kompiler, mis. jika SDK dikompilasi oleh kompiler Visual Studio, maka Anda mungkin tidak dapat mengkompilasinya menggunakan, misalnya, gcc, karena nama mangling tidak terstandarisasi, mungkin ada perbedaan dalam implementasi tabel virtual, templat, dll. Dalam Visual Studio itu sendiri, mungkin ada juga perbedaan dalam pengaturan kompilasi dan dukungan untuk standar dari versi ke versi.

Secara umum, seseorang dapat hidup dengan ini, misalnya, menggunakan fungsi virtual seminimal mungkin (dan sebagai akibatnya warisan), tanpa menggunakan templat dan memperbaiki standar yang digunakan dan lingkungan pengembangan untuk jangka waktu tertentu.

Selain itu, kami dapat membuat beberapa versi API untuk berbagai lingkungan dan / atau versi sistem.
Tapi tetap saja, kami memutuskan untuk melihat ke arah lain. Dan setelah penelitian, mereka memilih COM.
Standar ini dikembangkan kembali pada tahun 1993, yaitu, ini bukan hanya tua, tetapi superstar) Tetapi itu memungkinkan kami untuk menyediakan pengguna dengan satu API, menggunakan yang Anda dapat menulis plugin dalam C ++, C # atau bahasa lain yang kompatibel dengan COM, di samping itu, Anda dapat menggunakan COM API untuk mengakses ke Renga dari aplikasi pihak ketiga, termasuk yang ditulis dalam bahasa dengan pengetikan dinamis, misalnya, dengan Python.

Bantuan Renga API

Saya harus mengatakan bahwa Renga API Help merinci cara memulai, apa dan bagaimana menggunakannya. Tapi kami masih memberi tahu Anda apa yang Anda butuhkan untuk menulis ekstensi untuk Renga.

Jadi, untuk menulis ekstensi untuk Renga dalam bahasa apa pun Anda perlu:

  1. Renga dan pahami apa yang sebenarnya ingin Anda otomatisasi saat bekerja dengan sistem.
  2. Kit Pengembangan Perangkat Lunak Renga.
  3. Microsoft Visual Studio. Versi apa pun yang lebih muda dari 2012.
  4. Pengetahuan tentang dasar-dasar pemrograman.

Anda dapat mengetahui tentang sistem Renga dan kemampuannya di situs web sistem , dalam bantuan , di blog pengembang , serta dalam grup di VK dan Facebook , pengumuman dan rekaman webinar diposting di sana, Anda juga dapat menemukan pengguna nyata sistem dan mengobrol dengan mereka. Oleh karena itu, kami akan menghilangkan titik perkenalan dengan sistem, tetapi kami akan menentukan persyaratan apa yang sekarang dapat dipenuhi oleh API.

Menggunakan Renga API, Anda dapat:

  • pilih objek dalam model dan menangani acara pemilihan objek di Renga;
  • menerima dan mengubah parameter objek,
  • ;
  • ;
  • , , ..;
  • , ;
  • 3D ;
  • IFC;
  • DWG/DXF;
  • , , ,
  • , .
  • .

Saat ini, Anda tidak dapat membuat objek baru dari API, ini ada dalam rencana, tetapi tidak untuk rilis berikutnya.

Perlu dicatat bahwa Renga API berkembang atas permintaan pengguna, dan jika Anda tidak melihat kemampuan otomatisasi yang Anda butuhkan dalam daftar ini, hubungi kami dan kami akan mendiskusikan ide Anda.

Jika kami terus bekerja hanya pada C ++ API, serangkaian fitur kemungkinan besar akan sama, tetapi kami hampir yakin bahwa tidak semua ekstensi Renga akan lahir. Omong-omong, Anda dapat melihat daftar ekstensi yang kami ketahui di situs .

Sekarang mari kita lihat apa yang pada akhirnya kami tawarkan kepada pengguna kami dalam hal API. Untuk mendapatkan Renga SDK, Anda hanya perlu mengunduhnya. Dan untuk menggunakannya Anda dapat mempelajari dan menggunakan contoh-contoh yang ada di arsip.

gambar

Ada contoh dalam SDK untuk menulis ekstensi dalam C ++ dan C #, serta contoh menghubungkan ke Renga dengan Python. Bantuan Renga API di bagian Cara Ke mencantumkan contoh yang menggunakan teknik dari bagian ini.

Contoh plugin C ++ dan C # menunjukkan hampir semua fitur API, dalam contoh Python Anda akan menemukan cara menggunakannya untuk membuat properti kustom di Renga dari aplikasi pihak ketiga, serta cara mengotomatiskan pembukaan, penyimpanan, dan penutupan proyek Renga menggunakan skrip.

Saat ini, Renga dapat memuat plugin dari C ++ binary DLLs dan .NET assemblies, dan menggunakan bahasa yang diketik secara dinamis seperti Python, VBScript, 1C dan lainnya, Anda dapat mengakses Renga API dari program pihak ketiga untuk mendapatkan data yang diperlukan.
Secara umum, kami senang dengan transisi ke COM API dan peluang yang telah dibuka untuk pengguna kami.

Setiap ekstensi Renga yang dipanggil dari Renga harus terdiri dari file biner untuk plugin dan file xml dengan ekstensi .rndesc, dengan konten berikut:

<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>

Untuk menghubungkan ekstensi ke Renga Anda harus menginstal atau menyalinnya ke folder instalasi Renga \ Plugins. Informasi yang terkandung dalam file .rndesc ditampilkan di tab Ekstensi di jendela Pengaturan Renga.

Kami yakin bahwa, dengan pengetahuan yang diperoleh, dan pengetahuan pemrograman kami, pengembang mana pun dapat menulis ekstensi untuk Renga. Tetapi jika Anda memiliki gagasan untuk memperluas Renga, dan ada masalah dengan implementasinya, tulis di forum atau daftarkan permintaan di ServiceDesk . Kami menerima pertanyaan!

All Articles