{"id":415472,"date":"2024-06-30T00:23:21","date_gmt":"2024-06-30T00:23:21","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=415472"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=415472","title":{"rendered":"<span>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u043c\u0435\u043d\u044e, \u043f\u0430\u043d\u0435\u043b\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0438 \u043b\u0435\u043d\u0442\u044b \u0432 \u041f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435 nanoCAD<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u0412 \u041f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435 nanoCAD \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u043d\u043e\u0432\u044b\u0435 \u043f\u0443\u043d\u043a\u0442\u044b \u043c\u0435\u043d\u044e, \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u043f\u0430\u043d\u0435\u043b\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 (Toolbar) \u2013 (\u0440\u0438\u0441.\u00a01) \u0438 \u043b\u0435\u043d\u0442\u044b (Ribbon) \u2013 (\u0440\u0438\u0441.\u00a02). \u0412\u0441\u0435 \u043a\u043d\u043e\u043f\u043a\u0438 \u0432 \u043c\u0435\u043d\u044e, \u043f\u0430\u043d\u0435\u043b\u044f\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0438 \u043b\u0435\u043d\u0442\u0430\u0445 \u0441\u0432\u044f\u0437\u0430\u043d\u044b \u0441 \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u043c\u0438. \u041c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u0441\u0432\u043e\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u044b, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0435 API nanoCAD. \u041a\u043e\u043c\u0430\u043d\u0434\u044b \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0432 DLL-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u0442\u0430\u043d\u043e\u0432\u044f\u0442\u0441\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0432 \u041f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443.<\/p>\n<p>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u043c\u0435\u043d\u044e \u0438 \u043f\u0430\u043d\u0435\u043b\u0435\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043b\u0435\u043d\u0442\u044b \u043c\u043e\u0436\u0435\u0442 \u0432\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0448\u0430\u0433\u0438:<\/p>\n<ul>\n<li>\n<p>\u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 DLL-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0441 \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u043c\u0438;<\/p>\n<\/li>\n<li>\n<p>\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043c\u0435\u043d\u044e;<\/p>\n<\/li>\n<li>\n<p>\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u0430\u043d\u0435\u043b\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432;<\/p>\n<\/li>\n<li>\n<p>\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043b\u0435\u043d\u0442\u044b;<\/p>\n<\/li>\n<li>\n<p>\u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0438\u043a\u043e\u043d\u043e\u043a \u0432 \u043c\u0435\u043d\u044e, \u043f\u0430\u043d\u0435\u043b\u044c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0438 \u0432 \u043b\u0435\u043d\u0442\u0443;<\/p>\n<\/li>\n<li>\n<p>\u0438\u043a\u043e\u043d\u043a\u0438 \u0434\u043b\u044f \u0442\u0435\u043c\u043d\u043e\u0439 \u0438 \u0441\u0432\u0435\u0442\u043b\u043e\u0439 \u0441\u0445\u0435\u043c\u044b;<\/p>\n<\/li>\n<li>\n<p>\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u043d\u043e\u0439 DLL \u0441 \u0438\u043a\u043e\u043d\u043a\u0430\u043c\u0438;<\/p>\n<\/li>\n<li>\n<p>\u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043c\u0435\u043d\u044e, \u043f\u0430\u043d\u0435\u043b\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432, \u043b\u0435\u043d\u0442\u044b.<\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/bd2\/ffc\/653\/bd2ffc653de64f289cf726ffb19cec69.png\" alt=\"\u0420\u0438\u0441. 1\" title=\"\u0420\u0438\u0441. 1\" width=\"1019\" height=\"393\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/bd2\/ffc\/653\/bd2ffc653de64f289cf726ffb19cec69.png\"\/><figcaption>\u0420\u0438\u0441. 1<\/figcaption><\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/ed9\/96e\/9ef\/ed996e9ef10fcb485504f924399e023e.png\" alt=\"\u0420\u0438\u0441. 2\" title=\"\u0420\u0438\u0441. 2\" width=\"1357\" height=\"322\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/ed9\/96e\/9ef\/ed996e9ef10fcb485504f924399e023e.png\"\/><figcaption>\u0420\u0438\u0441. 2<\/figcaption><\/figure>\n<h2>\u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 DLL-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0441 \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u043c\u0438<\/h2>\n<p>\u0417\u0430 \u043b\u044e\u0431\u043e\u0439 \u043a\u043d\u043e\u043f\u043a\u043e\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u041f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b nanoCAD \u0441\u0442\u043e\u0438\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0442\u0435 \u0438\u043b\u0438 \u0438\u043d\u044b\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b API nanoCAD, \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043c\u043e\u0436\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u043d\u0430\u0431\u043e\u0440\u044b \u043a\u043e\u043c\u0430\u043d\u0434. \u041a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043d\u0430\u0446\u0435\u043b\u0435\u043d\u0430 \u043d\u0430 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0441 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 DLL-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u0442\u0430\u043d\u0443\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u041f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b nanoCAD. \u0414\u043b\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u043c \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u044b \u0441\u0432\u043e\u0438 \u043a\u043d\u043e\u043f\u043a\u0438 \u0432 \u043c\u0435\u043d\u044e, \u043f\u0430\u043d\u0435\u043b\u044f\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0438 \u0432 \u043b\u0435\u043d\u0442\u0435.<\/p>\n<p>\u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043a\u043e\u0434 \u0434\u043e\u043b\u0436\u0435\u043d \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b (\u0430\u0442\u0440\u0438\u0431\u0443\u0442 <em>CommandMethod<\/em>).<\/p>\n<p>\u041b\u0438\u0441\u0442\u0438\u043d\u0433 <em>MyApplication.dll<\/em> (\u0438\u043c\u0435\u043d\u0430 \u043a\u043e\u043c\u0430\u043d\u0434 \u2013 <em>HelloHost_Example1<\/em><br \/> \u0438 <em>HelloHost_Example2<\/em>):<\/p>\n<pre><code class=\"cs\">...   public class HelloHost     {       [CommandMethod(\"HelloHost_Example1\")]       public void Template1()       {          ...       }       ...       [CommandMethod(\"HelloHost_Example2\")]       public void Template2()       {          ...       }     }   ...<\/code><\/pre>\n<p>\u041f\u043e\u043b\u043d\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u043a\u043e\u0434\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442\u0441\u044f \u0432 <a href=\"https:\/\/developer.nanocad.ru\/\">SDK<\/a>:<\/p>\n<p><code>\\SDK\\samples\\Mgd\\HelloHost\\HelloHost.cs<\/code><\/p>\n<h2>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043c\u0435\u043d\u044e<\/h2>\n<p>\u041f\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 (\u041d\u041f\u0418): <em>\u0421\u0435\u0440\u0432\u0438\u0441<\/em> \u2192 <em>\u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441<\/em> \u2192 <em>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430<\/em> \u043b\u0438\u0431\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 <em>INTERFACE<\/em> \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 nanoCAD (\u0440\u0438\u0441.\u00a03).<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/267\/b92\/bde\/267b92bde0d4d12c835c1e92fd460a3c.png\" alt=\"\u0420\u0438\u0441. 3\" title=\"\u0420\u0438\u0441. 3\" width=\"930\" height=\"657\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/267\/b92\/bde\/267b92bde0d4d12c835c1e92fd460a3c.png\"\/><figcaption>\u0420\u0438\u0441. 3<\/figcaption><\/figure>\n<p>\u0414\u043b\u044f \u043a\u0430\u0441\u0442\u043e\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u043c\u0435\u043d\u044e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0444\u0430\u0439\u043b, \u0435\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c (\u0440\u0438\u0441.\u00a04).<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/a22\/baa\/236\/a22baa236ada7bfb0ccb0bc8a088149d.png\" alt=\"\u0420\u0438\u0441. 4\" title=\"\u0420\u0438\u0441. 4\" width=\"927\" height=\"626\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/a22\/baa\/236\/a22baa236ada7bfb0ccb0bc8a088149d.png\"\/><figcaption>\u0420\u0438\u0441. 4<\/figcaption><\/figure>\n<p>\u041f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u0441\u044c \u043d\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b, \u0432\u044b\u0431\u0440\u0430\u0432 \u0435\u0433\u043e \u0438\u0437 \u0432\u044b\u043f\u0430\u0434\u0430\u044e\u0449\u0435\u0433\u043e \u0441\u043f\u0438\u0441\u043a\u0430 (\u0440\u0438\u0441.\u00a05).<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/64e\/b35\/c83\/64eb35c834ab675396e692b250b01124.png\" alt=\"\u0420\u0438\u0441. 5\" title=\"\u0420\u0438\u0441. 5\" width=\"930\" height=\"657\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/64e\/b35\/c83\/64eb35c834ab675396e692b250b01124.png\"\/><figcaption>\u0420\u0438\u0441. 5<\/figcaption><\/figure>\n<p>\u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u043c\u0435\u043d\u044e \u0432\u0435\u0440\u0445\u043d\u0435\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f (\u043f\u0440\u0430\u0432\u0430\u044f \u043a\u043d\u043e\u043f\u043a\u0430 \u043c\u044b\u0448\u0438 (\u041f\u041a\u041c) \u2192 \u0432\u043a\u043b\u0430\u0434\u043a\u0430 <em>\u0413\u043b\u0430\u0432\u043d\u043e\u0435 \u043c\u0435\u043d\u044e<\/em>) \u0432\u00a0\u0441\u043e\u0437\u0434\u0430\u043d\u043d\u043e\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u043c \u0444\u0430\u0439\u043b\u0435 (\u0440\u0438\u0441.\u00a06).<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/0e0\/1eb\/c9a\/0e01ebc9ac3a7142f641fdc8aec4c702.png\" alt=\"\u0420\u0438\u0441. 6\" title=\"\u0420\u0438\u0441. 6\" width=\"928\" height=\"656\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/0e0\/1eb\/c9a\/0e01ebc9ac3a7142f641fdc8aec4c702.png\"\/><figcaption>\u0420\u0438\u0441. 6<\/figcaption><\/figure>\n<p>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0434\u043e\u043b\u0436\u0435\u043d \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u0442\u0430\u043a, \u043a\u0430\u043a \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0430 \u0440\u0438\u0441.\u00a07.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/96e\/4f4\/741\/96e4f4741f8dfd4beef22c7ffe81f91e.png\" alt=\"\u0420\u0438\u0441. 7\" title=\"\u0420\u0438\u0441. 7\" width=\"930\" height=\"657\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/96e\/4f4\/741\/96e4f4741f8dfd4beef22c7ffe81f91e.png\"\/><figcaption>\u0420\u0438\u0441. 7<\/figcaption><\/figure>\n<p>\u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434 <em>HelloHost_Example1<\/em> \u0438 <em>HelloHost_Example2<\/em> (\u041f\u041a\u041c \u2192 <em>\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u0443<\/em>). \u041a\u043e\u043c\u0430\u043d\u0434\u044b \u0431\u0443\u0434\u0443\u0442 \u0432\u044b\u0437\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u043f\u0443\u043d\u043a\u0442\u0430\u0445 \u043c\u0435\u043d\u044e (\u0440\u0438\u0441.\u00a08).<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/5b9\/696\/a9d\/5b9696a9deea5f17b80d6ee27d44bb61.png\" alt=\"\u0420\u0438\u0441. 8\" title=\"\u0420\u0438\u0441. 8\" width=\"927\" height=\"655\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/5b9\/696\/a9d\/5b9696a9deea5f17b80d6ee27d44bb61.png\"\/><figcaption>\u0420\u0438\u0441. 8<\/figcaption><\/figure>\n<p>\u041f\u043e\u043b\u0435 <em>\u0412\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0435 \u0438\u043c\u044f<\/em> \u0434\u043e\u043b\u0436\u043d\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0442\u043e\u0447\u043d\u043e\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b, \u043a\u0430\u043a \u0432 DLL-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 (\u0440\u0438\u0441.\u00a09, 10).<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/234\/f9e\/844\/234f9e844c253cf67ba19dee809ea8e3.png\" alt=\"\u0420\u0438\u0441.9 \u041a\u043e\u043c\u0430\u043d\u0434\u0430 HelloHost_Example1\" title=\"\u0420\u0438\u0441.9 \u041a\u043e\u043c\u0430\u043d\u0434\u0430 HelloHost_Example1\" width=\"386\" height=\"355\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/234\/f9e\/844\/234f9e844c253cf67ba19dee809ea8e3.png\"\/><figcaption>\u0420\u0438\u0441.9 \u041a\u043e\u043c\u0430\u043d\u0434\u0430 HelloHost_Example1<\/figcaption><\/figure>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/317\/c6b\/f8d\/317c6bf8dbca63e3eeab0ac5c0e55136.png\" alt=\"\u0420\u0438\u0441. 10 \u041a\u043e\u043c\u0430\u043d\u0434\u0430 HelloHost_Example2\" title=\"\u0420\u0438\u0441. 10 \u041a\u043e\u043c\u0430\u043d\u0434\u0430 HelloHost_Example2\" width=\"386\" height=\"356\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/317\/c6b\/f8d\/317c6bf8dbca63e3eeab0ac5c0e55136.png\"\/><figcaption>\u0420\u0438\u0441. 10 \u041a\u043e\u043c\u0430\u043d\u0434\u0430 HelloHost_Example2<\/figcaption><\/figure>\n<p>\u0414\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u043f\u0443\u043d\u043a\u0442\u044b \u043c\u0435\u043d\u044e, \u0432\u044b\u0437\u044b\u0432\u0430\u044e\u0449\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b <em>HelloHost_Example1<\/em> \u0438 <em>HelloHost_Example2<\/em> (\u0440\u0438\u0441.\u00a011).<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/029\/760\/791\/029760791d5129032804dd07acce49df.png\" width=\"927\" height=\"654\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/029\/760\/791\/029760791d5129032804dd07acce49df.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u0435 \u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b.<\/p>\n<p>\u041f\u0440\u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438 \u041f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 \u043f\u043e\u043f\u0440\u043e\u0441\u0438\u0442 \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0444\u0430\u0439\u043b \u2013 \u043d\u0443\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0439 \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u043c\u0435\u043d\u044e: <em>MyMenuConfig.cfg<\/em> (\u0440\u0438\u0441.\u00a012).<\/p>\n<p>\u0414\u043b\u044f \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043d\u043e\u0432\u044b\u0445 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0435 \u041f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 nanoCAD \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/7d6\/e33\/a90\/7d6e33a9070abf69e887c8e1a927c5a9.png\" alt=\"\u0420\u0438\u0441. 12\" title=\"\u0420\u0438\u0441. 12\" width=\"928\" height=\"654\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/7d6\/e33\/a90\/7d6e33a9070abf69e887c8e1a927c5a9.png\"\/><figcaption>\u0420\u0438\u0441. 12<\/figcaption><\/figure>\n<p>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0442\u0430\u043a\u0438\u043c, \u043a\u0430\u043a \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0430 \u0440\u0438\u0441.\u00a013.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/fb6\/328\/8fd\/fb63288fd81e3e0793420937b7ae4fba.png\" alt=\"\u0420\u0438\u0441. 13\" title=\"\u0420\u0438\u0441. 13\" width=\"1076\" height=\"135\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/fb6\/328\/8fd\/fb63288fd81e3e0793420937b7ae4fba.png\"\/><figcaption>\u0420\u0438\u0441. 13<\/figcaption><\/figure>\n<p><strong>\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435.<\/strong> \u0422\u0430\u043a \u043a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u043e\u0435 \u043c\u0435\u043d\u044e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0438\u0437 DLL-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438, \u0435\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u0442\u043e \u0435\u0441\u0442\u044c \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c DLL \u0432 \u0441\u043f\u0438\u0441\u043e\u043a \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439.<\/p>\n<h2>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u0430\u043d\u0435\u043b\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 <\/h2>\n<p>\u041f\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 (\u041d\u041f\u0418): <em>\u0421\u0435\u0440\u0432\u0438\u0441<\/em> \u2192 <em>\u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441<\/em> \u2192 <em>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430<\/em> <em>\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430<\/em> \u043b\u0438\u0431\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 <em>INTERFACE<\/em> \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 nanoCAD. \u0412\u043a\u043b\u0430\u0434\u043a\u0430 <em>\u041f\u0430\u043d\u0435\u043b\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432<\/em>.<\/p>\n<p>\u0412 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0440\u0430\u043d\u0435\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0439 \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u044b\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b.<\/p>\n<p>\u0414\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u043f\u0430\u043d\u0435\u043b\u044c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 (\u0449\u0435\u043b\u0447\u043e\u043a \u041f\u041a\u041c \u0432 \u043e\u043a\u043d\u0435 \u0432\u043a\u043b\u0430\u0434\u043a\u0438 <em>\u041f\u0430\u043d\u0435\u043b\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432<\/em>) \u0438 \u0443\u043a\u0430\u0436\u0438\u0442\u0435 \u043d\u0443\u0436\u043d\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0432 \u043e\u043a\u043d\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u0430\u043d\u0435\u043b\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 (\u0440\u0438\u0441.\u00a014).<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/956\/f58\/5de\/956f585def251406ad7dd2a901bbe488.png\" alt=\"\u0420\u0438\u0441. 14\" title=\"\u0420\u0438\u0441. 14\" width=\"928\" height=\"657\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/956\/f58\/5de\/956f585def251406ad7dd2a901bbe488.png\"\/><figcaption>\u0420\u0438\u0441. 14<\/figcaption><\/figure>\n<p>\u0414\u043b\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u043f\u0435\u0440\u0432\u043e\u0439 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0443 <em>\u0420\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u0438\u0435<\/em> \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0437\u043d\u0430\u0447\u0438\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 <em>\u0421\u0432\u0435\u0440\u0445\u0443<\/em> (\u0440\u0438\u0441.\u00a015).<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/bf3\/9fb\/d6d\/bf39fbd6d065a260a423e27e0d6266ac.png\" alt=\"\u0420\u0438\u0441. 15\" title=\"\u0420\u0438\u0441. 15\" width=\"932\" height=\"660\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/bf3\/9fb\/d6d\/bf39fbd6d065a260a423e27e0d6266ac.png\"\/><figcaption>\u0420\u0438\u0441. 15<\/figcaption><\/figure>\n<p>\u0414\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u043a\u043d\u043e\u043f\u043a\u0438 \u043d\u0430 \u043f\u0430\u043d\u0435\u043b\u044c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u2013 \u043e\u043d\u0438 \u0431\u0443\u0434\u0443\u0442 \u0432\u044b\u0437\u044b\u0432\u0430\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0438\u0437 DLL-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f (\u0440\u0438\u0441.\u00a016).<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/105\/e2e\/88f\/105e2e88fa5e2a3849596f50bad7ec85.png\" alt=\"\u0420\u0438\u0441. 16\" title=\"\u0420\u0438\u0441. 16\" width=\"929\" height=\"657\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/105\/e2e\/88f\/105e2e88fa5e2a3849596f50bad7ec85.png\"\/><figcaption>\u0420\u0438\u0441. 16<\/figcaption><\/figure>\n<p>\u041f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u043d\u0430 \u0440\u0438\u0441.\u00a017.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/802\/97e\/024\/80297e024b9c5b2cb17641a28fe6e986.png\" alt=\"\u0420\u0438\u0441. 17\" title=\"\u0420\u0438\u0441. 17\" width=\"932\" height=\"660\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/802\/97e\/024\/80297e024b9c5b2cb17641a28fe6e986.png\"\/><figcaption>\u0420\u0438\u0441. 17<\/figcaption><\/figure>\n<p>\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u0435 \u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b. \u0415\u0441\u043b\u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u0443\u0436\u0435 \u0431\u044b\u043b \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d \u0440\u0430\u043d\u0435\u0435, \u043f\u0443\u043d\u043a\u0442 2 (\u0441\u043c. \u0440\u0438\u0441.\u00a018) \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/383\/3ba\/a55\/3833baa55a6c500b0e69d92e24564de3.png\" alt=\"\u0420\u0438\u0441. 18\" title=\"\u0420\u0438\u0441. 18\" width=\"928\" height=\"654\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/383\/3ba\/a55\/3833baa55a6c500b0e69d92e24564de3.png\"\/><figcaption>\u0420\u0438\u0441. 18<\/figcaption><\/figure>\n<p>\u0414\u043b\u044f \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043d\u043e\u0432\u044b\u0445 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0435 \u041f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 nanoCAD \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e.<\/p>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043f\u0430\u043d\u0435\u043b\u044c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044f \u0441 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u043c\u0438 \u0438\u043a\u043e\u043d\u043a\u0430\u043c\u0438 (\u0440\u0438\u0441.\u00a019).<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/a74\/737\/fe8\/a74737fe81488055cb430d3cf3927c16.png\" alt=\"\u0420\u0438\u0441. 19\" title=\"\u0420\u0438\u0441. 19\" width=\"1017\" height=\"156\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/a74\/737\/fe8\/a74737fe81488055cb430d3cf3927c16.png\"\/><figcaption>\u0420\u0438\u0441. 19<\/figcaption><\/figure>\n<p>\u0421\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0439 \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u044b\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u0440\u0430\u0441\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u043f\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443 \u0430\u0434\u0440\u0435\u0441\u0443:<\/p>\n<p>\u00a0\u00a0 C:\\Users\\nanoUser\\AppData\\Roaming\\Nanosoft\\nanoCAD x64 XX.x\\Config\\MyMenuConfig.cfg<\/p>\n<p>\u041f\u0440\u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 \u0432 \u0434\u0438\u0430\u043b\u043e\u0433\u0435 \u041d\u041f\u0418 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430 \u0431\u0443\u0434\u0435\u0442 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b:<\/p>\n<p>\u00a0\u00a0\u00a0 C:\\Users\\nanoUser\\AppData\\Roaming\\Nanosoft\\nanoCAD x64 XX.x\\Config\\nanoCAD.cfg<\/p>\n<p>\u041b\u0438\u0441\u0442\u0438\u043d\u0433 <em>nanoCAD.cfg<\/em>: <\/p>\n<pre><code class=\"assembly\">... [\\ribbon] ... #include \"MyMenuConfig.cfg\" ...<\/code><\/pre>\n<h2>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043b\u0435\u043d\u0442\u044b (Ribbon)<\/h2>\n<p>\u041b\u0435\u043d\u0442\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u0444\u0430\u0439\u043b\u0435 CUIX, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 ZIP-\u0430\u0440\u0445\u0438\u0432, \u0433\u0434\u0435 \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u044b XML-\u0444\u0430\u0439\u043b\u044b, \u043f\u043e\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c.<\/p>\n<p>\u0427\u0430\u0441\u0442\u0438\u0447\u043d\u044b\u0435 (\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0435) \u0444\u0430\u0439\u043b\u044b \u043b\u0435\u043d\u0442\u044b \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u041f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u043e\u0439 nanoCAD, \u043d\u043e \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u043c \u041d\u041f\u0418.<\/p>\n<p>\u0414\u0438\u0430\u043b\u043e\u0433 \u041d\u041f\u0418 \u0443\u043c\u0435\u0435\u0442 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043b\u0438\u0448\u044c \u043e\u0441\u043d\u043e\u0432\u043d\u0443\u044e \u043b\u0435\u043d\u0442\u0443 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0435\u0433\u043e \u0438\u043c\u0435\u0435\u0442 \u0441\u043c\u044b\u0441\u043b \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u043a\u043e\u0433\u0434\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043f\u043e\u0434\u0445\u043e\u0434 \u00ab\u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0438 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0438\u0442\u044c \u043f\u043e \u0432\u0441\u0435\u043c \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430\u043c\u00bb.<\/p>\n<p>\u0414\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u043e\u0439 (\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0439) \u043b\u0435\u043d\u0442\u044b \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f:<\/p>\n<p>1. \u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u0442\u0440\u0438 \u0444\u0430\u0439\u043b\u0430: <em>[Content_Types].xml<\/em>, <em>Menu_Package_Info.xml<\/em>, <em>RibbonRoot.cui<\/em>.<\/p>\n<p>\u041b\u0438\u0441\u0442\u0438\u043d\u0433 <em>[Content_Types].xml<\/em>:<\/p>\n<pre><code class=\"xml\">&lt;?xml version=\"1.0\" encoding=\"utf-8\"?> &lt;Types xmlns=\"http:\/\/schemas.openxmlformats.org\/package\/2006\/content-types\">     &lt;Default Extension=\"cui\" ContentType=\"text\/xml\" \/>     &lt;Default Extension=\"rels\" ContentType=\"application\/vnd.openxmlformats-package.relationships+xml\" \/>     &lt;Default Extension=\"xml\" ContentType=\"text\/xml\" \/> &lt;\/Types><\/code><\/pre>\n<p>\u041b\u0438\u0441\u0442\u0438\u043d\u0433 <em>Menu_Package_Info.xml<\/em>:<\/p>\n<pre><code class=\"xml\">&lt;?xml version=\"1.0\" encoding=\"utf-8\"?> &lt;MenuPackageParts>   &lt;PartData PartData_Name=\"\/RibbonRoot.cui\" PartData_Modified=\"2022-05-28T12:42:04.9848238+03:00\" \/>   &lt;PartData PartData_Name=\"\/Menu_Package_Info.xml\" PartData_Modified=\"2022-05-28T12:42:05.0058294+03:00\" \/> &lt;\/MenuPackageParts><\/code><\/pre>\n<p>\u041b\u0438\u0441\u0442\u0438\u043d\u0433 <em>RibbonRoot.cui<\/em>:<\/p>\n<pre><code class=\"xml\">&lt;?xml version=\"1.0\"?> &lt;RibbonRoot>   &lt;RibbonPanelSourceCollection xmlns:xsd=\"http:\/\/www.w3.org\/2001\/XMLSchema\" xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\">     &lt;RibbonPanelSource UID=\"RBNU_HelloHost_GroupA\" Text=\"\u041a\u043e\u043c\u0430\u043d\u0434\u044b A\" HiddenInEditor=\"false\">       &lt;RibbonRow UID=\"RBNUR_Sample_Ribbon_Row_Main_GroupA\">         &lt;RibbonRowPanel UID=\"RBNURP_SDK_Samples_nano\" ResizeStyle=\"None\" ResizePriority=\"100\" TopJustify=\"True\">           &lt;RibbonRow UID=\"RBNURR_Samples_GroupA\">             &lt;RibbonCommandButton UID=\"ID_RBN_GR_A_HELLOHOSTEX1\" Id=\"AcRibbonCommandButton\" Text=\"\u041a\u043e\u043c\u0430\u043d\u0434\u0430 1\" ButtonStyle=\"LargeWithText\" MenuMacroID=\"HelloHost_Example1\" KeyTip=\"\">               &lt;TooltipTitle xlate=\"true\" UID=\"XLS_HelloHost1\">\u0412\u044b\u0432\u043e\u0434\u0438\u0442 \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435&lt;\/TooltipTitle>             &lt;\/RibbonCommandButton>             &lt;RibbonCommandButton UID=\"ID_RBN_GR_A_HELLOHOSTEX2\" Id=\"AcRibbonCommandButton\" Text=\"\u041a\u043e\u043c\u0430\u043d\u0434\u0430 2\" ButtonStyle=\"LargeWithText\" MenuMacroID=\"HelloHost_Example2\" KeyTip=\"\">               &lt;TooltipTitle xlate=\"true\" UID=\"XLS_HelloHost2\">\u0412\u044b\u0432\u043e\u0434\u0438\u0442 \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u043f\u0435\u0440\u0432\u044b\u0445 10 \u0441\u043b\u043e\u044f\u0445&lt;\/TooltipTitle>             &lt;\/RibbonCommandButton>           &lt;\/RibbonRow>         &lt;\/RibbonRowPanel>       &lt;\/RibbonRow>       &lt;RibbonPanelBreak Id=\"RibbonPanelBreak\"\/>       &lt;RibbonRow UID=\"RBNUR_Sample_Ribbon_Row_Additional_1\" ResizeStyle=\"None\" ResizePriority=\"100\" TopJustify=\"True\">         &lt;RibbonCommandButton UID=\"ID_RBN_GR_A_HELLOHOSTEX3\" Id=\"RibbonCommandButton\" Text=\"\u041a\u043e\u043c\u0430\u043d\u0434\u0430 3\" ButtonStyle=\"SmallWithText\" MenuMacroID=\"HelloHost_Example3\" resolved=\"1\" KeyTip=\"\"\/>       &lt;\/RibbonRow>       &lt;RibbonRow UID=\"RBNUR_Sample_Ribbon_Row_Additional_2\" ResizeStyle=\"None\" ResizePriority=\"100\" TopJustify=\"True\">         &lt;RibbonCommandButton UID=\"ID_RBN_GR_A_HELLOHOSTEX4\" Id=\"RibbonCommandButton\" Text=\"\u041a\u043e\u043c\u0430\u043d\u0434\u0430 4\" ButtonStyle=\"SmallWithText\" MenuMacroID=\"HelloHost_Example4\" resolved=\"1\" KeyTip=\"\"\/>       &lt;\/RibbonRow>       &lt;RibbonRow UID=\"RBNUR_Sample_Ribbon_Row_Additional_3\" ResizeStyle=\"None\" ResizePriority=\"100\" TopJustify=\"True\">         &lt;RibbonCommandButton UID=\"ID_RBN_GR_A_HELLOHOSTEX5\" Id=\"RibbonCommandButton\" Text=\"\u041a\u043e\u043c\u0430\u043d\u0434\u0430 5\" ButtonStyle=\"SmallWithText\" MenuMacroID=\"HelloHost_Example5\" resolved=\"1\" KeyTip=\"\"\/>       &lt;\/RibbonRow>     &lt;\/RibbonPanelSource>      &lt;RibbonPanelSource UID=\"RBNU_HelloHost_GroupB\" Text=\"\u041a\u043e\u043c\u0430\u043d\u0434\u044b B\" HiddenInEditor=\"false\">         &lt;RibbonRowPanel UID=\"RBNUR_Sample_Ribbon_Row_Main_GroupB\" ResizeStyle=\"None\" ResizePriority=\"100\" TopJustify=\"True\">           &lt;RibbonRow UID=\"RBNUR_Sample_Ribbon_Row_1_Main_GroupB\">             &lt;RibbonCommandButton UID=\"RBNU_HelloHost_Example1\" Id=\"AcRibbonCommandButton\" Text=\"\u041a\u043e\u043c\u0430\u043d\u0434\u0430 1\" ButtonStyle=\"SmallWithText\" MenuMacroID=\"HelloHost_Example1\" KeyTip=\"\">               &lt;TooltipTitle xlate=\"true\" UID=\"XLS_HelloHost_Example1\">\u0412\u044b\u0432\u043e\u0434\u0438\u0442 \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435&lt;\/TooltipTitle>             &lt;\/RibbonCommandButton>           &lt;\/RibbonRow>           &lt;RibbonRow UID=\"RBNUR_Sample_Ribbon_Row_2_Main_GroupB\">             &lt;RibbonCommandButton UID=\"RBNU_HelloHost_Example2\" Id=\"AcRibbon CommandButton\" Text=\"\u041a\u043e\u043c\u0430\u043d\u0434\u0430 2\" ButtonStyle=\"SmallWithText\" MenuMacroID=\"HelloHost_Example2\" KeyTip=\"\">               &lt;TooltipTitle xlate=\"true\" UID=\"XLS_HelloHost_Example2\">\u0412\u044b\u0432\u043e\u0434\u0438\u0442 \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u043f\u0435\u0440\u0432\u044b\u0445 10 \u0441\u043b\u043e\u044f\u0445&lt;\/TooltipTitle>             &lt;\/RibbonCommandButton>           &lt;\/RibbonRow>           &lt;RibbonRow UID=\"RBNUR_Sample_Ribbon_Row_3_Main_GroupB\">             &lt;RibbonCommandButton UID=\"RBNU_HelloHost_Example3\" Id=\"AcRibbonCommandButton\" Text=\"\u041a\u043e\u043c\u0430\u043d\u0434\u0430 3\" ButtonStyle=\"SmallWithText\" MenuMacroID=\"HelloHost_Example3\" KeyTip=\"\">               &lt;TooltipTitle xlate=\"true\" UID=\"XLS_ListCrCr\">\u0422\u0440\u0435\u0442\u044c\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430&lt;\/TooltipTitle>             &lt;\/RibbonCommandButton>           &lt;\/RibbonRow>         &lt;\/RibbonRowPanel>       &lt;RibbonPanelBreak Id=\"RibbonPanelBreak\"\/>        &lt;RibbonRowPanel UID=\"\" ResizeStyle=\"None\" ResizePriority=\"100\" TopJustify=\"True\">         &lt;RibbonRow UID=\"RBNURR_SDK_MAPI\">           &lt;RibbonSplitButton UID=\"ID_RBN_SPLITBTN_ADDCOMMANDS\" Id=\"RibbonSplitButton\" Text=\"\u0414\u043e\u043f.\u043a\u043e\u043c\u0430\u043d\u0434\u044b\" KeyTip=\"\" Behavior=\"SplitFollowStaticText\" ListStyle=\"IconText\" ButtonStyle=\"LargeWithText\" Grouping=\"false\">             &lt;RibbonCommandButton UID=\"RBNU_AddCommand6\" Id=\"AcRibbon CommandButton\" Text=\"\u041a\u043e\u043c\u0430\u043d\u0434\u0430 6\" ButtonStyle=\"SmallWithText\" MenuMacroID=\"TextInBox\" KeyTip=\"\" \/>           &lt;\/RibbonSplitButton>           &lt;RibbonSplitButton UID=\"ID_RBN_SPLITBTN_SOMECOMMANDS\" Id=\"RibbonSplitButton\" Text=\"\u0415\u0449\u0435 \u0434\u043e\u043f.\u043a\u043e\u043c\u0430\u043d\u0434\u044b\" KeyTip=\"\" Behavior=\"SplitFollowStaticText\" ListStyle=\"IconText\" ButtonStyle=\"LargeWithText\" Grouping=\"false\">             &lt;RibbonCommandButton UID=\"ID_RBN__AddCommand7\" Id=\"RibbonCommandButton\" Text=\"\u041a\u043e\u043c\u0430\u043d\u0434\u0430 7\" ButtonStyle=\"SmallWithText\" MenuMacroID=\"testTable\" resolved=\"1\" KeyTip=\"\"\/>             &lt;RibbonCommandButton UID=\"ID_RBN__AddCommand8\" Id=\"RibbonCommandButton\" Text=\"\u041a\u043e\u043c\u0430\u043d\u0434\u0430 8\" ButtonStyle=\"SmallWithText\" MenuMacroID=\"testSymbols\" resolved=\"1\" KeyTip=\"\"\/>           &lt;\/RibbonSplitButton>         &lt;\/RibbonRow>       &lt;\/RibbonRowPanel>     &lt;\/RibbonPanelSource>    &lt;\/RibbonPanelSourceCollection>   &lt;RibbonTabSourceCollection>     &lt;RibbonTabSource Text=\"\u041c\u043e\u044f \u043b\u0435\u043d\u0442\u0430\" UID=\"ID_MY_RIBBON\">       &lt;RibbonPanelSourceReference UID=\"RBNU_LargeWithText_GroupA_Ref\" PanelId=\"RBNU_HelloHost_GroupA\" ResizeStyle=\"Default\" \/>       &lt;RibbonPanelSourceReference UID=\"RBNU_SmallWithText_GroupC_Ref\" PanelId=\"RBNU_HelloHost_GroupB\" ResizeStyle=\"Default\" \/>     &lt;\/RibbonTabSource>   &lt;\/RibbonTabSourceCollection> &lt;\/RibbonRoot><\/code><\/pre>\n<p>2. \u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u0430\u0440\u0445\u0438\u0432 <em>MyRibbon.zip<\/em>, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0439 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0435 \u0432\u044b\u0448\u0435 \u0444\u0430\u0439\u043b\u044b (\u043d\u0430 \u043e\u0434\u043d\u043e\u043c \u0443\u0440\u043e\u0432\u043d\u0435, <strong>\u0431\u0435\u0437 \u0432\u043b\u043e\u0436\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0432 \u043f\u0430\u043f\u043a\u0443<\/strong>) \u2013 \u0440\u0438\u0441.\u00a020. \u041d\u0435 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u043d\u0435\u0448\u043d\u0438\u0435 \u0430\u0440\u0445\u0438\u0432\u0430\u0442\u043e\u0440\u044b \u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0441\u0436\u0430\u0442\u0438\u044f.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/001\/7e4\/a91\/0017e4a91ea0a3920ea851ea1e57f15b.png\" alt=\"\u0420\u0438\u0441. 20\" title=\"\u0420\u0438\u0441. 20\" width=\"793\" height=\"274\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/001\/7e4\/a91\/0017e4a91ea0a3920ea851ea1e57f15b.png\"\/><figcaption>\u0420\u0438\u0441. 20<\/figcaption><\/figure>\n<p>3. \u041f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u0443\u0439\u0442\u0435 \u0444\u0430\u0439\u043b <em>MyRibbon.zip<\/em> \u0432 <em>MyRibbon.cuix<\/em>. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 Windows:<\/p>\n<pre><code class=\"powershell\">C:\\Users\\nanoUser\\AppData\\Roaming\\Nanosoft\\Config\\>rename MyRibbon.zip MyRibbon.cuix<\/code><\/pre>\n<p>4. \u0420\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435 <em>MyRibbon.cuix<\/em> \u0432 <em>C:\\Users\\nanoUser\\AppData\\Roaming\\Nanosoft\\nanoCAD x64 XX.x\\Config.<\/em><\/p>\n<p>5. \u0414\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0430 <em>MyRibbon.cuix<\/em> \u0432 \u043a\u043e\u043d\u0435\u0446 \u0444\u0430\u0439\u043b\u0430: <em>C:\\Users\\nanoUser\\AppData\\Roaming\\Nanosoft\\nanoCAD x64 XX.x\\Config\\MyMenuConfig.cfg <\/em><\/p>\n<p><em>\u00a0<\/em>\u041b\u0438\u0441\u0442\u0438\u043d\u0433 <em>MyMenuConfig.cfg<\/em>:<\/p>\n<pre><code class=\"bash\">[\\Menu] [\\Menu\\MainMenu_2] Name=s\u041c\u043e\u0435\u041c\u0435\u043d\u044e [\\Menu\\MainMenu_2\\MenuItem_1] Intername=sHelloHost_Example1 Name=s\u041a\u043e\u043c\u0430\u043d\u0434\u0430 1 [\\Menu\\MainMenu_2\\MenuItem_2] Intername=sHelloHost_Example2 Name=s\u041a\u043e\u043c\u0430\u043d\u0434\u0430 2  [\\ConfigMan] [\\ConfigMan\\Commands] [\\ConfigMan\\Commands\\Command_1] cmdtype=i1 weight=i0 Intername=sHelloHost_Example1 LocalName=sHelloHostEx1 DispName=sHelloHost (\u041f\u0440\u0438\u043c\u0435\u0440 1) IsUserCommand=f1 [\\ConfigMan\\Commands\\Command_2] cmdtype=i1 weight=i0 DispName=sHelloHost (\u041f\u0440\u0438\u043c\u0435\u0440 2) Intername=sHelloHost_Example2 LocalName=sHelloHostEx2 IsUserCommand=f1   [\\ribbon\\MyRibbon] CUIX=s%CFG_PATH%\\MyRibbon.cuix visible=f1<\/code><\/pre>\n<p><strong>\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435.<\/strong> \u0412\u043d\u043e\u0441\u0438\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 \u0444\u0430\u0439\u043b CUIX \u043c\u043e\u0436\u043d\u043e \u0431\u0435\u0437 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0432\u0441\u0435\u0439 \u041f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b nanoCAD, \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 <em>RELOADRIBBON<\/em>.<\/p>\n<p>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043f\u043e\u043a\u0430\u0437\u0430\u043d \u043d\u0430 \u0440\u0438\u0441. 21.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/ecb\/3f3\/b26\/ecb3f3b2658978e6c3af8ae784dd2614.png\" alt=\"\u0420\u0438\u0441. 21\" title=\"\u0420\u0438\u0441. 21\" width=\"1134\" height=\"247\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/ecb\/3f3\/b26\/ecb3f3b2658978e6c3af8ae784dd2614.png\"\/><figcaption>\u0420\u0438\u0441. 21<\/figcaption><\/figure>\n<p><strong>\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435.<\/strong> \u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 (\u0447\u0430\u0441\u0442\u043d\u044b\u0435) \u043b\u0435\u043d\u0442\u044b \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 CUIX.<\/p>\n<h2>\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0438\u043a\u043e\u043d\u043e\u043a \u0432 \u043c\u0435\u043d\u044e, \u043f\u0430\u043d\u0435\u043b\u044c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0438 \u0432 \u043b\u0435\u043d\u0442\u0443<\/h2>\n<p>\u0418\u043a\u043e\u043d\u043a\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u2013 \u044d\u0442\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u044b. \u0415\u0441\u043b\u0438 \u043e\u043d\u0430 \u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u0430, \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c\u0441\u044f \u0438\u043a\u043e\u043d\u043a\u0430 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e.<\/p>\n<p>\u041d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u0430\u044f \u0438\u043a\u043e\u043d\u043a\u0430 \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u0438 \u0432 \u043c\u0435\u043d\u044e, \u0438 \u043d\u0430 \u043f\u0430\u043d\u0435\u043b\u044c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432, \u0438 \u0432 \u043b\u0435\u043d\u0442\u0443.<\/p>\n<p>\u0417\u0430\u0434\u0430\u0442\u044c \u0438\u043a\u043e\u043d\u043a\u0443 \u043c\u043e\u0436\u043d\u043e \u0432 \u043f\u043e\u043b\u0435 <em>\u0420\u0435\u0441\u0443\u0440\u0441\u043d\u0430\u044f DLL<\/em> (\u0440\u0438\u0441.\u00a022). \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0442\u0441\u044f \u0444\u043e\u0440\u043c\u0430\u0442\u044b ICO, BMP \u0438 \u0438\u043a\u043e\u043d\u043a\u0438 \u0432 \u0441\u043e\u0441\u0442\u0430\u0432\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u043d\u043e\u0439 DLL (\u0440\u0438\u0441.\u00a023).<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/438\/5c1\/b1f\/4385c1b1f4a67a08fa518f18ac80c7f7.png\" alt=\"\u0420\u0438\u0441. 22\" title=\"\u0420\u0438\u0441. 22\" width=\"932\" height=\"664\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/438\/5c1\/b1f\/4385c1b1f4a67a08fa518f18ac80c7f7.png\"\/><figcaption>\u0420\u0438\u0441. 22<\/figcaption><\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/b18\/e92\/56f\/b18e9256fa99c9ef3212dd65eec9ae83.png\" alt=\"\u0420\u0438\u0441. 23\" title=\"\u0420\u0438\u0441. 23\" width=\"843\" height=\"438\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/b18\/e92\/56f\/b18e9256fa99c9ef3212dd65eec9ae83.png\"\/><figcaption>\u0420\u0438\u0441. 23<\/figcaption><\/figure>\n<p>\u041f\u0440\u0438\u043c\u0435\u0440\u044b \u0438\u043a\u043e\u043d\u043e\u043a \u0432\u0445\u043e\u0434\u044f\u0442 \u0432 \u0441\u043e\u0441\u0442\u0430\u0432 <a href=\"https:\/\/developer.nanocad.ru\/\">SDK<\/a>: \\SDK\\samples\\Menu\\MenuRes\\res.<\/p>\n<p>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0438\u043a\u043e\u043d\u043e\u043a \u043f\u043e\u043a\u0430\u0437\u0430\u043d \u043d\u0430 \u0440\u0438\u0441. 24.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/b1f\/d2a\/727\/b1fd2a7278f7f2c7180a1c623f129787.png\" alt=\"\u0420\u0438\u0441. 24\" title=\"\u0420\u0438\u0441. 24\" width=\"1091\" height=\"170\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/b1f\/d2a\/727\/b1fd2a7278f7f2c7180a1c623f129787.png\"\/><figcaption>\u0420\u0438\u0441. 24<\/figcaption><\/figure>\n<h2>\u0418\u043a\u043e\u043d\u043a\u0438 \u0434\u043b\u044f \u0442\u0435\u043c\u043d\u043e\u0439 \u0438 \u0441\u0432\u0435\u0442\u043b\u043e\u0439 \u0441\u0445\u0435\u043c\u044b<\/h2>\n<p>\u0418\u043a\u043e\u043d\u043a\u0438 \u0434\u043b\u044f \u0441\u0432\u0435\u0442\u043b\u043e\u0439 \u0438 \u0442\u0435\u043c\u043d\u043e\u0439 \u0441\u0445\u0435\u043c\u044b \u0440\u0430\u0437\u043d\u044b\u0435, \u043f\u0440\u0435\u0434\u0443\u0441\u043c\u043e\u0442\u0440\u0435\u043d \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f. \u0415\u0441\u043b\u0438 \u0432 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0438 \u043a\u043e\u043c\u0430\u043d\u0434 \u043f\u0440\u043e\u043f\u0438\u0441\u0430\u043d\u0430 \u0438\u043a\u043e\u043d\u043a\u0430 <em>myicon.ico<\/em>, \u0442\u043e \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438 \u0432 \u0442\u0435\u043c\u043d\u0443\u044e \u0441\u0445\u0435\u043c\u0443 \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0430 \u0438\u043a\u043e\u043d\u043a\u0430 <em>myicon_dark.ico<\/em> (\u043f\u0440\u0438 \u0435\u0435 \u043d\u0430\u043b\u0438\u0447\u0438\u0438).<\/p>\n<p>\u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u0444\u043e\u0440\u043c\u0430\u0442\u0430 BMP \u0444\u0430\u0439\u043b\u044b \u043f\u043e\u0434\u0431\u0438\u0440\u0430\u044e\u0442\u0441\u044f \u043f\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043f\u0440\u0430\u0432\u0438\u043b\u0430\u043c:<\/p>\n<p><em>myBitmap.bmp<\/em> \u2013 \u0441\u0432\u0435\u0442\u043b\u0430\u044f \u0441\u0445\u0435\u043c\u0430, 16&#215;16;<\/p>\n<p><em>myBitmap_large.bmp<\/em> \u2013 \u0441\u0432\u0435\u0442\u043b\u0430\u044f \u0441\u0445\u0435\u043c\u0430, 32&#215;32;<\/p>\n<p><em>myBitmap_dark.bmp<\/em> \u2013 \u0442\u0435\u043c\u043d\u0430\u044f \u0441\u0445\u0435\u043c\u0430, 16&#215;16;<\/p>\n<p><em>myBitmap_dark_large.bmp<\/em> \u2013 \u0442\u0435\u043c\u043d\u0430\u044f \u0441\u0445\u0435\u043c\u0430, 32&#215;32.<\/p>\n<h2>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u043d\u043e\u0439 DLL \u0441 \u0438\u043a\u043e\u043d\u043a\u0430\u043c\u0438<\/h2>\n<p>\u041f\u0440\u0438\u043c\u0435\u0440 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Visual Studio, \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0440\u0435\u0441\u0443\u0440\u0441\u043d\u0443\u044e DLL \u0441\u00a0\u0438\u043a\u043e\u043d\u043a\u0430\u043c\u0438, \u0432\u0445\u043e\u0434\u0438\u0442 \u0432 \u0441\u043e\u0441\u0442\u0430\u0432 <a href=\"https:\/\/developer.nanocad.ru\/\">SDK<\/a>:<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \\SDK\\samples\\Menu\\MenuRes\\MenuRes.vcxproj<\/p>\n<p>\u0418\u0442\u043e\u0433\u043e\u0432\u044b\u0439 \u043b\u0438\u0441\u0442\u0438\u043d\u0433 <em>MyMenuConfig.cfg<\/em>:<\/p>\n<pre><code class=\"bash\">[\\Menu] [\\Menu\\MainMenu_2] Name=s\u041c\u043e\u0435\u041c\u0435\u043d\u044e [\\Menu\\MainMenu_2\\MenuItem_1] Intername=sHelloHost_Example1 Name=s\u041a\u043e\u043c\u0430\u043d\u0434\u0430 1 [\\Menu\\MainMenu_2\\MenuItem_2] Intername=sHelloHost_Example2 Name=s\u041a\u043e\u043c\u0430\u043d\u0434\u0430 2  [\\ConfigMan] [\\ConfigMan\\Commands] [\\ConfigMan\\Commands\\Command_1] cmdtype=i1 weight=i0 Intername=sHelloHost_Example1 LocalName=sHelloHostEx1 DispName=s\u041a\u043e\u043c\u0430\u043d\u0434\u0430 1 IsUserCommand=f1 BitmapDll=sG:\\SDK\\samples\\Menu\\MenuRes\\res\\a.ico [\\ConfigMan\\Commands\\Command_2] cmdtype=i1 weight=i0 Intername=sHelloHost_Example2 LocalName=sHelloHostEx1 DispName=s\u041a\u043e\u043c\u0430\u043d\u0434\u0430 2 IsUserCommand=f1 BitmapDll=sG:\\SDK\\samples\\Menu\\MenuRes\\res\\n.ico  [\\Toolbars] [\\Toolbars\\Toolbar_1] Name=s\u041c\u043e\u044f\u041f\u0430\u043d\u0435\u043b\u044c\u0418\u043d\u0441\u0442\u0440 Intername=sMyToolbar [\\Toolbars\\Toolbar_1\\ToolbarButton_1] Intername=sHelloHost_Example1 Name=s\u041a\u043e\u043c\u0430\u043d\u0434\u0430 1 [\\Toolbars\\Toolbar_1\\ToolbarButton_2] Intername=sHelloHost_Example2 Name=s\u041a\u043e\u043c\u0430\u043d\u0434\u0430 2  [\\ToolbarsPos] [\\ToolbarsPos\\Toolbar_1] InitialVisible=i1 Row=i5 Pos=i1 DockPosition=sTop  [\\ribbon] [\\ribbon\\MyRibbon] CUIX=s%CFG_PATH%\\MyRibbon.cuix visible=f1<\/code><\/pre>\n<h2>\u041e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043c\u0435\u043d\u044e, \u043f\u0430\u043d\u0435\u043b\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432, \u043b\u0435\u043d\u0442\u044b<\/h2>\n<p>\u0414\u043b\u044f \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0440\u0430\u043d\u0435\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u043e\u0433\u043e \u043c\u0435\u043d\u044e \u0438\u043b\u0438 \u043f\u0430\u043d\u0435\u043b\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u043d\u0443\u0436\u043d\u043e:<\/p>\n<ol>\n<li>\n<p>\u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 (\u041d\u041f\u0418): <em>\u0421\u0435\u0440\u0432\u0438\u0441<\/em> \u2192 <em>\u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441<\/em>\u00a0\u2192 <em>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438<\/em> <em>\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430<\/em> \u043b\u0438\u0431\u043e \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 <em>INTERFACE<\/em> \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 nanoCAD;<\/p>\n<\/li>\n<li>\n<p>\u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f \u043d\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u043c\u0435\u043d\u044e, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c;<\/p>\n<\/li>\n<li>\n<p><em>\u0424\u0430\u0439\u043b<\/em> \u2192 <em>\u041e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u044b\u0439 \u0444\u0430\u0439\u043b<\/em>.<\/p>\n<\/li>\n<\/ol>\n<p>\u0414\u043b\u044f \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043b\u0435\u043d\u0442\u044b \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0443\u0431\u0440\u0430\u0442\u044c \u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0430 \u0444\u0430\u0439\u043b CUIX \u0438\u0437 \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u043e\u0433\u043e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430.<\/p>\n<p>\u0421\u0435\u0440\u0433\u0435\u0439 \u0415\u0432\u0441\u0435\u0435\u0432,<br \/>\u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442 \u0433\u0440\u0443\u043f\u043f\u044b \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 API<br \/>\u041e\u041e\u041e \u00ab\u041d\u0430\u043d\u043e\u0441\u043e\u0444\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430\u00bb<\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/668276\/\"> https:\/\/habr.com\/ru\/articles\/668276\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u0412 \u041f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435 nanoCAD \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u043d\u043e\u0432\u044b\u0435 \u043f\u0443\u043d\u043a\u0442\u044b \u043c\u0435\u043d\u044e, \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u043f\u0430\u043d\u0435\u043b\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 (Toolbar) \u2013 (\u0440\u0438\u0441.\u00a01) \u0438 \u043b\u0435\u043d\u0442\u044b (Ribbon) \u2013 (\u0440\u0438\u0441.\u00a02). \u0412\u0441\u0435 \u043a\u043d\u043e\u043f\u043a\u0438 \u0432 \u043c\u0435\u043d\u044e, \u043f\u0430\u043d\u0435\u043b\u044f\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0438 \u043b\u0435\u043d\u0442\u0430\u0445 \u0441\u0432\u044f\u0437\u0430\u043d\u044b \u0441 \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u043c\u0438. \u041c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u0441\u0432\u043e\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u044b, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0435 API nanoCAD. \u041a\u043e\u043c\u0430\u043d\u0434\u044b \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0432 DLL-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u0442\u0430\u043d\u043e\u0432\u044f\u0442\u0441\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0432 \u041f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443.<\/p>\n<p>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u043c\u0435\u043d\u044e \u0438 \u043f\u0430\u043d\u0435\u043b\u0435\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043b\u0435\u043d\u0442\u044b \u043c\u043e\u0436\u0435\u0442 \u0432\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0448\u0430\u0433\u0438:<\/p>\n<ul>\n<li>\n<p>\u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 DLL-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0441 \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u043c\u0438;<\/p>\n<\/li>\n<li>\n<p>\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043c\u0435\u043d\u044e;<\/p>\n<\/li>\n<li>\n<p>\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u0430\u043d\u0435\u043b\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432;<\/p>\n<\/li>\n<li>\n<p>\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043b\u0435\u043d\u0442\u044b;<\/p>\n<\/li>\n<li>\n<p>\u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0438\u043a\u043e\u043d\u043e\u043a \u0432 \u043c\u0435\u043d\u044e, \u043f\u0430\u043d\u0435\u043b\u044c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0438 \u0432 \u043b\u0435\u043d\u0442\u0443;<\/p>\n<\/li>\n<li>\n<p>\u0438\u043a\u043e\u043d\u043a\u0438 \u0434\u043b\u044f \u0442\u0435\u043c\u043d\u043e\u0439 \u0438 \u0441\u0432\u0435\u0442\u043b\u043e\u0439 \u0441\u0445\u0435\u043c\u044b;<\/p>\n<\/li>\n<li>\n<p>\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u043d\u043e\u0439 DLL \u0441 \u0438\u043a\u043e\u043d\u043a\u0430\u043c\u0438;<\/p>\n<\/li>\n<li>\n<p>\u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043c\u0435\u043d\u044e, \u043f\u0430\u043d\u0435\u043b\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432, \u043b\u0435\u043d\u0442\u044b.<\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width\"><figcaption>\u0420\u0438\u0441. 1<\/figcaption><\/figure>\n<figure class=\"full-width\"><figcaption>\u0420\u0438\u0441. 2<\/figcaption><\/figure>\n<h2>\u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 DLL-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0441 \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u043c\u0438<\/h2>\n<p>\u0417\u0430 \u043b\u044e\u0431\u043e\u0439 \u043a\u043d\u043e\u043f\u043a\u043e\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u041f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b nanoCAD \u0441\u0442\u043e\u0438\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0442\u0435 \u0438\u043b\u0438 \u0438\u043d\u044b\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b API nanoCAD, \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043c\u043e\u0436\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u043d\u0430\u0431\u043e\u0440\u044b \u043a\u043e\u043c\u0430\u043d\u0434. \u041a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043d\u0430\u0446\u0435\u043b\u0435\u043d\u0430 \u043d\u0430 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0441 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 DLL-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u0442\u0430\u043d\u0443\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u041f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b nanoCAD. \u0414\u043b\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u043c \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u044b \u0441\u0432\u043e\u0438 \u043a\u043d\u043e\u043f\u043a\u0438 \u0432 \u043c\u0435\u043d\u044e, \u043f\u0430\u043d\u0435\u043b\u044f\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0438 \u0432 \u043b\u0435\u043d\u0442\u0435.<\/p>\n<p>\u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043a\u043e\u0434 \u0434\u043e\u043b\u0436\u0435\u043d \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b (\u0430\u0442\u0440\u0438\u0431\u0443\u0442 <em>CommandMethod<\/em>).<\/p>\n<p>\u041b\u0438\u0441\u0442\u0438\u043d\u0433 <em>MyApplication.dll<\/em> (\u0438\u043c\u0435\u043d\u0430 \u043a\u043e\u043c\u0430\u043d\u0434 \u2013 <em>HelloHost_Example1<\/em><br \/> \u0438 <em>HelloHost_Example2<\/em>):<\/p>\n<pre><code class=\"cs\">...   public class HelloHost     {       [CommandMethod(\"HelloHost_Example1\")]       public void Template1()       {          ...       }       ...       [CommandMethod(\"HelloHost_Example2\")]       public void Template2()       {          ...       }     }   ...<\/code><\/pre>\n<p>\u041f\u043e\u043b\u043d\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u043a\u043e\u0434\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442\u0441\u044f \u0432 <a href=\"https:\/\/developer.nanocad.ru\/\">SDK<\/a>:<\/p>\n<p><code>\\SDK\\samples\\Mgd\\HelloHost\\HelloHost.cs<\/code><\/p>\n<h2>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043c\u0435\u043d\u044e<\/h2>\n<p>\u041f\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 (\u041d\u041f\u0418): <em>\u0421\u0435\u0440\u0432\u0438\u0441<\/em> \u2192 <em>\u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441<\/em> \u2192 <em>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430<\/em> \u043b\u0438\u0431\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 <em>INTERFACE<\/em> \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 nanoCAD (\u0440\u0438\u0441.\u00a03).<\/p>\n<figure class=\"full-width\"><figcaption>\u0420\u0438\u0441. 3<\/figcaption><\/figure>\n<p>\u0414\u043b\u044f \u043a\u0430\u0441\u0442\u043e\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u043c\u0435\u043d\u044e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0444\u0430\u0439\u043b, \u0435\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c (\u0440\u0438\u0441.\u00a04).<\/p>\n<figure class=\"full-width\"><figcaption>\u0420\u0438\u0441. 4<\/figcaption><\/figure>\n<p>\u041f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u0441\u044c \u043d\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b, \u0432\u044b\u0431\u0440\u0430\u0432 \u0435\u0433\u043e \u0438\u0437 \u0432\u044b\u043f\u0430\u0434\u0430\u044e\u0449\u0435\u0433\u043e \u0441\u043f\u0438\u0441\u043a\u0430 (\u0440\u0438\u0441.\u00a05).<\/p>\n<figure class=\"full-width\"><figcaption>\u0420\u0438\u0441. 5<\/figcaption><\/figure>\n<p>\u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u043c\u0435\u043d\u044e \u0432\u0435\u0440\u0445\u043d\u0435\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f (\u043f\u0440\u0430\u0432\u0430\u044f \u043a\u043d\u043e\u043f\u043a\u0430 \u043c\u044b\u0448\u0438 (\u041f\u041a\u041c) \u2192 \u0432\u043a\u043b\u0430\u0434\u043a\u0430 <em>\u0413\u043b\u0430\u0432\u043d\u043e\u0435 \u043c\u0435\u043d\u044e<\/em>) \u0432\u00a0\u0441\u043e\u0437\u0434\u0430\u043d\u043d\u043e\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u043c \u0444\u0430\u0439\u043b\u0435 (\u0440\u0438\u0441.\u00a06).<\/p>\n<figure class=\"full-width\"><figcaption>\u0420\u0438\u0441. 6<\/figcaption><\/figure>\n<p>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0434\u043e\u043b\u0436\u0435\u043d \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u0442\u0430\u043a, \u043a\u0430\u043a \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0430 \u0440\u0438\u0441.\u00a07.<\/p>\n<figure class=\"full-width\"><figcaption>\u0420\u0438\u0441. 7<\/figcaption><\/figure>\n<p>\u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434 <em>HelloHost_Example1<\/em> \u0438 <em>HelloHost_Example2<\/em> (\u041f\u041a\u041c \u2192 <em>\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u0443<\/em>). \u041a\u043e\u043c\u0430\u043d\u0434\u044b \u0431\u0443\u0434\u0443\u0442 \u0432\u044b\u0437\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u043f\u0443\u043d\u043a\u0442\u0430\u0445 \u043c\u0435\u043d\u044e (\u0440\u0438\u0441.\u00a08).<\/p>\n<figure class=\"full-width\"><figcaption>\u0420\u0438\u0441. 8<\/figcaption><\/figure>\n<p>\u041f\u043e\u043b\u0435 <em>\u0412\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0435 \u0438\u043c\u044f<\/em> \u0434\u043e\u043b\u0436\u043d\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0442\u043e\u0447\u043d\u043e\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b, \u043a\u0430\u043a \u0432 DLL-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 (\u0440\u0438\u0441.\u00a09, 10).<\/p>\n<figure class=\"\"><figcaption>\u0420\u0438\u0441.9 \u041a\u043e\u043c\u0430\u043d\u0434\u0430 HelloHost_Example1<\/figcaption><\/figure>\n<figure class=\"\"><figcaption>\u0420\u0438\u0441. 10 \u041a\u043e\u043c\u0430\u043d\u0434\u0430 HelloHost_Example2<\/figcaption><\/figure>\n<p>\u0414\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u043f\u0443\u043d\u043a\u0442\u044b \u043c\u0435\u043d\u044e, \u0432\u044b\u0437\u044b\u0432\u0430\u044e\u0449\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b <em>HelloHost_Example1<\/em> \u0438 <em>HelloHost_Example2<\/em> (\u0440\u0438\u0441.\u00a011).<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u0435 \u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b.<\/p>\n<p>\u041f\u0440\u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438 \u041f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 \u043f\u043e\u043f\u0440\u043e\u0441\u0438\u0442 \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0444\u0430\u0439\u043b \u2013 \u043d\u0443\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0439 \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u043c\u0435\u043d\u044e: <em>MyMenuConfig.cfg<\/em> (\u0440\u0438\u0441.\u00a012).<\/p>\n<p>\u0414\u043b\u044f \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043d\u043e\u0432\u044b\u0445 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0435 \u041f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 nanoCAD \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e.<\/p>\n<figure class=\"full-width\"><figcaption>\u0420\u0438\u0441. 12<\/figcaption><\/figure>\n<p>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0442\u0430\u043a\u0438\u043c, \u043a\u0430\u043a \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0430 \u0440\u0438\u0441.\u00a013.<\/p>\n<figure class=\"full-width\"><figcaption>\u0420\u0438\u0441. 13<\/figcaption><\/figure>\n<p><strong>\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435.<\/strong> \u0422\u0430\u043a \u043a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u043e\u0435 \u043c\u0435\u043d\u044e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0438\u0437 DLL-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438, \u0435\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u0442\u043e \u0435\u0441\u0442\u044c \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c DLL \u0432 \u0441\u043f\u0438\u0441\u043e\u043a \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439.<\/p>\n<h2>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u0430\u043d\u0435\u043b\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 <\/h2>\n<p>\u041f\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 (\u041d\u041f\u0418): <em>\u0421\u0435\u0440\u0432\u0438\u0441<\/em> \u2192 <em>\u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441<\/em> \u2192 <em>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430<\/em> <em>\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430<\/em> \u043b\u0438\u0431\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 <em>INTERFACE<\/em> \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 nanoCAD. \u0412\u043a\u043b\u0430\u0434\u043a\u0430 <em>\u041f\u0430\u043d\u0435\u043b\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432<\/em>.<\/p>\n<p>\u0412 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0440\u0430\u043d\u0435\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0439 \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u044b\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b.<\/p>\n<p>\u0414\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u043f\u0430\u043d\u0435\u043b\u044c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 (\u0449\u0435\u043b\u0447\u043e\u043a \u041f\u041a\u041c \u0432 \u043e\u043a\u043d\u0435 \u0432\u043a\u043b\u0430\u0434\u043a\u0438 <em>\u041f\u0430\u043d\u0435\u043b\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432<\/em>) \u0438 \u0443\u043a\u0430\u0436\u0438\u0442\u0435 \u043d\u0443\u0436\u043d\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0432 \u043e\u043a\u043d\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u0430\u043d\u0435\u043b\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 (\u0440\u0438\u0441.\u00a014).<\/p>\n<figure class=\"full-width\"><figcaption>\u0420\u0438\u0441. 14<\/figcaption><\/figure>\n<p>\u0414\u043b\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u043f\u0435\u0440\u0432\u043e\u0439 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0443 <em>\u0420\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u0438\u0435<\/em> \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0437\u043d\u0430\u0447\u0438\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 <em>\u0421\u0432\u0435\u0440\u0445\u0443<\/em> (\u0440\u0438\u0441.\u00a015).<\/p>\n<figure class=\"full-width\"><figcaption>\u0420\u0438\u0441. 15<\/figcaption><\/figure>\n<p>\u0414\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u043a\u043d\u043e\u043f\u043a\u0438 \u043d\u0430 \u043f\u0430\u043d\u0435\u043b\u044c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u2013 \u043e\u043d\u0438 \u0431\u0443\u0434\u0443\u0442 \u0432\u044b\u0437\u044b\u0432\u0430\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0438\u0437 DLL-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f (\u0440\u0438\u0441.\u00a016).<\/p>\n<figure class=\"full-width\"><figcaption>\u0420\u0438\u0441. 16<\/figcaption><\/figure>\n<p>\u041f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u043d\u0430 \u0440\u0438\u0441.\u00a017.<\/p>\n<figure class=\"full-width\"><figcaption>\u0420\u0438\u0441. 17<\/figcaption><\/figure>\n<p>\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u0435 \u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b. \u0415\u0441\u043b\u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u0443\u0436\u0435 \u0431\u044b\u043b \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d \u0440\u0430\u043d\u0435\u0435, \u043f\u0443\u043d\u043a\u0442 2 (\u0441\u043c. \u0440\u0438\u0441.\u00a018) \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c.<\/p>\n<figure class=\"full-width\"><figcaption>\u0420\u0438\u0441. 18<\/figcaption><\/figure>\n<p>\u0414\u043b\u044f \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043d\u043e\u0432\u044b\u0445 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0435 \u041f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 nanoCAD \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e.<\/p>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043f\u0430\u043d\u0435\u043b\u044c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044f \u0441 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u043c\u0438 \u0438\u043a\u043e\u043d\u043a\u0430\u043c\u0438 (\u0440\u0438\u0441.\u00a019).<\/p>\n<figure class=\"full-width\"><figcaption>\u0420\u0438\u0441. 19<\/figcaption><\/figure>\n<p>\u0421\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0439 \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u044b\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u0440\u0430\u0441\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u043f\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443 \u0430\u0434\u0440\u0435\u0441\u0443:<\/p>\n<p>\u00a0\u00a0 C:\\Users\\nanoUser\\AppData\\Roaming\\Nanosoft\\nanoCAD x64 XX.x\\Config\\MyMenuConfig.cfg<\/p>\n<p>\u041f\u0440\u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 \u0432 \u0434\u0438\u0430\u043b\u043e\u0433\u0435 \u041d\u041f\u0418 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430 \u0431\u0443\u0434\u0435\u0442 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b:<\/p>\n<p>\u00a0\u00a0\u00a0 C:\\Users\\nanoUser\\AppData\\Roaming\\Nanosoft\\nanoCAD x64 XX.x\\Config\\nanoCAD.cfg<\/p>\n<p>\u041b\u0438\u0441\u0442\u0438\u043d\u0433 <em>nanoCAD.cfg<\/em>: <\/p>\n<pre><code class=\"assembly\">... [\\ribbon] ... #include \"MyMenuConfig.cfg\" ...<\/code><\/pre>\n<h2>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043b\u0435\u043d\u0442\u044b (Ribbon)<\/h2>\n<p>\u041b\u0435\u043d\u0442\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u0444\u0430\u0439\u043b\u0435 CUIX, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 ZIP-\u0430\u0440\u0445\u0438\u0432, \u0433\u0434\u0435 \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u044b XML-\u0444\u0430\u0439\u043b\u044b, \u043f\u043e\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c.<\/p>\n<p>\u0427\u0430\u0441\u0442\u0438\u0447\u043d\u044b\u0435 (\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0435) \u0444\u0430\u0439\u043b\u044b \u043b\u0435\u043d\u0442\u044b \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u041f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u043e\u0439 nanoCAD, \u043d\u043e \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u043c \u041d\u041f\u0418.<\/p>\n<p>\u0414\u0438\u0430\u043b\u043e\u0433 \u041d\u041f\u0418 \u0443\u043c\u0435\u0435\u0442 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043b\u0438\u0448\u044c \u043e\u0441\u043d\u043e\u0432\u043d\u0443\u044e \u043b\u0435\u043d\u0442\u0443 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0435\u0433\u043e \u0438\u043c\u0435\u0435\u0442 \u0441\u043c\u044b\u0441\u043b \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u043a\u043e\u0433\u0434\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043f\u043e\u0434\u0445\u043e\u0434 \u00ab\u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0438 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0438\u0442\u044c \u043f\u043e \u0432\u0441\u0435\u043c \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430\u043c\u00bb.<\/p>\n<p>\u0414\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u043e\u0439 (\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0439) \u043b\u0435\u043d\u0442\u044b \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f:<\/p>\n<p>1. \u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u0442\u0440\u0438 \u0444\u0430\u0439\u043b\u0430: <em>[Content_Types].xml<\/em>, <em>Menu_Package_Info.xml<\/em>, <em>RibbonRoot.cui<\/em>.<\/p>\n<p>\u041b\u0438\u0441\u0442\u0438\u043d\u0433 <em>[Content_Types].xml<\/em>:<\/p>\n<pre><code class=\"xml\">&lt;?xml version=\"1.0\" encoding=\"utf-8\"?> &lt;Types xmlns=\"http:\/\/schemas.openxmlformats.org\/package\/2006\/content-types\">     &lt;Default Extension=\"cui\" ContentType=\"text\/xml\" \/>     &lt;Default Extension=\"rels\" ContentType=\"application\/vnd.openxmlformats-package.relationships+xml\" \/>     &lt;Default Extension=\"xml\" ContentType=\"text\/xml\" \/> &lt;\/Types><\/code><\/pre>\n<p>\u041b\u0438\u0441\u0442\u0438\u043d\u0433 <em>Menu_Package_Info.xml<\/em>:<\/p>\n<pre><code class=\"xml\">&lt;?xml version=\"1.0\" encoding=\"utf-8\"?> &lt;MenuPackageParts>   &lt;PartData PartData_Name=\"\/RibbonRoot.cui\" PartData_Modified=\"2022-05-28T12:42:04.9848238+03:00\" \/>   &lt;PartData PartData_Name=\"\/Menu_Package_Info.xml\" PartData_Modified=\"2022-05-28T12:42:05.0058294+03:00\" \/> &lt;\/MenuPackageParts><\/code><\/pre>\n<p>\u041b\u0438\u0441\u0442\u0438\u043d\u0433 <em>RibbonRoot.cui<\/em>:<\/p>\n<pre><code class=\"xml\">&lt;?xml version=\"1.0\"?> &lt;RibbonRoot>   &lt;RibbonPanelSourceCollection xmlns:xsd=\"http:\/\/www.w3.org\/2001\/XMLSchema\" xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\">     &lt;RibbonPanelSource UID=\"RBNU_HelloHost_GroupA\" Text=\"\u041a\u043e\u043c\u0430\u043d\u0434\u044b A\" HiddenInEditor=\"false\">       &lt;RibbonRow UID=\"RBNUR_Sample_Ribbon_Row_Main_GroupA\">         &lt;RibbonRowPanel UID=\"RBNURP_SDK_Samples_nano\" ResizeStyle=\"None\" ResizePriority=\"100\" TopJustify=\"True\">           &lt;RibbonRow UID=\"RBNURR_Samples_GroupA\">             &lt;RibbonCommandButton UID=\"ID_RBN_GR_A_HELLOHOSTEX1\" Id=\"AcRibbonCommandButton\" Text=\"\u041a\u043e\u043c\u0430\u043d\u0434\u0430 1\" ButtonStyle=\"LargeWithText\" MenuMacroID=\"HelloHost_Example1\" KeyTip=\"\">               &lt;TooltipTitle xlate=\"true\" UID=\"XLS_HelloHost1\">\u0412\u044b\u0432\u043e\u0434\u0438\u0442 \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435&lt;\/TooltipTitle>             &lt;\/RibbonCommandButton>             &lt;RibbonCommandButton UID=\"ID_RBN_GR_A_HELLOHOSTEX2\" Id=\"AcRibbonCommandButton\" Text=\"\u041a\u043e\u043c\u0430\u043d\u0434\u0430 2\" ButtonStyle=\"LargeWithText\" MenuMacroID=\"HelloHost_Example2\" KeyTip=\"\">               &lt;TooltipTitle xlate=\"true\" UID=\"XLS_HelloHost2\">\u0412\u044b\u0432\u043e\u0434\u0438\u0442 \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u043f\u0435\u0440\u0432\u044b\u0445 10 \u0441\u043b\u043e\u044f\u0445&lt;\/TooltipTitle>             &lt;\/RibbonCommandButton>           &lt;\/RibbonRow>         &lt;\/RibbonRowPanel>       &lt;\/RibbonRow>       &lt;RibbonPanelBreak Id=\"RibbonPanelBreak\"\/>       &lt;RibbonRow UID=\"RBNUR_Sample_Ribbon_Row_Additional_1\" ResizeStyle=\"None\" ResizePriority=\"100\" TopJustify=\"True\">         &lt;RibbonCommandButton UID=\"ID_RBN_GR_A_HELLOHOSTEX3\" Id=\"RibbonCommandButton\" Text=\"\u041a\u043e\u043c\u0430\u043d\u0434\u0430 3\" ButtonStyle=\"SmallWithText\" MenuMacroID=\"HelloHost_Example3\" resolved=\"1\" KeyTip=\"\"\/>       &lt;\/RibbonRow>       &lt;RibbonRow UID=\"RBNUR_Sample_Ribbon_Row_Additional_2\" ResizeStyle=\"None\" ResizePriority=\"100\" TopJustify=\"True\">         &lt;RibbonCommandButton UID=\"ID_RBN_GR_A_HELLOHOSTEX4\" Id=\"RibbonCommandButton\" Text=\"\u041a\u043e\u043c\u0430\u043d\u0434\u0430 4\" ButtonStyle=\"SmallWithText\" MenuMacroID=\"HelloHost_Example4\" resolved=\"1\" KeyTip=\"\"\/>       &lt;\/RibbonRow>       &lt;RibbonRow UID=\"RBNUR_Sample_Ribbon_Row_Additional_3\" ResizeStyle=\"None\" ResizePriority=\"100\" TopJustify=\"True\">         &lt;RibbonCommandButton UID=\"ID_RBN_GR_A_HELLOHOSTEX5\" Id=\"RibbonCommandButton\" Text=\"\u041a\u043e\u043c\u0430\u043d\u0434\u0430 5\" ButtonStyle=\"SmallWithText\" MenuMacroID=\"HelloHost_Example5\" resolved=\"1\" KeyTip=\"\"\/>       &lt;\/RibbonRow>     &lt;\/RibbonPanelSource>      &lt;RibbonPanelSource UID=\"RBNU_HelloHost_GroupB\" Text=\"\u041a\u043e\u043c\u0430\u043d\u0434\u044b B\" HiddenInEditor=\"false\">         &lt;RibbonRowPanel UID=\"RBNUR_Sample_Ribbon_Row_Main_GroupB\" ResizeStyle=\"None\" ResizePriority=\"100\" TopJustify=\"True\">           &lt;RibbonRow UID=\"RBNUR_Sample_Ribbon_Row_1_Main_GroupB\">             &lt;RibbonCommandButton UID=\"RBNU_HelloHost_Example1\" Id=\"AcRibbonCommandButton\" Text=\"\u041a\u043e\u043c\u0430\u043d\u0434\u0430 1\" ButtonStyle=\"SmallWithText\" MenuMacroID=\"HelloHost_Example1\" KeyTip=\"\">               &lt;TooltipTitle xlate=\"true\" UID=\"XLS_HelloHost_Example1\">\u0412\u044b\u0432\u043e\u0434\u0438\u0442 \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435&lt;\/TooltipTitle>             &lt;\/RibbonCommandButton>           &lt;\/RibbonRow>           &lt;RibbonRow UID=\"RBNUR_Sample_Ribbon_Row_2_Main_GroupB\">             &lt;RibbonCommandButton UID=\"RBNU_HelloHost_Example2\" Id=\"AcRibbon CommandButton\" Text=\"\u041a\u043e\u043c\u0430\u043d\u0434\u0430 2\" ButtonStyle=\"SmallWithText\" MenuMacroID=\"HelloHost_Example2\" KeyTip=\"\">               &lt;TooltipTitle xlate=\"true\" UID=\"XLS_HelloHost_Example2\">\u0412\u044b\u0432\u043e\u0434\u0438\u0442 \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u043f\u0435\u0440\u0432\u044b\u0445 10 \u0441\u043b\u043e\u044f\u0445&lt;\/TooltipTitle>             &lt;\/RibbonCommandButton>           &lt;\/RibbonRow>           &lt;RibbonRow UID=\"RBNUR_Sample_Ribbon_Row_3_Main_GroupB\">             &lt;RibbonCommandButton UID=\"RBNU_HelloHost_Example3\" Id=\"AcRibbonCommandButton\" Text=\"\u041a\u043e\u043c\u0430\u043d\u0434\u0430 3\" ButtonStyle=\"SmallWithText\" MenuMacroID=\"HelloHost_Example3\" KeyTip=\"\">               &lt;TooltipTitle xlate=\"true\" UID=\"XLS_ListCrCr\">\u0422\u0440\u0435\u0442\u044c\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430&lt;\/TooltipTitle>             &lt;\/RibbonCommandButton>           &lt;\/RibbonRow>         &lt;\/RibbonRowPanel>       &lt;RibbonPanelBreak Id=\"RibbonPanelBreak\"\/>        &lt;RibbonRowPanel UID=\"\" ResizeStyle=\"None\" ResizePriority=\"100\"<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-415472","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/415472","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=415472"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/415472\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=415472"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=415472"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=415472"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}