<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: AutoCAD Plugin Development by Example in AutoCAD Forum</title>
    <link>https://forums.autodesk.com/t5/autocad-forum/autocad-plugin-development-by-example/m-p/7609804#M199413</link>
    <description>&lt;P&gt;CUIX files contain UI definitions like menus, and toolbars. A CUIX has the same binary format as a ZIP file. You can unzip it's contents with WinZIP or 7Zip etc. It contains a bunch of .cui files which are XML-formatted UI definition files. AutoCAD loads and parses them to build it's UI.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;ARX, DBX and CRX files are unmanaged C++ modules. Technically they are identical to unmanaged (!) DLL files. While ARX files implement AutoCAD commands, DBX files are so-called "ObjectEnablers" that implement special entity classes. They can also implement various "reactors" that respond to various events. They may depend on ther unmanaged DLLs. There are different loading mechanisms: On AutoCAD startup / On Command start / On custom entity detection / By ARXLOAD. These can be defined via registry.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Managed DLL modules can be developed in any .NET language like C# or VB.NET. They can implement the same functions as ARX files. Both options - managed or unmanaged - offer more or less the same functionality.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;AutoCAD itself is written in C++. The .NET API consists of "Wrappers" to the C++ API. You can download the ObjectARX SDK (which also contains .NET development SDK) and documentation from the &lt;A href="http://usa.autodesk.com/adsk/servlet/index?siteID=123112&amp;amp;id=1911627" target="_blank"&gt;Autodesk Developer Network&lt;/A&gt;. For details I would recommend the Autodesk forums &lt;A href="https://forums.autodesk.com/t5/objectarx/bd-p/34" target="_blank"&gt;ObjectARX&lt;/A&gt; for C++ and&amp;nbsp;&lt;A href="https://forums.autodesk.com/t5/net/bd-p/152" target="_blank"&gt;.NET&lt;/A&gt; for .NET development.&lt;/P&gt;</description>
    <pubDate>Fri, 08 Dec 2017 22:42:35 GMT</pubDate>
    <dc:creator>tbrammer</dc:creator>
    <dc:date>2017-12-08T22:42:35Z</dc:date>
    <item>
      <title>AutoCAD Plugin Development by Example</title>
      <link>https://forums.autodesk.com/t5/autocad-forum/autocad-plugin-development-by-example/m-p/7608707#M199412</link>
      <description>&lt;P&gt;I am interested in developing an AutoCAD plugin and am trying to understand the relationships between several different types of AutoCAD plugin files:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Managed DLLs that ship with AutoCAD plugins&lt;/LI&gt;&lt;LI&gt;ARX files that ship with AutoCAD plugins&lt;/LI&gt;&lt;LI&gt;CUIX files that ship with AutoCAD plugins&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;From what I can tell these three files are all inter-related and work together to initialize and load a plugin, I'm just not seeing the &lt;EM&gt;forest through the trees&lt;/EM&gt;&amp;nbsp;as to what information each file type contains, which files loads or depends on the others, etc.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;It &lt;EM&gt;sounds&lt;/EM&gt;&amp;nbsp;like a plugin's core functionality is supposed to go inside the ARX file, and written in C++ and compiled for the native/target platform.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;It also &lt;EM&gt;sounds&lt;/EM&gt;&amp;nbsp;like, at startup, AutoCAD loads its plugin DLLs, which are all managed .NET libraries (typically written in C#), and in turn they invoke their native/compiled respective ARX files. As to where the CUIX file comes into play, I still have no idea.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Can anyone help explain the relatioships &amp;amp; dependencies of these files, and what types of code/logic/data goes inside of them?&lt;/STRONG&gt;&amp;nbsp;Thanks in advance!&lt;/P&gt;</description>
      <pubDate>Fri, 08 Dec 2017 16:01:42 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/autocad-forum/autocad-plugin-development-by-example/m-p/7608707#M199412</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2017-12-08T16:01:42Z</dc:date>
    </item>
    <item>
      <title>Re: AutoCAD Plugin Development by Example</title>
      <link>https://forums.autodesk.com/t5/autocad-forum/autocad-plugin-development-by-example/m-p/7609804#M199413</link>
      <description>&lt;P&gt;CUIX files contain UI definitions like menus, and toolbars. A CUIX has the same binary format as a ZIP file. You can unzip it's contents with WinZIP or 7Zip etc. It contains a bunch of .cui files which are XML-formatted UI definition files. AutoCAD loads and parses them to build it's UI.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;ARX, DBX and CRX files are unmanaged C++ modules. Technically they are identical to unmanaged (!) DLL files. While ARX files implement AutoCAD commands, DBX files are so-called "ObjectEnablers" that implement special entity classes. They can also implement various "reactors" that respond to various events. They may depend on ther unmanaged DLLs. There are different loading mechanisms: On AutoCAD startup / On Command start / On custom entity detection / By ARXLOAD. These can be defined via registry.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Managed DLL modules can be developed in any .NET language like C# or VB.NET. They can implement the same functions as ARX files. Both options - managed or unmanaged - offer more or less the same functionality.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;AutoCAD itself is written in C++. The .NET API consists of "Wrappers" to the C++ API. You can download the ObjectARX SDK (which also contains .NET development SDK) and documentation from the &lt;A href="http://usa.autodesk.com/adsk/servlet/index?siteID=123112&amp;amp;id=1911627" target="_blank"&gt;Autodesk Developer Network&lt;/A&gt;. For details I would recommend the Autodesk forums &lt;A href="https://forums.autodesk.com/t5/objectarx/bd-p/34" target="_blank"&gt;ObjectARX&lt;/A&gt; for C++ and&amp;nbsp;&lt;A href="https://forums.autodesk.com/t5/net/bd-p/152" target="_blank"&gt;.NET&lt;/A&gt; for .NET development.&lt;/P&gt;</description>
      <pubDate>Fri, 08 Dec 2017 22:42:35 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/autocad-forum/autocad-plugin-development-by-example/m-p/7609804#M199413</guid>
      <dc:creator>tbrammer</dc:creator>
      <dc:date>2017-12-08T22:42:35Z</dc:date>
    </item>
  </channel>
</rss>

