{"id":410399,"date":"2024-06-29T21:22:26","date_gmt":"2024-06-29T21:22:26","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=410399"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=410399","title":{"rendered":"<span>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438 \u0447\u0435\u0440\u0435\u0437 API 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<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/238\/601\/896\/23860189625aed71dd8b642c64dec3a2.png\" width=\"780\" height=\"440\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/238\/601\/896\/23860189625aed71dd8b642c64dec3a2.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0412 nanoCAD \u043f\u0440\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u043f\u0435\u0447\u0430\u0442\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u043f\u0435\u0447\u0430\u0442\u0438. \u0415\u0441\u043b\u0438 \u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e, \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043d\u0430\u043f\u0435\u0447\u0430\u0442\u0430\u043d\u043e \u0441\u043e\u0432\u0441\u0435\u043c \u043d\u0435 \u0442\u043e, \u0447\u0442\u043e \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u043e\u0441\u044c.<\/p>\n<p>\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c\u0441\u044f, \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u043e\u0431\u043b\u0430\u0441\u0442\u044c\u044e \u043f\u0435\u0447\u0430\u0442\u0438 \u0447\u0435\u0440\u0435\u0437 API nanoCAD.<\/p>\n<figure class=\"float full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/dce\/8e7\/748\/dce8e7748927a0fdcd39f529e64d6d32.png\" alt=\"\u0420\u0438\u0441. 1\" title=\"\u0420\u0438\u0441. 1\" width=\"525\" height=\"126\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/dce\/8e7\/748\/dce8e7748927a0fdcd39f529e64d6d32.png\"\/><figcaption>\u0420\u0438\u0441. 1<\/figcaption><\/figure>\n<p>\u0427\u0442\u043e\u0431\u044b \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u043f\u0435\u0447\u0430\u0442\u0438 \u0447\u0435\u0440\u0435\u0437 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 nanoCAD, \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u043e\u043a\u043d\u043e <em>\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043b\u0438\u0441\u0442\u0430<\/em>, \u043b\u0438\u0431\u043e <em>\u041f\u0435\u0447\u0430\u0442\u044c<\/em>. \u0412 \u044d\u0442\u043e\u043c \u043e\u043a\u043d\u0435 \u0435\u0441\u0442\u044c \u0431\u043b\u043e\u043a <em>\u041e\u0431\u043b\u0430\u0441\u0442\u044c \u043f\u0435\u0447\u0430\u0442\u0438<\/em>, \u0433\u0434\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0432\u044b\u043f\u0430\u0434\u0430\u044e\u0449\u0438\u0439 \u0441\u043f\u0438\u0441\u043e\u043a, \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043d\u0443\u0436\u043d\u044b\u0439 \u0442\u0438\u043f \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438 (\u0440\u0438\u0441. 1).<\/p>\n<details class=\"spoiler\">\n<summary>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438 \u0447\u0435\u0440\u0435\u0437 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 nanoCAD \u0432 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 \u043c\u043e\u0434\u0435\u043b\u0438<\/summary>\n<div class=\"spoiler__content\">\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/38e\/780\/519\/38e780519b7d3ac33355ed7883115e22.gif\" alt=\"\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438 \u0432 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 nanoCAD\" title=\"\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438 \u0432 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 nanoCAD\" width=\"1038\" height=\"836\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/38e\/780\/519\/38e780519b7d3ac33355ed7883115e22.gif\"\/><figcaption>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438 \u0432 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 nanoCAD<\/figcaption><\/figure>\n<\/div>\n<\/details>\n<details class=\"spoiler\">\n<summary>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438 \u0447\u0435\u0440\u0435\u0437 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 nanoCAD \u0432 \u043b\u0438\u0441\u0442\u0435<\/summary>\n<div class=\"spoiler__content\">\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/ec4\/038\/fc5\/ec4038fc595d37e613d6d9ee5ed89aa6.gif\" alt=\"\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438 \u0432 \u043b\u0438\u0441\u0442\u0435 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 nanoCAD\" title=\"\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438 \u0432 \u043b\u0438\u0441\u0442\u0435 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 nanoCAD\" width=\"1038\" height=\"836\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/ec4\/038\/fc5\/ec4038fc595d37e613d6d9ee5ed89aa6.gif\"\/><figcaption>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438 \u0432 \u043b\u0438\u0441\u0442\u0435 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 nanoCAD<\/figcaption><\/figure>\n<\/div>\n<\/details>\n<figure class=\"float full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/04b\/597\/baa\/04b597baa5a44fa4d6227868f7d3b48f.png\" width=\"583\" height=\"97\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/04b\/597\/baa\/04b597baa5a44fa4d6227868f7d3b48f.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 API nanoCAD \u0437\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e <code>PlotType<\/code> \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 nanoCAD.<\/p>\n<p>\u0427\u0442\u043e\u0431\u044b \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f, \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u043e\u0431\u043b\u0430\u0441\u0442\u044f\u043c\u0438 \u043f\u0435\u0447\u0430\u0442\u0438 \u0447\u0435\u0440\u0435\u0437 API nanoCAD, \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c .NET (C#)- \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u043c\u0443 \u043b\u0438\u0441\u0442\u0443 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u0443\u044e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u043f\u0435\u0447\u0430\u0442\u0438.<\/p>\n<p>\u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043f\u043e\u044d\u0442\u0430\u043f\u043d\u043e, \u043a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0442\u0430\u043a\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435.    <\/p>\n<p><strong>\u0428\u0430\u0433 1.<\/strong>\u00a0<strong>\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0432 Visual Studio \u043f\u0440\u043e\u0435\u043a\u0442<\/strong>\u00a0<strong>\u0442\u0438\u043f\u0430 \u00ab\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 (.NET Stadard)\u00bb<\/strong>. \u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u043a \u043d\u0435\u043c\u0443 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 hostmgd.dll, hostdbmgd.dll \u0438 ncauto.dll.    <\/p>\n<p><strong>\u0428\u0430\u0433 2.<\/strong>\u00a0<strong>\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u043a\u043b\u0430\u0441\u0441<\/strong>, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0431\u0443\u0434\u0435\u0442 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c\u0441\u044f \u043c\u0435\u0442\u043e\u0434, \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u044e\u0449\u0438\u0439 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u043c\u0443 \u043b\u0438\u0441\u0442\u0443 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u0443\u044e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u043f\u0435\u0447\u0430\u0442\u0438. <\/p>\n<pre><code class=\"cs\">public partial class Commands {     [Teigha.Runtime.CommandMethod(\"SetPlotArea\")]     public void SetPlotAreaToActiveLayout()     {     } }<\/code><\/pre>\n<p>\u0412 \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u0448\u0430\u0433\u0430\u0445 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442\u0441\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u043f\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043c\u0435\u0442\u043e\u0434\u0430 <code>SetPlotAreaToActiveLayout()<\/code>.    <\/p>\n<p><strong>\u0428\u0430\u0433 3.<\/strong>\u00a0<strong>\u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0443 nanoCAD<\/strong>\u00a0\u0438 \u0435\u0433\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c:<\/p>\n<pre><code class=\"cs\">\/\/ \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0441\u0441\u044b\u043b\u043a\u0438 \u043d\u0430 \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442 HostMgd.ApplicationServices.Document doc =    HostMgd.ApplicationServices.Application.DocumentManager.MdiActiveDocument; nanoCAD.Document comDoc = doc.AcadDocument as nanoCAD.Document;  \/\/ \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0441\u0441\u044b\u043b\u043a\u0438 \u043d\u0430 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 HostMgd.EditorInput.Editor ed = doc.Editor;  \/\/ \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0441\u0441\u044b\u043b\u043a\u0438 \u043d\u0430 \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u043b\u0438\u0441\u0442 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 OdaX.AcadLayout activeLayout = comDoc.ActiveLayout;<\/code><\/pre>\n<p>\u041f\u043e\u043c\u0438\u043c\u043e \u0441\u0441\u044b\u043b\u043e\u043a \u043d\u0430 .NET- \u0438 COM-\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u044b nanoCAD, \u043d\u0430\u043c \u0431\u0443\u0434\u0443\u0442 \u043d\u0443\u0436\u043d\u044b:<\/p>\n<ul>\n<li>\n<p>\u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u044b \u0432\u043e\u0437\u044c\u043c\u0435\u043c \u0438\u0437 .NET-\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 (\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f <code>doc<\/code>);<\/p>\n<\/li>\n<li>\n<p>\u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u043b\u0438\u0441\u0442, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u044b \u0432\u043e\u0437\u044c\u043c\u0435\u043c \u0438\u0437 COM-\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 nanoCAD (\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f <code>comDoc<\/code>).<\/p>\n<\/li>\n<\/ul>\n<p>\u0427\u0435\u0440\u0435\u0437 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 \u0431\u0443\u0434\u0435\u043c \u0432\u0435\u0441\u0442\u0438 \u0434\u0438\u0430\u043b\u043e\u0433 \u0441 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c: \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0442\u044c \u0443 \u043d\u0435\u0433\u043e \u0434\u0430\u043d\u043d\u044b\u0435 \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0435\u0433\u043e \u043e\u0442\u0432\u0435\u0442\u044b. \u0427\u0435\u0440\u0435\u0437 \u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0430 \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u043b\u0438\u0441\u0442 \u0431\u0443\u0434\u0435\u043c \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0435\u0433\u043e \u0442\u0435\u043a\u0443\u0449\u0438\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0438 \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u0438\u0445.<\/p>\n<p><strong>\u0428\u0430\u0433 4. \u0424\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u043c \u043f\u0440\u0438\u0433\u043b\u0430\u0448\u0430\u044e\u0449\u0435\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u0434\u043b\u044f \u0432\u044b\u0431\u043e\u0440\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438<\/strong>.<\/p>\n<p>\u041f\u0440\u0438 \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043b\u0443\u0447\u0448\u0435 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043a \u043d\u0435\u043c\u0443 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u0441\u043b\u043e\u0432\u0430, \u0447\u0442\u043e\u0431\u044b \u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0431\u044b\u043b\u0430 \u043f\u043e\u0434\u0441\u043a\u0430\u0437\u043a\u0430, \u0434\u0430\u044e\u0449\u0430\u044f \u043f\u043e\u043d\u044f\u0442\u044c, \u043a\u0430\u043a\u043e\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 \u043e\u0442\u0432\u0435\u0442\u0430 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0438\u043d\u044f\u0442 \u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u043d \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043e\u0439. \u0412 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u043c\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0441\u043b\u0443\u0436\u0430\u0442 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u0435\u0439 \u043f\u0435\u0447\u0430\u0442\u0438:<\/p>\n<pre><code class=\"cs\">\/\/ \u041f\u0440\u0438\u0433\u043b\u0430\u0448\u0430\u044e\u0449\u0435\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0432\u044b\u0431\u043e\u0440\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438 HostMgd.EditorInput.PromptStringOptions promptOptions =    new HostMgd.EditorInput.PromptStringOptions(\"\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u043f\u0435\u0447\u0430\u0442\u0438\");  \/\/ \u0417\u0430\u043f\u0438\u0441\u044c \u0432 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u0441\u043b\u043e\u0432\u0430 \u043f\u0440\u0438\u0433\u043b\u0430\u0448\u0430\u044e\u0449\u0435\u0433\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0439 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u0442\u0438\u043f\u043e\u0432 \/\/ \u043e\u0431\u043b\u0430\u0441\u0442\u0435\u0439 \u043f\u0435\u0447\u0430\u0442\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b \u0438 \u0432 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 \u043c\u043e\u0434\u0435\u043b\u0438, \u0438 \u0432 \u043b\u0438\u0441\u0442\u0430\u0445  promptOptions.Keywords.Add(\"\u042d\u043a\u0440\u0430\u043d\"); promptOptions.Keywords.Add(\"\u0413\u0440\u0430\u043d\u0438\u0446\u044b\"); promptOptions.Keywords.Add(\"\u0420\u0430\u043c\u043a\u0430\");  \/\/ \u0414\u043b\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438 \"\u0412\u0438\u0434\" \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044e, \/\/ \u0432 \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0431\u0443\u0434\u0435\u043c \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0432\u0438\u0434\u043e\u0432 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043b\u0438\u0441\u0442\u0430 System.Collections.Generic.List&lt;string> namedViews =    new System.Collections.Generic.List&lt;string>();  \/\/ \u0422\u0438\u043f \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438 \"\u0412\u0438\u0434\" \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0442\u043e\u043b\u044c\u043a\u043e,  \/\/ \u0435\u0441\u043b\u0438 \u0443 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043b\u0438\u0441\u0442\u0430 \u0435\u0441\u0442\u044c \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u0435 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0432\u0438\u0434\u044b if (comDoc.Views.Count != 0) {     \/\/ \u0415\u0441\u043b\u0438 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f Views \u043d\u0435 \u043f\u0443\u0441\u0442\u0430\u044f, \u0438\u0449\u0435\u043c \u0432 \u043d\u0435\u0439 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0432\u0438\u0434\u044b      \/\/ \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043b\u0438\u0441\u0442\u0430     foreach (OdaX.AcadView namedView in comDoc.Views)     {         \/\/ \u0415\u0441\u043b\u0438 \u043d\u0430\u0439\u0434\u0435\u043d \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0432\u0438\u0434 \u0434\u043b\u044f \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043b\u0438\u0441\u0442\u0430,         \/\/ \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u044d\u0442\u043e\u0433\u043e \u0432\u0438\u0434\u0430 \u0432 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044e namedViews         if (namedView.LayoutId == activeLayout.ObjectID)            namedViews.Add(namedView.Name);     }      \/\/ \u0415\u0441\u043b\u0438 \u0432 \u0438\u0442\u043e\u0433\u0435 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f namedViews \u043d\u0435 \u043f\u0443\u0441\u0442\u0430\u044f,     \/\/ \u0442\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043a \u0437\u0430\u043f\u0440\u043e\u0441\u0443 \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e \"\u0412\u0438\u0434\"     if (namedViews.Count != 0) promptOptions.Keywords.Add(\"\u0412\u0438\u0434\"); }  \/\/ \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043a \u0437\u0430\u043f\u0440\u043e\u0441\u0443 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u0441\u043b\u043e\u0432 \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0442\u0438\u043f\u0430 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043b\u0438\u0441\u0442\u0430 if (activeLayout.ModelType) promptOptions.Keywords.Add(\"\u041b\u0438\u043c\u0438\u0442\u044b\"); else promptOptions.Keywords.Add(\"\u041b\u0438\u0441\u0442\");  \/\/ \u0417\u0430\u043f\u0440\u043e\u0441 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u0441 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u043c \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u043f\u0435\u0447\u0430\u0442\u0438 HostMgd.EditorInput.PromptResult result = ed.GetString(promptOptions); <\/code><\/pre>\n<p>\u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0442\u0435\u043a\u0441\u0442 \u043f\u0440\u0438\u0433\u043b\u0430\u0448\u0430\u044e\u0449\u0435\u0433\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f, \u043f\u043e\u0442\u043e\u043c \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043a \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044e \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u0441\u043b\u043e\u0432\u0430:<\/p>\n<ul>\n<li>\n<p>\u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438 \u00ab\u042d\u043a\u0440\u0430\u043d\u00bb, \u00ab\u0413\u0440\u0430\u043d\u0438\u0446\u044b\u00bb, \u00ab\u0420\u0430\u043c\u043a\u0430\u00bb \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0434\u043b\u044f \u043b\u044e\u0431\u043e\u0433\u043e \u0442\u0438\u043f\u0430 \u043b\u0438\u0441\u0442\u0430 \u0438 \u043f\u0440\u0438 \u043b\u044e\u0431\u044b\u0445 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 nanoCAD. \u0418\u0445 \u0441\u0440\u0430\u0437\u0443 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043a \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u043c \u0441\u043b\u043e\u0432\u0430\u043c \u0437\u0430\u043f\u0440\u043e\u0441\u0430;<\/p>\n<\/li>\n<li>\n<p>\u043e\u0431\u043b\u0430\u0441\u0442\u044c \u043f\u0435\u0447\u0430\u0442\u0438 \u00ab\u0412\u0438\u0434\u00bb \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0434\u043b\u044f \u0432\u044b\u0431\u043e\u0440\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0441\u043b\u0438 \u0432 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u043c \u043b\u0438\u0441\u0442\u0435 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 nanoCAD \u0435\u0441\u0442\u044c \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u0435 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0432\u0438\u0434\u044b. \u0412\u0441\u0435 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0432\u0438\u0434\u044b \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0432 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438 <code>Views<\/code> COM-\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430; <\/p>\n<\/li>\n<li>\n<p>\u043e\u0431\u043b\u0430\u0441\u0442\u044c \u043f\u0435\u0447\u0430\u0442\u0438 \u00ab\u041b\u0438\u043c\u0438\u0442\u044b\u00bb \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 \u043c\u043e\u0434\u0435\u043b\u0438, \u0442\u043e \u0435\u0441\u0442\u044c \u043f\u0440\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0438 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 <code>ModelType<\/code> \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043b\u0438\u0441\u0442\u0430, \u0440\u0430\u0432\u043d\u043e\u043c <code>true<\/code>;<\/p>\n<\/li>\n<li>\n<p>\u043e\u0431\u043b\u0430\u0441\u0442\u044c \u043f\u0435\u0447\u0430\u0442\u0438 \u00ab\u041b\u0438\u0441\u0442\u00bb \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u043b\u0438\u0441\u0442\u043e\u0432, \u0442\u043e \u0435\u0441\u0442\u044c \u0432 \u0441\u043b\u0443\u0447\u0430\u0435, \u043a\u043e\u0433\u0434\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 <code>ModelType<\/code> \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043b\u0438\u0441\u0442\u0430 \u0440\u0430\u0432\u043d\u043e <code>false<\/code>.<\/p>\n<\/li>\n<\/ul>\n<p>\u0421\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u043d\u0430\u043c\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u0432 \u043d\u043e\u0432\u043e\u043c \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0435 \u0431\u0435\u0437 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u0445 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0432\u0438\u0434\u043e\u0432 \u0432 \u043b\u0438\u0441\u0442\u0435 \u0431\u0443\u0434\u0435\u0442 \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. 2:<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/09f\/7c1\/e17\/09f7c1e17f1e209caf584f8723679ed1.png\" alt=\"\u0420\u0438\u0441. 2\" title=\"\u0420\u0438\u0441. 2\" width=\"324\" height=\"234\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/09f\/7c1\/e17\/09f7c1e17f1e209caf584f8723679ed1.png\"\/><figcaption>\u0420\u0438\u0441. 2<\/figcaption><\/figure>\n<p>\u0412 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 \u0432\u043c\u0435\u0441\u0442\u043e \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0433\u043e \u0441\u043b\u043e\u0432\u0430 \u00ab\u041b\u0438\u0441\u0442\u00bb \u0431\u0443\u0434\u0435\u0442 \u0434\u0440\u0443\u0433\u043e\u0435 \u2013 \u00ab\u041b\u0438\u043c\u0438\u0442\u044b\u00bb.<\/p>\n<p><strong>\u0428\u0430\u0433 5. \u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043e\u0442\u0432\u0435\u0442\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f.<\/strong><\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0434\u043e\u043b\u0436\u0435\u043d \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043e\u0434\u043d\u043e \u0438\u0437 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u0441\u043b\u043e\u0432, \u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435 \u043d\u0443\u0436\u043d\u043e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0435\u0433\u043e \u043e\u0442\u0432\u0435\u0442.<\/p>\n<p>\u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442 \u043b\u0438 \u0432\u0432\u0435\u0434\u0435\u043d\u043d\u044b\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c \u043e\u0442\u0432\u0435\u0442 \u0441 \u043e\u0434\u043d\u0438\u043c \u0438\u0437 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u0441\u043b\u043e\u0432 \u0437\u0430\u043f\u0440\u043e\u0441\u0430. \u0415\u0441\u043b\u0438 \u0434\u0430, \u0442\u043e \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u043c \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443, \u0435\u0441\u043b\u0438 \u043d\u0435\u0442 \u2013 \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u0435\u043c \u0440\u0430\u0431\u043e\u0442\u0443 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u043e\u0441\u0442\u0430\u0432\u0438\u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u0435\u0447\u0430\u0442\u0438 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043b\u0438\u0441\u0442\u0430 \u0431\u0435\u0437 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439:<\/p>\n<pre><code class=\"cs\">\/\/ \u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u0433\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 if (result.Status == HostMgd.EditorInput.PromptStatus.Keyword) {      switch (result.StringResult)      {      }       \/\/ \u0421\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u043b\u043e\u0432\u0430\u0440\u044f \u0434\u043b\u044f \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0439       \/\/ \u0442\u0438\u043f\u043e\u0432 \u043e\u0431\u043b\u0430\u0441\u0442\u0435\u0439 \u043f\u0435\u0447\u0430\u0442\u0438 \u0432 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0438 OdaX.AcPlotType \u0438 \u0432 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435      System.Collections.Generic.Dictionary&lt;string, OdaX.AcPlotType> dictionary =        new System.Collections.Generic.Dictionary&lt;string, OdaX.AcPlotType>();      dictionary.Add(\"\u042d\u043a\u0440\u0430\u043d\", OdaX.AcPlotType.acDisplay);      dictionary.Add(\"\u0413\u0440\u0430\u043d\u0438\u0446\u044b\", OdaX.AcPlotType.acExtents);      dictionary.Add(\"\u041b\u0438\u0441\u0442\", OdaX.AcPlotType.acLayout);      dictionary.Add(\"\u041b\u0438\u043c\u0438\u0442\u044b\", OdaX.AcPlotType.acLimits);      dictionary.Add(\"\u0412\u0438\u0434\", OdaX.AcPlotType.acView);      dictionary.Add(\"\u0420\u0430\u043c\u043a\u0430\", OdaX.AcPlotType.acWindow);       \/\/ \u041f\u043e\u0438\u0441\u043a \u0432 \u0441\u043b\u043e\u0432\u0430\u0440\u0435 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u043e\u0433\u043e \u0442\u0438\u043f\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438       \/\/ \u0438 \u0437\u0430\u043f\u0438\u0441\u044c \u043d\u0430\u0439\u0434\u0435\u043d\u043d\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e ptResult      OdaX.AcPlotType ptResult;      dictionary.TryGetValue(result.StringResult, out ptResult);       \/\/ \u041d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u043e\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u043c\u0443 \u043b\u0438\u0441\u0442\u0443      activeLayout.PlotType = ptResult;      ed.WriteMessage(\"\u041b\u0438\u0441\u0442\u0443 '{0}' \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u043f\u0435\u0447\u0430\u0442\u0438 '{1}'\",                       activeLayout.Name, result.StringResult); } else ed.WriteMessage(\"\u041e\u0431\u043b\u0430\u0441\u0442\u044c \u043f\u0435\u0447\u0430\u0442\u0438 \u043d\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0430\");<\/code><\/pre>\n<p>\u0427\u0442\u043e\u0431\u044b \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u043f\u0435\u0447\u0430\u0442\u0438 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043b\u0438\u0441\u0442\u0430, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438 \u0438\u0437 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u0441\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c \u0438\u0437 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f <code>OdaX.AcPlotType<\/code>. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0441\u043b\u043e\u0432\u0430\u0440\u044c, \u0432 \u043a\u0430\u0436\u0434\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u0430\u0440\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439: \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e \u0438\u0437 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0438 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0435 \u0435\u043c\u0443 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f <code>OdaX.AcPlotType<\/code>. \u0414\u0430\u043b\u0435\u0435, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u044d\u0442\u043e\u0442 \u0441\u043b\u043e\u0432\u0430\u0440\u044c, \u043c\u044b \u0441\u043c\u043e\u0436\u0435\u043c \u043b\u0435\u0433\u043a\u043e \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c \u043d\u0443\u0436\u043d\u043e\u0435 \u043d\u0430\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 <code>OdaX.AcPlotType<\/code> \u043f\u043e \u043e\u0442\u0432\u0435\u0442\u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f.<\/p>\n<p>\u041f\u0440\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u043e\u0442\u0432\u0435\u0442\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0442\u0430\u043a\u0436\u0435 \u0441\u0442\u043e\u0438\u0442 \u0443\u0447\u0435\u0441\u0442\u044c, \u0447\u0442\u043e \u0435\u0441\u0442\u044c \u0434\u0432\u0430 \u0442\u0438\u043f\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0442\u0440\u0435\u0431\u0443\u044e\u0442\u0441\u044f \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435, \u2013 \u044d\u0442\u043e <code>acView<\/code> (\u00ab\u0412\u0438\u0434\u00bb) \u0438 <code>acWindow<\/code> (\u00ab\u0420\u0430\u043c\u043a\u0430\u00bb). \u0414\u043b\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438 \u00ab\u0412\u0438\u0434\u00bb \u043d\u0443\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0432\u0438\u0434\u0430, \u0430 \u0434\u043b\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438 \u00ab\u0420\u0430\u043c\u043a\u0430\u00bb \u2013 \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0434\u0432\u0435 \u0442\u043e\u0447\u043a\u0438 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438. \u0422\u043e \u0435\u0441\u0442\u044c, \u0435\u0441\u043b\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0432\u044b\u0431\u0440\u0430\u043b \u043e\u0434\u0438\u043d \u0438\u0437 \u044d\u0442\u0438\u0445 \u0434\u0432\u0443\u0445 \u0442\u0438\u043f\u043e\u0432 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438, \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u0447\u0435\u043c \u043f\u0440\u043e\u0441\u0442\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 <code>PlotType<\/code>.<\/p>\n<p>\u0412 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u0435 \u043a\u043e\u0434\u0430, \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u043d\u043e\u043c \u0432 \u044d\u0442\u043e\u043c \u0448\u0430\u0433\u0435, \u0435\u0441\u0442\u044c \u043f\u0443\u0441\u0442\u043e\u0439 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 <code>switch<\/code>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u044b\u043b \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d \u0438\u043c\u0435\u043d\u043d\u043e \u0434\u043b\u044f \u044d\u0442\u0438\u0445 \u0434\u0432\u0443\u0445 \u043e\u0431\u043b\u0430\u0441\u0442\u0435\u0439 \u043f\u0435\u0447\u0430\u0442\u0438:<\/p>\n<pre><code>switch (result.StringResult) { }<\/code><\/pre>\n<p>\u0422\u0430\u043a\u0443\u044e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0438\u043c\u0435\u043d\u043d\u043e \u0434\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 <code>PlotType<\/code>, \u0438\u043d\u0430\u0447\u0435 \u043d\u0430\u0448\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043d\u0435 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u043a\u0430\u043a \u043d\u0430\u0434\u043e.<\/p>\n<p><strong>\u0428\u0430\u0433 5.1. \u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0433\u043e \u0441\u043b\u043e\u0432\u0430 \u00ab\u0412\u0438\u0434\u00bb.<\/strong><\/p>\n<pre><code class=\"cs\">case \"\u0412\u0438\u0434\":     {         \/\/ \u041f\u0440\u0438\u0433\u043b\u0430\u0448\u0430\u044e\u0449\u0435\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0432\u044b\u0431\u043e\u0440\u0430 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0432\u0438\u0434\u0430         HostMgd.EditorInput.PromptStringOptions opts =           new HostMgd.EditorInput.PromptStringOptions(\"\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0432\u0438\u0434\");                                  \/\/ \u0417\u0430\u043f\u0438\u0441\u044c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0439 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0432\u0438\u0434\u043e\u0432 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043b\u0438\u0441\u0442\u0430         \/\/ \u0432 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u0441\u043b\u043e\u0432\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u0430         namedViews.ForEach(nv => opts.Keywords.Add(nv));          \/\/ \u0417\u0430\u043f\u0440\u043e\u0441 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u0441 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u043c \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0432\u0438\u0434         HostMgd.EditorInput.PromptResult res = ed.GetString(opts);          \/\/ \u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u0433\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u0430         if (res.Status == HostMgd.EditorInput.PromptStatus.Keyword)             activeLayout.ViewToPlot = res.StringResult;         break;     }<\/code><\/pre>\n<p>\u0415\u0441\u043b\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0432\u044b\u0431\u0440\u0430\u043b \u0442\u0438\u043f \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438 \u00ab\u0412\u0438\u0434\u00bb, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0435\u0449\u0435 \u043e\u0434\u0438\u043d \u0437\u0430\u043f\u0440\u043e\u0441, \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0432\u044b\u0431\u0435\u0440\u0435\u0442, \u043a\u0430\u043a\u043e\u0439 \u0438\u043c\u0435\u043d\u043d\u043e \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0432\u0438\u0434 \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d. <\/p>\n<p>\u0414\u043b\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0432\u044b\u0431\u0440\u0430\u043b \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0432\u0438\u0434, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0432 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u0441\u043b\u043e\u0432\u0430 \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0432\u0438\u0434\u043e\u0432 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043b\u0438\u0441\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0432 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438 <code>namedViews<\/code> . \u0414\u0430\u043b\u0435\u0435 \u043d\u0443\u0436\u043d\u043e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043e\u0442\u0432\u0435\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f. \u0412\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0439 \u0438\u043c \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0432\u0438\u0434 \u043d\u0430\u0437\u043d\u0430\u0447\u0430\u0435\u043c \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0443 <code>ViewToPlot<\/code> \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043b\u0438\u0441\u0442\u0430.<\/p>\n<p>\u0418 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u043c\u0435\u043d\u044f\u0435\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 <code>PlotType<\/code> \u043d\u0430 <code>acView<\/code>.<\/p>\n<p><strong>\u0428\u0430\u0433 5.2. \u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0433\u043e \u0441\u043b\u043e\u0432\u0430 \u00ab\u0420\u0430\u043c\u043a\u0430\u00bb.<\/strong><\/p>\n<pre><code class=\"cs\">case \"\u0420\u0430\u043c\u043a\u0430\":     {                     \/\/ \u0417\u0430\u043f\u0440\u043e\u0441 \u0442\u043e\u0447\u043a\u0438 \u043b\u0435\u0432\u043e\u0433\u043e \u043d\u0438\u0436\u043d\u0435\u0433\u043e \u0443\u0433\u043b\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438       var point1 = ed.GetPoint(\"\u0423\u043a\u0430\u0436\u0438\u0442\u0435 \u043b\u0435\u0432\u0443\u044e \u043d\u0438\u0436\u043d\u044e\u044e \u0442\u043e\u0447\u043a\u0443 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438:\");              if (point1.Status == HostMgd.EditorInput.PromptStatus.OK)       {         \/\/ \u0412\u044b\u0432\u043e\u0434 \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u044c \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u0438         ed.WriteMessage(\"({0};{1})\", point1.Value.X, point1.Value.Y);                  \/\/ \u0417\u0430\u043f\u0440\u043e\u0441 \u0442\u043e\u0447\u043a\u0438 \u043f\u0440\u0430\u0432\u043e\u0433\u043e \u0432\u0435\u0440\u0445\u043d\u0435\u0433\u043e \u0443\u0433\u043b\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438         var point2 = ed.GetCorner(\"\u0423\u043a\u0430\u0436\u0438\u0442\u0435 \u043f\u0440\u0430\u0432\u0443\u044e \u0432\u0435\u0440\u0445\u043d\u044e\u044e \u0442\u043e\u0447\u043a\u0443 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438:\", point1.Value);                  if(point2.Status== HostMgd.EditorInput.PromptStatus.OK)         {           \/\/ \u0412\u044b\u0432\u043e\u0434 \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u044c \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u0438           ed.WriteMessage(\"({0};{1})\", point2.Value.X, point2.Value.Y);                      \/\/ \u041e\u0447\u0438\u0441\u0442\u043a\u0430 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438 PlotAreas           nanoCAD.InanoCADPlot plot = (nanoCAD.InanoCADPlot)comDoc.Plot;           nanoCAD.InanoCADPlotCustomParams param = plot.CustomPlotSettings[activeLayout];                      if (param.PlotAreas.Count != 0)           {             \/\/ \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438 \"\u0420\u0430\u043c\u043a\u0430\" \u043c\u0435\u0442\u043e\u0434\u043e\u043c SetWindowToPlot()              \/\/ \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0432\u0435\u0440\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0441\u043b\u0438 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f PlotAreas \u043f\u0443\u0441\u0442\u0430\u044f             param.PlotAreas.Clear();             plot.CustomPlotSettings[activeLayout] = param;           }                      \/\/ \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u0432\u0438\u0434\u0430           Teigha.DatabaseServices.ViewTableRecord curView = ed.GetCurrentView();                      \/\/ \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u043c\u0430\u0442\u0440\u0438\u0446\u044b \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u0437 WCS \u0432 DCS           Teigha.Geometry.Matrix3d matrix;           matrix = Teigha.Geometry.Matrix3d.PlaneToWorld(curView.ViewDirection);           matrix = Teigha.Geometry.Matrix3d.Displacement(             curView.Target - Teigha.Geometry.Point3d.Origin)* matrix;           matrix = Teigha.Geometry.Matrix3d.Rotation(-curView.ViewTwist, curView.ViewDirection, curView.Target) * matrix;           matrix = matrix.Inverse();                      \/\/ \u041f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0445 \u0442\u043e\u0447\u0435\u043a \u0432 DCS           double[] ptMin = new double[] { point1.Value.TransformBy(matrix).X, point1.Value.TransformBy(matrix).Y };           double[] ptMax = new double[] { point2.Value.TransformBy(matrix).X, point2.Value.TransformBy(matrix).Y };                      \/\/ \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u043e\u0432\u043e\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438 \"\u0420\u0430\u043c\u043a\u0430\" \u043c\u0435\u0442\u043e\u0434\u043e\u043c SetWindowToPlot()           activeLayout.SetWindowToPlot(ptMin, ptMax);         }       }       else ed.WriteMessage(\"Cancel\");       break;     }<\/code><\/pre>\n<p>\u0415\u0441\u043b\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0432\u044b\u0431\u0440\u0430\u043b \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u043f\u0435\u0447\u0430\u0442\u0438 \u00ab\u0420\u0430\u043c\u043a\u0430\u00bb, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0438\u0442\u044c \u0443 \u043d\u0435\u0433\u043e \u0434\u0432\u0435 \u0442\u043e\u0447\u043a\u0438 \u044d\u0442\u043e\u0439 \u043f\u0440\u044f\u043c\u043e\u0443\u0433\u043e\u043b\u044c\u043d\u043e\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438: \u043b\u0435\u0432\u044b\u0439 \u043d\u0438\u0436\u043d\u0438\u0439 \u0438 \u043f\u0440\u0430\u0432\u044b\u0439 \u0432\u0435\u0440\u0445\u043d\u0438\u0439 \u0443\u0433\u043b\u044b. <\/p>\n<p>\u0412 \u043d\u0430\u0448\u0443 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b \u0442\u043e\u0447\u0435\u043a, \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c, \u0431\u0443\u0434\u0443\u0442 \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u044b \u0432 WCS (World Coordinate System). \u0414\u043b\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u043f\u0435\u0447\u0430\u0442\u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u043e\u0442\u043e\u0431\u0440\u0430\u0437\u0438\u043b\u0430\u0441\u044c \u043d\u0430 \u044d\u043a\u0440\u0430\u043d\u0435, \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b \u044d\u0442\u0438\u0445 \u0442\u043e\u0447\u0435\u043a \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u043f\u0435\u0440\u0435\u0432\u0435\u0434\u0435\u043d\u044b \u0432 DCS (Display Coordinate System). \u0414\u0430\u043b\u0435\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u043c \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b \u0442\u043e\u0447\u0435\u043a \u0432 \u043c\u0435\u0442\u043e\u0434 <code>SetWindowToPlot()<\/code>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b \u0434\u0432\u0443\u0445 \u0442\u043e\u0447\u0435\u043a \u0432 \u043f\u0440\u044f\u043c\u043e\u0443\u0433\u043e\u043b\u044c\u043d\u0443\u044e \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u043f\u0435\u0447\u0430\u0442\u0438.<\/p>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0432\u0441\u0435\u0445 \u044d\u0442\u0438\u0445 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u043c\u0435\u043d\u044f\u0435\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 <code>PlotType<\/code> \u043d\u0430 <code>acWindow<\/code>. <\/p>\n<p><strong>\u0428\u0430\u0433 6. \u041a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u043c \u043d\u0430\u0448\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u0432 nanoCAD \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c.<\/strong><\/p>\n<details class=\"spoiler\">\n<summary>\u0422\u0435\u043a\u0441\u0442 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0446\u0435\u043b\u0438\u043a\u043e\u043c<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"cs\">public partial class Commands {     [Teigha.Runtime.CommandMethod(\"SetPlotArea\")]     public void SetPlotAreaToActiveLayout()     {         \/\/ \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0441\u0441\u044b\u043b\u043a\u0438 \u043d\u0430 \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442         HostMgd.ApplicationServices.Document doc = HostMgd.ApplicationServices.Application.DocumentManager.MdiActiveDocument;         nanoCAD.Document comDoc = doc.AcadDocument as nanoCAD.Document;          \/\/ \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0441\u0441\u044b\u043b\u043a\u0438 \u043d\u0430 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430         HostMgd.EditorInput.Editor ed = doc.Editor;          \/\/ \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0441\u0441\u044b\u043b\u043a\u0438 \u043d\u0430 \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u043b\u0438\u0441\u0442 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430         OdaX.AcadLayout activeLayout = comDoc.ActiveLayout;          \/\/ \u041f\u0440\u0438\u0433\u043b\u0430\u0448\u0430\u044e\u0449\u0435\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0432\u044b\u0431\u043e\u0440\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438         HostMgd.EditorInput.PromptStringOptions promptOptions = new HostMgd.EditorInput.PromptStringOptions(\"\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u043f\u0435\u0447\u0430\u0442\u0438\");          \/\/ \u0417\u0430\u043f\u0438\u0441\u044c \u0432 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u0441\u043b\u043e\u0432\u0430 \u043f\u0440\u0438\u0433\u043b\u0430\u0448\u0430\u044e\u0449\u0435\u0433\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0439 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445          \/\/ \u0442\u0438\u043f\u043e\u0432 \u043e\u0431\u043b\u0430\u0441\u0442\u0435\u0439 \u043f\u0435\u0447\u0430\u0442\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b \u0438 \u0432 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 \u043c\u043e\u0434\u0435\u043b\u0438, \u0438 \u0432 \u043b\u0438\u0441\u0442\u0430\u0445         promptOptions.Keywords.Add(\"\u042d\u043a\u0440\u0430\u043d\");         promptOptions.Keywords.Add(\"\u0413\u0440\u0430\u043d\u0438\u0446\u044b\");         promptOptions.Keywords.Add(\"\u0420\u0430\u043c\u043a\u0430\");          \/\/ \u0414\u043b\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438 \"\u0412\u0438\u0434\" \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044e string,         \/\/ \u0432 \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0431\u0443\u0434\u0435\u043c \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0432\u0438\u0434\u043e\u0432         System.Collections.Generic.List&lt;string> namedViews = new System.Collections.Generic.List&lt;string>();          \/\/ \u0422\u0438\u043f \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438 \"\u0412\u0438\u0434\" \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0442\u043e\u043b\u044c\u043a\u043e         \/\/ \u0435\u0441\u043b\u0438 \u0443 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043b\u0438\u0441\u0442\u0430 \u0435\u0441\u0442\u044c \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u0435 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0432\u0438\u0434\u044b         if (comDoc.Views.Count != 0)         {             \/\/ \u0415\u0441\u043b\u0438 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f Views \u043d\u0435 \u043f\u0443\u0441\u0442\u0430\u044f, \u0438\u0449\u0435\u043c \u0432 \u043d\u0435\u0439 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0432\u0438\u0434\u044b \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043b\u0438\u0441\u0442\u0430             foreach (OdaX.AcadView namedView in comDoc.Views)             {                 \/\/ \u0415\u0441\u043b\u0438 \u043d\u0430\u0439\u0434\u0435\u043d \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0432\u0438\u0434 \u0434\u043b\u044f \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043b\u0438\u0441\u0442\u0430,                 \/\/ \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u044d\u0442\u043e\u0433\u043e \u0432\u0438\u0434\u0430 \u0432 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044e namedViews                 if (namedView.LayoutId == activeLayout.ObjectID) namedViews.Add(namedView.Name);             }              \/\/ \u0415\u0441\u043b\u0438 \u0432 \u0438\u0442\u043e\u0433\u0435 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f namedViews \u043d\u0435 \u043f\u0443\u0441\u0442\u0430\u044f,             \/\/ \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043a \u0437\u0430\u043f\u0440\u043e\u0441\u0443 \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e \"\u0412\u0438\u0434\"             if (namedViews.Count != 0) promptOptions.Keywords.Add(\"\u0412\u0438\u0434\");         }          \/\/ \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043a \u0437\u0430\u043f\u0440\u043e\u0441\u0443 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u0441\u043b\u043e\u0432 \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0442\u0438\u043f\u0430 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043b\u0438\u0441\u0442\u0430         if (activeLayout.ModelType) promptOptions.Keywords.Add(\"\u041b\u0438\u043c\u0438\u0442\u044b\");         else promptOptions.Keywords.Add(\"\u041b\u0438\u0441\u0442\");          \/\/ \u0417\u0430\u043f\u0440\u043e\u0441 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u0441 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u043c \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u043f\u0435\u0447\u0430\u0442\u0438         HostMgd.EditorInput.PromptResult result = ed.GetString(promptOptions);          \/\/ \u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u0433\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u0430         if (result.Status == HostMgd.EditorInput.PromptStatus.Keyword)         {             \/\/ \u0421\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u043b\u043e\u0432\u0430\u0440\u044f \u0434\u043b\u044f \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0439 \u0442\u0438\u043f\u043e\u0432 \u043e\u0431\u043b\u0430\u0441\u0442\u0435\u0439 \u043f\u0435\u0447\u0430\u0442\u0438 \u0432 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0438 OdaX.AcPlotType \u0438 \u0432 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435             System.Collections.Generic.Dictionary&lt;string, OdaX.AcPlotType> dictionary = new System.Collections.Generic.Dictionary&lt;string, OdaX.AcPlotType>();             dictionary.Add(\"\u042d\u043a\u0440\u0430\u043d\", OdaX.AcPlotType.acDisplay);             dictionary.Add(\"\u0413\u0440\u0430\u043d\u0438\u0446\u044b\", OdaX.AcPlotType.acExtents);             dictionary.Add(\"\u041b\u0438\u0441\u0442\", OdaX.AcPlotType.acLayout);             dictionary.Add(\"\u041b\u0438\u043c\u0438\u0442\u044b\", OdaX.AcPlotType.acLimits);             dictionary.Add(\"\u0412\u0438\u0434\", OdaX.AcPlotType.acView);             dictionary.Add(\"\u0420\u0430\u043c\u043a\u0430\", OdaX.AcPlotType.acWindow);              switch (result.StringResult)             {                 case \"\u0412\u0438\u0434\":                     {                         \/\/ \u041f\u0440\u0438\u0433\u043b\u0430\u0448\u0430\u044e\u0449\u0435\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0432\u044b\u0431\u043e\u0440\u0430 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0432\u0438\u0434\u0430                         HostMgd.EditorInput.PromptStringOptions opts = new HostMgd.EditorInput.PromptStringOptions(\"\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0432\u0438\u0434\");                                                  \/\/ \u0417\u0430\u043f\u0438\u0441\u044c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0439 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0432\u0438\u0434\u043e\u0432 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043b\u0438\u0441\u0442\u0430                         \/\/ \u0432 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u0441\u043b\u043e\u0432\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u0430                         namedViews.ForEach(nv => opts.Keywords.Add(nv));                          \/\/ \u0417\u0430\u043f\u0440\u043e\u0441 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u0441 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u043c \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0432\u0438\u0434                         HostMgd.EditorInput.PromptResult res = ed.GetString(opts);                          \/\/ \u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u0433\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u0430                         if (res.Status == HostMgd.EditorInput.PromptStatus.Keyword)                                    activeLayout.ViewToPlot = res.StringResult;                         break;                     }                 case \"\u0420\u0430\u043c\u043a\u0430\":                     {                         \/\/ \u0417\u0430\u043f\u0440\u043e\u0441 \u0442\u043e\u0447\u043a\u0438 \u043b\u0435\u0432\u043e\u0433\u043e \u043d\u0438\u0436\u043d\u0435\u0433\u043e \u0443\u0433\u043b\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438                         var point1 = ed.GetPoint(\"\u0423\u043a\u0430\u0436\u0438\u0442\u0435 \u043b\u0435\u0432\u0443\u044e \u043d\u0438\u0436\u043d\u044e\u044e \u0442\u043e\u0447\u043a\u0443 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438:\");                          if (point1.Status == HostMgd.EditorInput.PromptStatus.OK)                         {                              \/\/\u0412\u044b\u0432\u043e\u0434 \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u044c \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u0438                             ed.WriteMessage(\"({0};{1})\", point1.Value.X, point1.Value.Y);                              \/\/ \u0417\u0430\u043f\u0440\u043e\u0441 \u0442\u043e\u0447\u043a\u0438 \u043f\u0440\u0430\u0432\u043e\u0433\u043e \u0432\u0435\u0440\u0445\u043d\u0435\u0433\u043e \u0443\u0433\u043b\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438                             var point2 = ed.GetCorner(\"\u0423\u043a\u0430\u0436\u0438\u0442\u0435 \u043f\u0440\u0430\u0432\u0443\u044e \u0432\u0435\u0440\u0445\u043d\u044e\u044e \u0442\u043e\u0447\u043a\u0443 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438:\", point1.Value);                              \/\/ \u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u0430                             if(point2.Status== HostMgd.EditorInput.PromptStatus.OK)                             {                                 \/\/ \u0412\u044b\u0432\u043e\u0434 \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u044c \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u0438                                 ed.WriteMessage(\"({0};{1})\", point2.Value.X, point2.Value.Y);                                  \/\/ \u041e\u0447\u0438\u0441\u0442\u043a\u0430 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438 PlotAreas                                 nanoCAD.InanoCADPlot plot = (nanoCAD.InanoCADPlot)comDoc.Plot;                                 nanoCAD.InanoCADPlotCustomParams param = plot.CustomPlotSettings[activeLayout];                                  if (param.PlotAreas.Count != 0)                                 {                                     \/\/ \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438 \"\u0420\u0430\u043c\u043a\u0430\" \u043c\u0435\u0442\u043e\u0434\u043e\u043c SetWindowToPlot()                                      \/\/ \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0432\u0435\u0440\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0441\u043b\u0438 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f PlotAreas \u043f\u0443\u0441\u0442\u0430\u044f                                     param.PlotAreas.Clear();                                     plot.CustomPlotSettings[activeLayout] = param;                                 }                                  \/\/ \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u0432\u0438\u0434\u0430                                 Teigha.DatabaseServices.ViewTableRecord curView = ed.GetCurrentView();                                  \/\/ \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u043c\u0430\u0442\u0440\u0438\u0446\u044b \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u0437 WCS \u0432 DCS                                 Teigha.Geometry.Matrix3d matrix;                                 matrix = Teigha.Geometry.Matrix3d.PlaneToWorld(curView.ViewDirection);                                 matrix = Teigha.Geometry.Matrix3d.Displacement(curView.Target - Teigha.Geometry.Point3d.Origin) * matrix;                                 matrix = Teigha.Geometry.Matrix3d.Rotation(-curView.ViewTwist, curView.ViewDirection, curView.Target) * matrix;                                 matrix = matrix.Inverse();                                  \/\/ \u041f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0445 \u0442\u043e\u0447\u0435\u043a \u0432 DCS                                 double[] ptMin = new double[] { point1.Value.TransformBy(matrix).X, point1.Value.TransformBy(matrix).Y };                                 double[] ptMax = new double[] { point2.Value.TransformBy(matrix).X, point2.Value.TransformBy(matrix).Y };                                  \/\/ \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u043e\u0432\u043e\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438 \"\u0420\u0430\u043c\u043a\u0430\" \u043c\u0435\u0442\u043e\u0434\u043e\u043c SetWindowToPlot()                                  activeLayout.SetWindowToPlot(ptMin, ptMax);                             }                         }                         else ed.WriteMessage(\"Cancel\");                         break;                     }             }              \/\/ \u041f\u043e\u0438\u0441\u043a \u0432 \u0441\u043b\u043e\u0432\u0430\u0440\u0435 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u043e\u0433\u043e \u0442\u0438\u043f\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438 \u0438 \u0437\u0430\u043f\u0438\u0441\u044c             \/\/ \u043d\u0430\u0439\u0434\u0435\u043d\u043d\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e ptResult             OdaX.AcPlotType ptResult;             dictionary.TryGetValue(result.StringResult, out ptResult);              \/\/ \u041d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u043e\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u043c\u0443 \u043b\u0438\u0441\u0442\u0443             activeLayout.PlotType = ptResult;             ed.WriteMessage(\"\u041b\u0438\u0441\u0442\u0443 '{0}' \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u043f\u0435\u0447\u0430\u0442\u0438 '{1}'\", activeLayout.Name, result.StringResult);          }         else ed.WriteMessage(\"\u041e\u0431\u043b\u0430\u0441\u0442\u044c \u043f\u0435\u0447\u0430\u0442\u0438 \u043d\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0430\");     } }<\/code><\/pre>\n<\/div>\n<\/details>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u044b <code>SetPlotArea<\/code> \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0443\u0432\u0438\u0434\u0438\u0442 \u0437\u0430\u043f\u0440\u043e\u0441 \u043e \u0432\u044b\u0431\u043e\u0440\u0435 \u0442\u0438\u043f\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438, \u0434\u0430\u043b\u044c\u0448\u0435 \u0432\u0441\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0432\u044b\u0431\u043e\u0440\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f.<\/p>\n<figure class=\"float full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/8be\/07f\/41c\/8be07f41c1246983263543db0cfaba6a.png\" alt=\"\u0420\u0438\u0441. 3\" title=\"\u0420\u0438\u0441. 3\" width=\"570\" height=\"182\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/8be\/07f\/41c\/8be07f41c1246983263543db0cfaba6a.png\"\/><figcaption>\u0420\u0438\u0441. 3<\/figcaption><\/figure>\n<p>\u0415\u0441\u043b\u0438 \u0432\u044b\u0431\u0440\u0430\u043d\u0430 \u00ab\u0420\u0430\u043c\u043a\u0430\u00bb, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043b\u0435\u0432\u044b\u0439 \u043d\u0438\u0436\u043d\u0438\u0439 \u0438 \u043f\u0440\u0430\u0432\u044b\u0439 \u0432\u0435\u0440\u0445\u043d\u0438\u0439 \u0443\u0433\u043b\u044b \u043f\u0440\u044f\u043c\u043e\u0443\u0433\u043e\u043b\u044c\u043d\u043e\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438. \u041f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e \u043a\u0430\u043a \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0443\u043a\u0430\u0437\u0430\u043b \u0434\u0432\u0435 \u0442\u043e\u0447\u043a\u0438, \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u043f\u0435\u0447\u0430\u0442\u0438 \u2013 \u043c\u0435\u0442\u043e\u0434\u043e\u043c <code>SetWindowToPlot()<\/code> , \u0430 \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u044c nanoCAD \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043e\u0431 \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u043c \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u044b (\u0440\u0438\u0441. 3).<\/p>\n<p>\u0427\u0435\u0440\u0435\u0437 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 nanoCAD \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u0443\u044e \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u043f\u0435\u0447\u0430\u0442\u0438 \u043c\u043e\u0436\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c, \u0432\u044b\u0437\u0432\u0430\u0432 \u043e\u043a\u043d\u043e <em>\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043b\u0438\u0441\u0442\u0430<\/em>. \u041e\u0431\u043b\u0430\u0441\u0442\u044c \u0431\u0443\u0434\u0435\u0442 \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0435\u043d\u0430 \u0432 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 \u0447\u0435\u0440\u0442\u0435\u0436\u0430 \u043a\u0440\u0430\u0441\u043d\u043e\u0439 \u043f\u0443\u043d\u043a\u0442\u0438\u0440\u043d\u043e\u0439 \u043b\u0438\u043d\u0438\u0435\u0439 (\u0440\u0438\u0441. 4).<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/9c2\/5e0\/538\/9c25e05385e008866e9cb0064efa565b.png\" alt=\"\u0420\u0438\u0441. 4\" title=\"\u0420\u0438\u0441. 4\" width=\"933\" height=\"897\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/9c2\/5e0\/538\/9c25e05385e008866e9cb0064efa565b.png\"\/><figcaption>\u0420\u0438\u0441. 4<\/figcaption><\/figure>\n<p>\u041f\u0440\u0438 \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e\u043c \u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b <code>SetPlotArea<\/code> \u0438 \u0432\u044b\u0431\u043e\u0440\u0435 \u0442\u0438\u043f\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438 \u00ab\u0420\u0430\u043c\u043a\u0430\u00bb,  \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u0430\u044f \u0432 \u043f\u0435\u0440\u0432\u044b\u0439 \u0440\u0430\u0437 \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u043f\u0435\u0447\u0430\u0442\u0438 \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043c\u0435\u043d\u0435\u043d\u0430 \u043d\u043e\u0432\u043e\u0439.<\/p>\n<figure class=\"float full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/261\/22a\/f44\/26122af444e432fdfe47871741e68209.png\" alt=\"\u0420\u0438\u0441. 5\" title=\"\u0420\u0438\u0441. 5\" width=\"578\" height=\"163\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/261\/22a\/f44\/26122af444e432fdfe47871741e68209.png\"\/><figcaption>\u0420\u0438\u0441. 5<\/figcaption><\/figure>\n<p>\u0415\u0441\u043b\u0438 \u0443 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043b\u0438\u0441\u0442\u0430 \u0435\u0441\u0442\u044c \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0432\u0438\u0434\u044b, \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0442\u0438\u043f \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438 \u00ab\u0412\u0438\u0434\u00bb. \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u0438\u0442, \u043a\u0430\u043a\u043e\u0439 \u0438\u043c\u0435\u043d\u043d\u043e \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0432\u0438\u0434 \u043d\u0430\u0437\u043d\u0430\u0447\u0438\u0442\u044c (\u0440\u0438\u0441. 5).<\/p>\n<details class=\"spoiler\">\n<summary>\u0420\u043e\u043b\u0438\u043a, \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u044e\u0449\u0438\u0439 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443 dll-\u0444\u0430\u0439\u043b\u0430 \u0432 nanoCAD \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b SetPlotArea<\/summary>\n<div class=\"spoiler__content\">\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/154\/5df\/b12\/1545dfb120c237eb09d253c79744005a.gif\" width=\"1039\" height=\"889\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/154\/5df\/b12\/1545dfb120c237eb09d253c79744005a.gif\"\/><figcaption><\/figcaption><\/figure>\n<\/div>\n<\/details>\n<p>\u0418\u0442\u0430\u043a, \u0432 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043b\u0438 \u0448\u0430\u0433\u0438, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f .NET- \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0435\u0433\u043e \u0441 \u043e\u0431\u043b\u0430\u0441\u0442\u044f\u043c\u0438 \u043f\u0435\u0447\u0430\u0442\u0438 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 nanoCAD. <\/p>\n<p>\u0412 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u0431\u044b\u043b \u0441\u043e\u0437\u0434\u0430\u043d \u0444\u0438\u043b\u044c\u0442\u0440 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u0434\u043b\u044f \u0432\u044b\u0431\u043e\u0440\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u0435\u0439 \u043f\u0435\u0447\u0430\u0442\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 \u0442\u0438\u043f \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043b\u0438\u0441\u0442\u0430 \u0438 \u0435\u0433\u043e \u0442\u0435\u043a\u0443\u0449\u0438\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438. \u0422\u0430\u043a\u0436\u0435 \u0431\u044b\u043b \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043e\u0431\u043b\u0430\u0441\u0442\u044f\u043c\u0438 \u043f\u0435\u0447\u0430\u0442\u0438 \u00ab\u0420\u0430\u043c\u043a\u0430\u00bb \u0438 \u00ab\u0412\u0438\u0434\u00bb, \u0431\u043e\u043b\u0435\u0435 \u0441\u043b\u043e\u0436\u043d\u044b\u043c\u0438 \u0441 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0447\u0435\u0440\u0435\u0437 API nanoCAD, \u0447\u0435\u043c \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438. \u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u044b\u0445 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u043f\u0435\u0447\u0430\u0442\u0438 \u0447\u0435\u0440\u0435\u0437 API nanoCAD.<\/p>\n<p><strong><em>\u0421\u0432\u0435\u0442\u043b\u0430\u043d\u0430 \u041c\u0438\u0440\u043e\u043d\u0447\u0438\u043a, <br \/>\u041a\u043b\u0443\u0431 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 nanoCAD<br \/>\u041e\u041e\u041e \u00ab\u041d\u0430\u043d\u043e\u0441\u043e\u0444\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430\u00bb<\/em><\/strong>  <\/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\/579140\/\"> https:\/\/habr.com\/ru\/articles\/579140\/<\/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<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0412 nanoCAD \u043f\u0440\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u043f\u0435\u0447\u0430\u0442\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u043f\u0435\u0447\u0430\u0442\u0438. \u0415\u0441\u043b\u0438 \u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e, \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043d\u0430\u043f\u0435\u0447\u0430\u0442\u0430\u043d\u043e \u0441\u043e\u0432\u0441\u0435\u043c \u043d\u0435 \u0442\u043e, \u0447\u0442\u043e \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u043e\u0441\u044c.<\/p>\n<p>\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c\u0441\u044f, \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u043e\u0431\u043b\u0430\u0441\u0442\u044c\u044e \u043f\u0435\u0447\u0430\u0442\u0438 \u0447\u0435\u0440\u0435\u0437 API nanoCAD.<\/p>\n<figure class=\"float full-width\"><figcaption>\u0420\u0438\u0441. 1<\/figcaption><\/figure>\n<p>\u0427\u0442\u043e\u0431\u044b \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u043f\u0435\u0447\u0430\u0442\u0438 \u0447\u0435\u0440\u0435\u0437 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 nanoCAD, \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u043e\u043a\u043d\u043e <em>\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043b\u0438\u0441\u0442\u0430<\/em>, \u043b\u0438\u0431\u043e <em>\u041f\u0435\u0447\u0430\u0442\u044c<\/em>. \u0412 \u044d\u0442\u043e\u043c \u043e\u043a\u043d\u0435 \u0435\u0441\u0442\u044c \u0431\u043b\u043e\u043a <em>\u041e\u0431\u043b\u0430\u0441\u0442\u044c \u043f\u0435\u0447\u0430\u0442\u0438<\/em>, \u0433\u0434\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0432\u044b\u043f\u0430\u0434\u0430\u044e\u0449\u0438\u0439 \u0441\u043f\u0438\u0441\u043e\u043a, \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043d\u0443\u0436\u043d\u044b\u0439 \u0442\u0438\u043f \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438 (\u0440\u0438\u0441. 1).<\/p>\n<details class=\"spoiler\">\n<summary>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438 \u0447\u0435\u0440\u0435\u0437 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 nanoCAD \u0432 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 \u043c\u043e\u0434\u0435\u043b\u0438<\/summary>\n<div class=\"spoiler__content\">\n<figure class=\"full-width\"><figcaption>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438 \u0432 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 nanoCAD<\/figcaption><\/figure>\n<\/div>\n<\/details>\n<details class=\"spoiler\">\n<summary>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438 \u0447\u0435\u0440\u0435\u0437 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 nanoCAD \u0432 \u043b\u0438\u0441\u0442\u0435<\/summary>\n<div class=\"spoiler__content\">\n<figure class=\"full-width\"><figcaption>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438 \u0432 \u043b\u0438\u0441\u0442\u0435 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 nanoCAD<\/figcaption><\/figure>\n<\/div>\n<\/details>\n<figure class=\"float full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 API nanoCAD \u0437\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e <code>PlotType<\/code> \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 nanoCAD.<\/p>\n<p>\u0427\u0442\u043e\u0431\u044b \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f, \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u043e\u0431\u043b\u0430\u0441\u0442\u044f\u043c\u0438 \u043f\u0435\u0447\u0430\u0442\u0438 \u0447\u0435\u0440\u0435\u0437 API nanoCAD, \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c .NET (C#)- \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u043c\u0443 \u043b\u0438\u0441\u0442\u0443 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u0443\u044e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u043f\u0435\u0447\u0430\u0442\u0438.<\/p>\n<p>\u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043f\u043e\u044d\u0442\u0430\u043f\u043d\u043e, \u043a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0442\u0430\u043a\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435.    <\/p>\n<p><strong>\u0428\u0430\u0433 1.<\/strong>\u00a0<strong>\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0432 Visual Studio \u043f\u0440\u043e\u0435\u043a\u0442<\/strong>\u00a0<strong>\u0442\u0438\u043f\u0430 \u00ab\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 (.NET Stadard)\u00bb<\/strong>. \u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u043a \u043d\u0435\u043c\u0443 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 hostmgd.dll, hostdbmgd.dll \u0438 ncauto.dll.    <\/p>\n<p><strong>\u0428\u0430\u0433 2.<\/strong>\u00a0<strong>\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u043a\u043b\u0430\u0441\u0441<\/strong>, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0431\u0443\u0434\u0435\u0442 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c\u0441\u044f \u043c\u0435\u0442\u043e\u0434, \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u044e\u0449\u0438\u0439 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u043c\u0443 \u043b\u0438\u0441\u0442\u0443 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u0443\u044e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u043f\u0435\u0447\u0430\u0442\u0438. <\/p>\n<pre><code class=\"cs\">public partial class Commands {     [Teigha.Runtime.CommandMethod(\"SetPlotArea\")]     public void SetPlotAreaToActiveLayout()     {     } }<\/code><\/pre>\n<p>\u0412 \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u0448\u0430\u0433\u0430\u0445 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442\u0441\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u043f\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043c\u0435\u0442\u043e\u0434\u0430 <code>SetPlotAreaToActiveLayout()<\/code>.    <\/p>\n<p><strong>\u0428\u0430\u0433 3.<\/strong>\u00a0<strong>\u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0443 nanoCAD<\/strong>\u00a0\u0438 \u0435\u0433\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c:<\/p>\n<pre><code class=\"cs\">\/\/ \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0441\u0441\u044b\u043b\u043a\u0438 \u043d\u0430 \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442 HostMgd.ApplicationServices.Document doc =    HostMgd.ApplicationServices.Application.DocumentManager.MdiActiveDocument; nanoCAD.Document comDoc = doc.AcadDocument as nanoCAD.Document;  \/\/ \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0441\u0441\u044b\u043b\u043a\u0438 \u043d\u0430 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 HostMgd.EditorInput.Editor ed = doc.Editor;  \/\/ \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0441\u0441\u044b\u043b\u043a\u0438 \u043d\u0430 \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u043b\u0438\u0441\u0442 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 OdaX.AcadLayout activeLayout = comDoc.ActiveLayout;<\/code><\/pre>\n<p>\u041f\u043e\u043c\u0438\u043c\u043e \u0441\u0441\u044b\u043b\u043e\u043a \u043d\u0430 .NET- \u0438 COM-\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u044b nanoCAD, \u043d\u0430\u043c \u0431\u0443\u0434\u0443\u0442 \u043d\u0443\u0436\u043d\u044b:<\/p>\n<ul>\n<li>\n<p>\u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u044b \u0432\u043e\u0437\u044c\u043c\u0435\u043c \u0438\u0437 .NET-\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 (\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f <code>doc<\/code>);<\/p>\n<\/li>\n<li>\n<p>\u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u043b\u0438\u0441\u0442, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u044b \u0432\u043e\u0437\u044c\u043c\u0435\u043c \u0438\u0437 COM-\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 nanoCAD (\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f <code>comDoc<\/code>).<\/p>\n<\/li>\n<\/ul>\n<p>\u0427\u0435\u0440\u0435\u0437 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 \u0431\u0443\u0434\u0435\u043c \u0432\u0435\u0441\u0442\u0438 \u0434\u0438\u0430\u043b\u043e\u0433 \u0441 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c: \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0442\u044c \u0443 \u043d\u0435\u0433\u043e \u0434\u0430\u043d\u043d\u044b\u0435 \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0435\u0433\u043e \u043e\u0442\u0432\u0435\u0442\u044b. \u0427\u0435\u0440\u0435\u0437 \u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0430 \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u043b\u0438\u0441\u0442 \u0431\u0443\u0434\u0435\u043c \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0435\u0433\u043e \u0442\u0435\u043a\u0443\u0449\u0438\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0438 \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u0438\u0445.<\/p>\n<p><strong>\u0428\u0430\u0433 4. \u0424\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u043c \u043f\u0440\u0438\u0433\u043b\u0430\u0448\u0430\u044e\u0449\u0435\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u0434\u043b\u044f \u0432\u044b\u0431\u043e\u0440\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438<\/strong>.<\/p>\n<p>\u041f\u0440\u0438 \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043b\u0443\u0447\u0448\u0435 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043a \u043d\u0435\u043c\u0443 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u0441\u043b\u043e\u0432\u0430, \u0447\u0442\u043e\u0431\u044b \u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0431\u044b\u043b\u0430 \u043f\u043e\u0434\u0441\u043a\u0430\u0437\u043a\u0430, \u0434\u0430\u044e\u0449\u0430\u044f \u043f\u043e\u043d\u044f\u0442\u044c, \u043a\u0430\u043a\u043e\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 \u043e\u0442\u0432\u0435\u0442\u0430 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0438\u043d\u044f\u0442 \u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u043d \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043e\u0439. \u0412 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u043c\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0441\u043b\u0443\u0436\u0430\u0442 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u0435\u0439 \u043f\u0435\u0447\u0430\u0442\u0438:<\/p>\n<pre><code class=\"cs\">\/\/ \u041f\u0440\u0438\u0433\u043b\u0430\u0448\u0430\u044e\u0449\u0435\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0432\u044b\u0431\u043e\u0440\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438 HostMgd.EditorInput.PromptStringOptions promptOptions =    new HostMgd.EditorInput.PromptStringOptions(\"\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u043f\u0435\u0447\u0430\u0442\u0438\");  \/\/ \u0417\u0430\u043f\u0438\u0441\u044c \u0432 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u0441\u043b\u043e\u0432\u0430 \u043f\u0440\u0438\u0433\u043b\u0430\u0448\u0430\u044e\u0449\u0435\u0433\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0439 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u0442\u0438\u043f\u043e\u0432 \/\/ \u043e\u0431\u043b\u0430\u0441\u0442\u0435\u0439 \u043f\u0435\u0447\u0430\u0442\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b \u0438 \u0432 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 \u043c\u043e\u0434\u0435\u043b\u0438, \u0438 \u0432 \u043b\u0438\u0441\u0442\u0430\u0445  promptOptions.Keywords.Add(\"\u042d\u043a\u0440\u0430\u043d\"); promptOptions.Keywords.Add(\"\u0413\u0440\u0430\u043d\u0438\u0446\u044b\"); promptOptions.Keywords.Add(\"\u0420\u0430\u043c\u043a\u0430\");  \/\/ \u0414\u043b\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438 \"\u0412\u0438\u0434\" \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044e, \/\/ \u0432 \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0431\u0443\u0434\u0435\u043c \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0432\u0438\u0434\u043e\u0432 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043b\u0438\u0441\u0442\u0430 System.Collections.Generic.List&lt;string> namedViews =    new System.Collections.Generic.List&lt;string>();  \/\/ \u0422\u0438\u043f \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438 \"\u0412\u0438\u0434\" \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0442\u043e\u043b\u044c\u043a\u043e,  \/\/ \u0435\u0441\u043b\u0438 \u0443 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043b\u0438\u0441\u0442\u0430 \u0435\u0441\u0442\u044c \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u0435 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0432\u0438\u0434\u044b if (comDoc.Views.Count != 0) {     \/\/ \u0415\u0441\u043b\u0438 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f Views \u043d\u0435 \u043f\u0443\u0441\u0442\u0430\u044f, \u0438\u0449\u0435\u043c \u0432 \u043d\u0435\u0439 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0432\u0438\u0434\u044b      \/\/ \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043b\u0438\u0441\u0442\u0430     foreach (OdaX.AcadView namedView in comDoc.Views)     {         \/\/ \u0415\u0441\u043b\u0438 \u043d\u0430\u0439\u0434\u0435\u043d \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0432\u0438\u0434 \u0434\u043b\u044f \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043b\u0438\u0441\u0442\u0430,         \/\/ \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u044d\u0442\u043e\u0433\u043e \u0432\u0438\u0434\u0430 \u0432 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044e namedViews         if (namedView.LayoutId == activeLayout.ObjectID)            namedViews.Add(namedView.Name);     }      \/\/ \u0415\u0441\u043b\u0438 \u0432 \u0438\u0442\u043e\u0433\u0435 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f namedViews \u043d\u0435 \u043f\u0443\u0441\u0442\u0430\u044f,     \/\/ \u0442\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043a \u0437\u0430\u043f\u0440\u043e\u0441\u0443 \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e \"\u0412\u0438\u0434\"     if (namedViews.Count != 0) promptOptions.Keywords.Add(\"\u0412\u0438\u0434\"); }  \/\/ \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043a \u0437\u0430\u043f\u0440\u043e\u0441\u0443 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u0441\u043b\u043e\u0432 \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0442\u0438\u043f\u0430 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043b\u0438\u0441\u0442\u0430 if (activeLayout.ModelType) promptOptions.Keywords.Add(\"\u041b\u0438\u043c\u0438\u0442\u044b\"); else promptOptions.Keywords.Add(\"\u041b\u0438\u0441\u0442\");  \/\/ \u0417\u0430\u043f\u0440\u043e\u0441 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u0441 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u043c \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u043f\u0435\u0447\u0430\u0442\u0438 HostMgd.EditorInput.PromptResult result = ed.GetString(promptOptions); <\/code><\/pre>\n<p>\u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0442\u0435\u043a\u0441\u0442 \u043f\u0440\u0438\u0433\u043b\u0430\u0448\u0430\u044e\u0449\u0435\u0433\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f, \u043f\u043e\u0442\u043e\u043c \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043a \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044e \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u0441\u043b\u043e\u0432\u0430:<\/p>\n<ul>\n<li>\n<p>\u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438 \u00ab\u042d\u043a\u0440\u0430\u043d\u00bb, \u00ab\u0413\u0440\u0430\u043d\u0438\u0446\u044b\u00bb, \u00ab\u0420\u0430\u043c\u043a\u0430\u00bb \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0434\u043b\u044f \u043b\u044e\u0431\u043e\u0433\u043e \u0442\u0438\u043f\u0430 \u043b\u0438\u0441\u0442\u0430 \u0438 \u043f\u0440\u0438 \u043b\u044e\u0431\u044b\u0445 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 nanoCAD. \u0418\u0445 \u0441\u0440\u0430\u0437\u0443 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043a \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u043c \u0441\u043b\u043e\u0432\u0430\u043c \u0437\u0430\u043f\u0440\u043e\u0441\u0430;<\/p>\n<\/li>\n<li>\n<p>\u043e\u0431\u043b\u0430\u0441\u0442\u044c \u043f\u0435\u0447\u0430\u0442\u0438 \u00ab\u0412\u0438\u0434\u00bb \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0434\u043b\u044f \u0432\u044b\u0431\u043e\u0440\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0441\u043b\u0438 \u0432 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u043c \u043b\u0438\u0441\u0442\u0435 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 nanoCAD \u0435\u0441\u0442\u044c \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u0435 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0432\u0438\u0434\u044b. \u0412\u0441\u0435 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0432\u0438\u0434\u044b \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0432 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438 <code>Views<\/code> COM-\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430; <\/p>\n<\/li>\n<li>\n<p>\u043e\u0431\u043b\u0430\u0441\u0442\u044c \u043f\u0435\u0447\u0430\u0442\u0438 \u00ab\u041b\u0438\u043c\u0438\u0442\u044b\u00bb \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 \u043c\u043e\u0434\u0435\u043b\u0438, \u0442\u043e \u0435\u0441\u0442\u044c \u043f\u0440\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0438 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 <code>ModelType<\/code> \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043b\u0438\u0441\u0442\u0430, \u0440\u0430\u0432\u043d\u043e\u043c <code>true<\/code>;<\/p>\n<\/li>\n<li>\n<p>\u043e\u0431\u043b\u0430\u0441\u0442\u044c \u043f\u0435\u0447\u0430\u0442\u0438 \u00ab\u041b\u0438\u0441\u0442\u00bb \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u043b\u0438\u0441\u0442\u043e\u0432, \u0442\u043e \u0435\u0441\u0442\u044c \u0432 \u0441\u043b\u0443\u0447\u0430\u0435, \u043a\u043e\u0433\u0434\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 <code>ModelType<\/code> \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043b\u0438\u0441\u0442\u0430 \u0440\u0430\u0432\u043d\u043e <code>false<\/code>.<\/p>\n<\/li>\n<\/ul>\n<p>\u0421\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u043d\u0430\u043c\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u0432 \u043d\u043e\u0432\u043e\u043c \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0435 \u0431\u0435\u0437 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u0445 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0432\u0438\u0434\u043e\u0432 \u0432 \u043b\u0438\u0441\u0442\u0435 \u0431\u0443\u0434\u0435\u0442 \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. 2:<\/p>\n<figure class=\"\"><figcaption>\u0420\u0438\u0441. 2<\/figcaption><\/figure>\n<p>\u0412 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 \u0432\u043c\u0435\u0441\u0442\u043e \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0433\u043e \u0441\u043b\u043e\u0432\u0430 \u00ab\u041b\u0438\u0441\u0442\u00bb \u0431\u0443\u0434\u0435\u0442 \u0434\u0440\u0443\u0433\u043e\u0435 \u2013 \u00ab\u041b\u0438\u043c\u0438\u0442\u044b\u00bb.<\/p>\n<p><strong>\u0428\u0430\u0433 5. \u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043e\u0442\u0432\u0435\u0442\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f.<\/strong><\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0434\u043e\u043b\u0436\u0435\u043d \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043e\u0434\u043d\u043e \u0438\u0437 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u0441\u043b\u043e\u0432, \u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435 \u043d\u0443\u0436\u043d\u043e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0435\u0433\u043e \u043e\u0442\u0432\u0435\u0442.<\/p>\n<p>\u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442 \u043b\u0438 \u0432\u0432\u0435\u0434\u0435\u043d\u043d\u044b\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c \u043e\u0442\u0432\u0435\u0442 \u0441 \u043e\u0434\u043d\u0438\u043c \u0438\u0437 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u0441\u043b\u043e\u0432 \u0437\u0430\u043f\u0440\u043e\u0441\u0430. \u0415\u0441\u043b\u0438 \u0434\u0430, \u0442\u043e \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u043c \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443, \u0435\u0441\u043b\u0438 \u043d\u0435\u0442 \u2013 \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u0435\u043c \u0440\u0430\u0431\u043e\u0442\u0443 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u043e\u0441\u0442\u0430\u0432\u0438\u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u0435\u0447\u0430\u0442\u0438 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043b\u0438\u0441\u0442\u0430 \u0431\u0435\u0437 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439:<\/p>\n<pre><code class=\"cs\">\/\/ \u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u0433\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 if (result.Status == HostMgd.EditorInput.PromptStatus.Keyword) {      switch (result.StringResult)      {      }       \/\/ \u0421\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u043b\u043e\u0432\u0430\u0440\u044f \u0434\u043b\u044f \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0439       \/\/ \u0442\u0438\u043f\u043e\u0432 \u043e\u0431\u043b\u0430\u0441\u0442\u0435\u0439 \u043f\u0435\u0447\u0430\u0442\u0438 \u0432 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0438 OdaX.AcPlotType \u0438 \u0432 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435      System.Collections.Generic.Dictionary&lt;string, OdaX.AcPlotType> dictionary =        new System.Collections.Generic.Dictionary&lt;string, OdaX.AcPlotType>();      dictionary.Add(\"\u042d\u043a\u0440\u0430\u043d\", OdaX.AcPlotType.acDisplay);      dictionary.Add(\"\u0413\u0440\u0430\u043d\u0438\u0446\u044b\", OdaX.AcPlotType.acExtents);      dictionary.Add(\"\u041b\u0438\u0441\u0442\", OdaX.AcPlotType.acLayout);      dictionary.Add(\"\u041b\u0438\u043c\u0438\u0442\u044b\", OdaX.AcPlotType.acLimits);      dictionary.Add(\"\u0412\u0438\u0434\", OdaX.AcPlotType.acView);      dictionary.Add(\"\u0420\u0430\u043c\u043a\u0430\", OdaX.AcPlotType.acWindow);       \/\/ \u041f\u043e\u0438\u0441\u043a \u0432 \u0441\u043b\u043e\u0432\u0430\u0440\u0435 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u043e\u0433\u043e \u0442\u0438\u043f\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438       \/\/ \u0438 \u0437\u0430\u043f\u0438\u0441\u044c \u043d\u0430\u0439\u0434\u0435\u043d\u043d\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e ptResult      OdaX.AcPlotType ptResult;      dictionary.TryGetValue(result.StringResult, out ptResult);       \/\/ \u041d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u043e\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u043c\u0443 \u043b\u0438\u0441\u0442\u0443      activeLayout.PlotType = ptResult;      ed.WriteMessage(\"\u041b\u0438\u0441\u0442\u0443 '{0}' \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u043f\u0435\u0447\u0430\u0442\u0438 '{1}'\",                       activeLayout.Name, result.StringResult); } else ed.WriteMessage(\"\u041e\u0431\u043b\u0430\u0441\u0442\u044c \u043f\u0435\u0447\u0430\u0442\u0438 \u043d\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0430\");<\/code><\/pre>\n<p>\u0427\u0442\u043e\u0431\u044b \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u043f\u0435\u0447\u0430\u0442\u0438 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043b\u0438\u0441\u0442\u0430, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438 \u0438\u0437 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u0441\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c \u0438\u0437 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f <code>OdaX.AcPlotType<\/code>. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0441\u043b\u043e\u0432\u0430\u0440\u044c, \u0432 \u043a\u0430\u0436\u0434\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u0430\u0440\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439: \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e \u0438\u0437 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0438 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0435 \u0435\u043c\u0443 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f <code>OdaX.AcPlotType<\/code>. \u0414\u0430\u043b\u0435\u0435, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u044d\u0442\u043e\u0442 \u0441\u043b\u043e\u0432\u0430\u0440\u044c, \u043c\u044b \u0441\u043c\u043e\u0436\u0435\u043c \u043b\u0435\u0433\u043a\u043e \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c \u043d\u0443\u0436\u043d\u043e\u0435 \u043d\u0430\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 <code>OdaX.AcPlotType<\/code> \u043f\u043e \u043e\u0442\u0432\u0435\u0442\u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f.<\/p>\n<p>\u041f\u0440\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u043e\u0442\u0432\u0435\u0442\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0442\u0430\u043a\u0436\u0435 \u0441\u0442\u043e\u0438\u0442 \u0443\u0447\u0435\u0441\u0442\u044c, \u0447\u0442\u043e \u0435\u0441\u0442\u044c \u0434\u0432\u0430 \u0442\u0438\u043f\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0442\u0440\u0435\u0431\u0443\u044e\u0442\u0441\u044f \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435, \u2013 \u044d\u0442\u043e <code>acView<\/code> (\u00ab\u0412\u0438\u0434\u00bb) \u0438 <code>acWindow<\/code> (\u00ab\u0420\u0430\u043c\u043a\u0430\u00bb). \u0414\u043b\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438 \u00ab\u0412\u0438\u0434\u00bb \u043d\u0443\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0432\u0438\u0434\u0430, \u0430 \u0434\u043b\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438 \u00ab\u0420\u0430\u043c\u043a\u0430\u00bb \u2013 \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0434\u0432\u0435 \u0442\u043e\u0447\u043a\u0438 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438. \u0422\u043e \u0435\u0441\u0442\u044c, \u0435\u0441\u043b\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0432\u044b\u0431\u0440\u0430\u043b \u043e\u0434\u0438\u043d \u0438\u0437 \u044d\u0442\u0438\u0445 \u0434\u0432\u0443\u0445 \u0442\u0438\u043f\u043e\u0432 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438, \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u0447\u0435\u043c \u043f\u0440\u043e\u0441\u0442\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 <code>PlotType<\/code>.<\/p>\n<p>\u0412 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u0435 \u043a\u043e\u0434\u0430, \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u043d\u043e\u043c \u0432 \u044d\u0442\u043e\u043c \u0448\u0430\u0433\u0435, \u0435\u0441\u0442\u044c \u043f\u0443\u0441\u0442\u043e\u0439 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 <code>switch<\/code>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u044b\u043b \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d \u0438\u043c\u0435\u043d\u043d\u043e \u0434\u043b\u044f \u044d\u0442\u0438\u0445 \u0434\u0432\u0443\u0445 \u043e\u0431\u043b\u0430\u0441\u0442\u0435\u0439 \u043f\u0435\u0447\u0430\u0442\u0438:<\/p>\n<pre><code>switch (result.StringResult) { }<\/code><\/pre>\n<p>\u0422\u0430\u043a\u0443\u044e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0438\u043c\u0435\u043d\u043d\u043e \u0434\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 <code>PlotType<\/code>, \u0438\u043d\u0430\u0447\u0435 \u043d\u0430\u0448\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043d\u0435 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u043a\u0430\u043a \u043d\u0430\u0434\u043e.<\/p>\n<p><strong>\u0428\u0430\u0433 5.1. \u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0433\u043e \u0441\u043b\u043e\u0432\u0430 \u00ab\u0412\u0438\u0434\u00bb.<\/strong><\/p>\n<pre><code class=\"cs\">case \"\u0412\u0438\u0434\":     {         \/\/ \u041f\u0440\u0438\u0433\u043b\u0430\u0448\u0430\u044e\u0449\u0435\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0432\u044b\u0431\u043e\u0440\u0430 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0432\u0438\u0434\u0430         HostMgd.EditorInput.PromptStringOptions opts =           new HostMgd.EditorInput.PromptStringOptions(\"\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0432\u0438\u0434\");                                  \/\/ \u0417\u0430\u043f\u0438\u0441\u044c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0439 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0432\u0438\u0434\u043e\u0432 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043b\u0438\u0441\u0442\u0430         \/\/ \u0432 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u0441\u043b\u043e\u0432\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u0430         namedViews.ForEach(nv => opts.Keywords.Add(nv));          \/\/ \u0417\u0430\u043f\u0440\u043e\u0441 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u0441 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u043c \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0432\u0438\u0434         HostMgd.EditorInput.PromptResult res = ed.GetString(opts);          \/\/ \u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u0433\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u0430         if (res.Status == HostMgd.EditorInput.PromptStatus.Keyword)             activeLayout.ViewToPlot = res.StringResult;         break;     }<\/code><\/pre>\n<p>\u0415\u0441\u043b\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0432\u044b\u0431\u0440\u0430\u043b \u0442\u0438\u043f \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438 \u00ab\u0412\u0438\u0434\u00bb, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0435\u0449\u0435 \u043e\u0434\u0438\u043d \u0437\u0430\u043f\u0440\u043e\u0441, \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0432\u044b\u0431\u0435\u0440\u0435\u0442, \u043a\u0430\u043a\u043e\u0439 \u0438\u043c\u0435\u043d\u043d\u043e \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0432\u0438\u0434 \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d. <\/p>\n<p>\u0414\u043b\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0432\u044b\u0431\u0440\u0430\u043b \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0432\u0438\u0434, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0432 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u0441\u043b\u043e\u0432\u0430 \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0432\u0438\u0434\u043e\u0432 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043b\u0438\u0441\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0432 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438 <code>namedViews<\/code> . \u0414\u0430\u043b\u0435\u0435 \u043d\u0443\u0436\u043d\u043e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043e\u0442\u0432\u0435\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f. \u0412\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0439 \u0438\u043c \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0432\u0438\u0434 \u043d\u0430\u0437\u043d\u0430\u0447\u0430\u0435\u043c \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0443 <code>ViewToPlot<\/code> \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043b\u0438\u0441\u0442\u0430.<\/p>\n<p>\u0418 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u043c\u0435\u043d\u044f\u0435\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 <code>PlotType<\/code> \u043d\u0430 <code>acView<\/code>.<\/p>\n<p><strong>\u0428\u0430\u0433 5.2. \u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0433\u043e \u0441\u043b\u043e\u0432\u0430 \u00ab\u0420\u0430\u043c\u043a\u0430\u00bb.<\/strong><\/p>\n<pre><code class=\"cs\">case \"\u0420\u0430\u043c\u043a\u0430\":     {                     \/\/ \u0417\u0430\u043f\u0440\u043e\u0441 \u0442\u043e\u0447\u043a\u0438 \u043b\u0435\u0432\u043e\u0433\u043e \u043d\u0438\u0436\u043d\u0435\u0433\u043e \u0443\u0433\u043b\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438       var point1 = ed.GetPoint(\"\u0423\u043a\u0430\u0436\u0438\u0442\u0435 \u043b\u0435\u0432\u0443\u044e \u043d\u0438\u0436\u043d\u044e\u044e \u0442\u043e\u0447\u043a\u0443 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0447\u0430\u0442\u0438:\");              if (point1.Status ==<\/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-410399","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/410399","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=410399"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/410399\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=410399"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=410399"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=410399"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}