{"id":11459,"date":"2025-11-05T16:28:15","date_gmt":"2025-11-05T16:28:15","guid":{"rendered":"https:\/\/test.sweethome3d.eu\/%d1%80%d1%8a%d0%ba%d0%be%d0%b2%d0%be%d0%b4%d1%81%d1%82%d0%b2%d0%be-%d0%b7%d0%b0-%d1%80%d0%b0%d0%b7%d1%80%d0%b0%d0%b1%d0%be%d1%82%d1%87%d0%b8%d1%86%d0%b8-%d0%bd%d0%b0-%d0%bf%d1%80%d0%b8%d1%81%d1%82\/"},"modified":"2025-12-19T10:19:30","modified_gmt":"2025-12-19T10:19:30","slug":"%d1%80%d1%8a%d0%ba%d0%be%d0%b2%d0%be%d0%b4%d1%81%d1%82%d0%b2%d0%be-%d0%b7%d0%b0-%d1%80%d0%b0%d0%b7%d1%80%d0%b0%d0%b1%d0%be%d1%82%d1%87%d0%b8%d1%86%d0%b8-%d0%bd%d0%b0-%d0%bf%d1%80%d0%b8%d1%81%d1%82","status":"publish","type":"page","link":"https:\/\/test.sweethome3d.eu\/bg\/%d1%80%d1%8a%d0%ba%d0%be%d0%b2%d0%be%d0%b4%d1%81%d1%82%d0%b2%d0%be-%d0%b7%d0%b0-%d1%80%d0%b0%d0%b7%d1%80%d0%b0%d0%b1%d0%be%d1%82%d1%87%d0%b8%d1%86%d0%b8-%d0%bd%d0%b0-%d0%bf%d1%80%d0%b8%d1%81%d1%82\/","title":{"rendered":"\u0420\u044a\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u0437\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u0446\u0438 \u043d\u0430 \u043f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0438"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">\u0412\u044a\u0432\u0435\u0434\u0435\u043d\u0438\u0435<\/h2>\n\n<p>\u041e\u0442 \u0432\u0435\u0440\u0441\u0438\u044f 1.5 \u0435 \u0432\u044a\u0437\u043c\u043e\u0436\u043d\u043e \u0434\u0430 \u0434\u043e\u0431\u0430\u0432\u044f\u0442\u0435 \u043d\u043e\u0432\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043a\u044a\u043c <a href=\"\/\">Sweet Home 3D<\/a> \u0441 \u0444\u0430\u0439\u043b\u043e\u0432\u0435 \u043d\u0430 \u043f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0438, \u043f\u043e\u0441\u0442\u0430\u0432\u0435\u043d\u0438 \u0432\u044a\u0432 \u0432\u0430\u0448\u0430\u0442\u0430 <a href=\"#deployingPlugin\">\u043f\u0430\u043f\u043a\u0430 \u0437\u0430 \u043f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0438<\/a>. \u0422\u043e\u0432\u0430 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u043d\u0430 Java \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u0438\u0441\u0442\u0438\u0442\u0435 \u0434\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0432\u0430\u0442 \u0438 \u0440\u0430\u0437\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0432\u0430\u0442 \u043d\u043e\u0432\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0437\u0430 <a href=\"https:\/\/test.sweethome3d.eu\/bg\/\">Sweet Home 3D<\/a>, \u0431\u0435\u0437 \u0434\u0430 \u043f\u0440\u043e\u043c\u0435\u043d\u044f\u0442 \u0438\u0437\u0445\u043e\u0434\u043d\u0438\u0442\u0435 \u0444\u0430\u0439\u043b\u043e\u0432\u0435 \u043d\u0430 \u0442\u0435\u043a\u0443\u0449\u0430\u0442\u0430 \u0432\u0435\u0440\u0441\u0438\u044f (\u043a\u043e\u0435\u0442\u043e \u0435 \u0434\u043e\u0431\u0440\u0435 \u0437\u0430 \u043e\u0431\u0440\u0430\u0442\u043d\u0430 \u0441\u044a\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442) \u0438 \u0431\u0435\u0437 \u0434\u0430 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u044f\u0442 \u043f\u044a\u043b\u043d\u0430 \u0432\u0435\u0440\u0441\u0438\u044f \u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u0430\u0442\u0430 (\u043a\u043e\u0435\u0442\u043e \u0435 \u0434\u043e\u0431\u0440\u0435 \u0437\u0430 \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u043d\u0430 \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0430\u0442\u0430).<br\/>\u0422\u043e\u0437\u0438 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442 \u043e\u043f\u0438\u0441\u0432\u0430 <a href=\"#installingTools\" data-type=\"internal\" data-id=\"#installingTools\">\u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0438\u0442\u0435<\/a>, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0438 \u0437\u0430 \u0441\u044a\u0437\u0434\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 \u043f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0438, \u0441\u043b\u0435\u0434 \u043a\u043e\u0435\u0442\u043e \u043f\u043e\u043a\u0430\u0437\u0432\u0430 \u043a\u0430\u043a \u0434\u0430 <a href=\"#programmingPlugin\">\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u0438\u0440\u0430\u0442\u0435 \u043f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0430<\/a>, \u043a\u043e\u044f\u0442\u043e \u0438\u0437\u0447\u0438\u0441\u043b\u044f\u0432\u0430 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u043d\u0438\u044f \u043e\u0431\u0435\u043c \u043d\u0430 \u043f\u043e\u0434\u0432\u0438\u0436\u043d\u0438\u0442\u0435 \u043c\u0435\u0431\u0435\u043b\u0438, \u0434\u043e\u0431\u0430\u0432\u0435\u043d\u0438 \u043a\u044a\u043c \u0434\u043e\u043c\u0430, \u0438 \u043d\u0430\u043a\u0440\u0430\u044f \u0434\u0430\u0432\u0430 <a href=\"#goingFurther\">\u0434\u043e\u043f\u044a\u043b\u043d\u0438\u0442\u0435\u043b\u043d\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f<\/a>, \u043a\u043e\u044f\u0442\u043e \u0449\u0435 \u0432\u0438 \u043f\u043e\u043c\u043e\u0433\u043d\u0435 \u0434\u0430 \u043f\u0440\u043e\u0434\u044a\u043b\u0436\u0438\u0442\u0435 \u043d\u0430\u043f\u0440\u0435\u0434. <\/p>\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<h2 class=\"wp-block-heading\" id=\"installingTools\">\u0418\u043d\u0441\u0442\u0430\u043b\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0438 \u0437\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430<\/h2>\n\n<p>\u0410\u043a\u043e Sweet Home 3D \u0435 \u043d\u0430\u0441\u043e\u0447\u0435\u043d \u043a\u044a\u043c \u0448\u0438\u0440\u043e\u043a\u0430 \u0430\u0443\u0434\u0438\u0442\u043e\u0440\u0438\u044f, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0432\u0430\u043d\u0435\u0442\u043e \u043d\u0430 \u043f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0438 \u0438\u0437\u0438\u0441\u043a\u0432\u0430 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u043d\u0438 \u0443\u043c\u0435\u043d\u0438\u044f \u0438 \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0437\u043d\u0430\u0435\u0442\u0435 \u043a\u0430\u043a \u0434\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u0438\u0440\u0430\u0442\u0435 \u043d\u0430 <a href=\"https:\/\/java.sun.com\" target=\"_blank\" rel=\"noopener\">Java<\/a> \u0441 IDE<a href=\"https:\/\/ant.apache.org\/\" target=\"_blank\" rel=\"noopener\"><\/a>, \u043f\u0440\u0435\u0434\u0438 \u0434\u0430 \u043f\u0440\u043e\u0434\u044a\u043b\u0436\u0438\u0442\u0435 \u043d\u0430\u043f\u0440\u0435\u0434. \u0422\u043e\u0432\u0430 \u0440\u044a\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u043f\u043e\u043a\u0430\u0437\u0432\u0430 \u043a\u0430\u043a \u0434\u0430 \u0441\u044a\u0437\u0434\u0430\u0434\u0435\u0442\u0435 \u043f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0430 \u0441 <a href=\"https:\/\/www.eclipse.org\/\" target=\"_blank\" rel=\"noopener\">Eclipse<\/a>, \u043d\u043e \u043c\u043e\u0436\u0435\u0442\u0435 \u0434\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442\u0435 IDE \u043f\u043e \u0432\u0430\u0448 \u0438\u0437\u0431\u043e\u0440 \u0438\u043b\u0438 \u0438\u0437\u043e\u0431\u0449\u043e \u0434\u0430 \u043d\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442\u0435 IDE. <\/p>\n\n<h3 class=\"wp-block-heading\">\u0418\u0437\u0442\u0435\u0433\u043b\u0435\u0442\u0435 \u0438 \u0438\u043d\u0441\u0442\u0430\u043b\u0438\u0440\u0430\u0439\u0442\u0435 Eclipse<\/h3>\n\n<p>\u041f\u044a\u0440\u0432\u043e \u0438\u0437\u0442\u0435\u0433\u043b\u0435\u0442\u0435 Eclipse \u043e\u0442 <a href=\"https:\/\/www.eclipse.org\/\" target=\"_blank\" rel=\"noopener\">https:\/\/www.eclipse.org\/<\/a>. \u0412\u0435\u0440\u0441\u0438\u044f\u0442\u0430, \u043d\u0430\u0440\u0435\u0447\u0435\u043d\u0430 <em>Eclipse IDE for Java Developers<\/em>, \u0435 \u0434\u043e\u0441\u0442\u0430\u0442\u044a\u0447\u043d\u0430 \u0437\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0432\u0430\u043d\u0435 \u043d\u0430 \u043f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0430, \u043d\u043e \u043c\u043e\u0436\u0435\u0442\u0435 \u0434\u0430 \u0438\u0437\u0442\u0435\u0433\u043b\u0438\u0442\u0435 \u0432\u0441\u044f\u043a\u0430 \u0432\u0435\u0440\u0441\u0438\u044f \u0437\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043d\u0430 Java. <br\/>\u0421\u043b\u0435\u0434 \u043a\u0430\u0442\u043e \u0431\u044a\u0434\u0435 \u0438\u0437\u0442\u0435\u0433\u043b\u0435\u043d, \u0438\u043d\u0441\u0442\u0430\u043b\u0438\u0440\u0430\u043d\u0435\u0442\u043e \u043d\u0430 Eclipse \u0435 \u043c\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u043e: \u043f\u0440\u043e\u0441\u0442\u043e \u0440\u0430\u0437\u0430\u0440\u0445\u0438\u0432\u0438\u0440\u0430\u0439\u0442\u0435 \u0430\u0440\u0445\u0438\u0432\u0430, \u043a\u043e\u0439\u0442\u043e \u0449\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0435, \u043e\u0442\u0432\u043e\u0440\u0435\u0442\u0435 \u043f\u0430\u043f\u043a\u0430\u0442\u0430 eclipse \u0438 \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442 \u043e\u0442 \u0432\u0430\u0448\u0430\u0442\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430, \u0441\u0442\u0430\u0440\u0442\u0438\u0440\u0430\u0439\u0442\u0435 \u0444\u0430\u0439\u043b\u0430, \u043d\u0430\u0440\u0435\u0447\u0435\u043d <code>eclipse.exe<\/code>  (\u043f\u043e\u0434 Windows),  <code>eclipse.app<\/code>  (\u043f\u043e\u0434 Mac OS X) \u0438\u043b\u0438  <code>eclipse<\/code>  (\u043f\u043e\u0434 Linux).<br\/>\u041f\u0440\u0438 \u043f\u044a\u0440\u0432\u043e\u0442\u043e \u0441\u0442\u0430\u0440\u0442\u0438\u0440\u0430\u043d\u0435 Eclipse \u0449\u0435 \u0438\u0437\u0438\u0441\u043a\u0432\u0430 \u0434\u0430 \u0438\u0437\u0431\u0435\u0440\u0435\u0442\u0435 <em>\u0440\u0430\u0431\u043e\u0442\u043d\u0430 \u043f\u0430\u043f\u043a\u0430<\/em>, \u043a\u044a\u0434\u0435\u0442\u043e \u0449\u0435 \u0441\u0435 \u0441\u044a\u0445\u0440\u0430\u043d\u044f\u0432\u0430\u0442 \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0442\u0435 \u043d\u0430 \u043f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0438\u0442\u0435.<br\/>\u0421\u043b\u0435\u0434 \u043a\u0430\u0442\u043e \u043f\u0440\u0438\u043a\u043b\u044e\u0447\u0438\u0442\u0435, \u0438\u0437\u0431\u0435\u0440\u0435\u0442\u0435 <em>File &gt; New &gt; Project<\/em> \u043e\u0442 \u043c\u0435\u043d\u044e\u0442\u043e, \u0437\u0430 \u0434\u0430 \u0441\u044a\u0437\u0434\u0430\u0434\u0435\u0442\u0435 \u043d\u043e\u0432 \u043f\u0440\u043e\u0435\u043a\u0442, \u0438\u0437\u0431\u0435\u0440\u0435\u0442\u0435 <em>Java &gt; Java project<\/em> \u0432 \u0441\u044a\u0432\u0435\u0442\u043d\u0438\u043a\u0430 <em>New project<\/em>, \u043a\u043e\u0439\u0442\u043e \u0449\u0435 \u0441\u0435 \u043f\u043e\u043a\u0430\u0436\u0435, \u0432\u044a\u0432\u0435\u0434\u0435\u0442\u0435 VolumePlugin \u043a\u0430\u0442\u043e \u0438\u043c\u0435 \u043d\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0438 \u0449\u0440\u0430\u043a\u043d\u0435\u0442\u0435 \u0432\u044a\u0440\u0445\u0443 \u0431\u0443\u0442\u043e\u043d\u0430 <em>Finish<\/em>. \u041d\u0430\u043a\u0440\u0430\u044f \u0437\u0430\u0442\u0432\u043e\u0440\u0435\u0442\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u0430 <em>Welcome<\/em>, \u0437\u0430 \u0434\u0430 \u043e\u0442\u043a\u0440\u0438\u0435\u0442\u0435 \u0440\u0430\u0431\u043e\u0442\u043d\u043e\u0442\u043e \u0441\u0438 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e, \u043a\u0430\u043a\u0442\u043e \u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0430 \u0444\u0438\u0433\u0443\u0440\u0430 1. <\/p>\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<figure class=\"wp-block-image aligncenter size-full\"><img decoding=\"async\" width=\"388\" height=\"315\" data-src=\"https:\/\/test.sweethome3d.eu\/wp-content\/uploads\/2025\/12\/eclipse.png\" alt=\"\" class=\"wp-image-5845 lazyload\" data-srcset=\"https:\/\/test.sweethome3d.eu\/wp-content\/uploads\/2025\/12\/eclipse.png 388w, https:\/\/test.sweethome3d.eu\/wp-content\/uploads\/2025\/12\/eclipse-300x244.png 300w, https:\/\/test.sweethome3d.eu\/wp-content\/uploads\/2025\/12\/eclipse-111x90.png 111w\" data-sizes=\"(max-width: 388px) 100vw, 388px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 388px; --smush-placeholder-aspect-ratio: 388\/315;\" \/><figcaption class=\"wp-element-caption\">\u0424\u0438\u0433\u0443\u0440\u0430 1. \u0420\u0430\u0431\u043e\u0442\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u043d\u0430 Eclipse <\/figcaption><\/figure>\n<\/div>\n\n<h3 class=\"wp-block-heading\">\u0418\u0437\u0442\u0435\u0433\u043b\u0435\u0442\u0435 \u0438 \u0438\u043d\u0441\u0442\u0430\u043b\u0438\u0440\u0430\u0439\u0442\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430\u0442\u0430 Sweet Home 3D<\/h3>\n\n<p>\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0432\u0430\u043d\u0435\u0442\u043e \u043d\u0430 \u043f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0430 \u0441\u0435 \u043e\u0441\u043d\u043e\u0432\u0430\u0432\u0430 \u043d\u0430 \u043d\u044f\u043a\u043e\u0438 \u043a\u043b\u0430\u0441\u043e\u0432\u0435 \u043d\u0430 Sweet Home 3D, \u043a\u043e\u0438\u0442\u043e Eclipse \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u043f\u043e\u0437\u043d\u0430\u0432\u0430, \u0437\u0430 \u0434\u0430 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u044a\u0437\u0434\u0430\u0434\u0435 \u0432\u0430\u0448\u0438\u044f \u043f\u0440\u043e\u0435\u043a\u0442. \u041d\u0430\u0439-\u043b\u0435\u0441\u043d\u0438\u044f\u0442 \u043d\u0430\u0447\u0438\u043d \u0434\u0430 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u0435 \u043a\u043b\u0430\u0441\u043e\u0432\u0435 Sweet Home 3D \u043a\u044a\u043c Eclipse \u0435 \u0434\u0430 \u0438\u0437\u0442\u0435\u0433\u043b\u0438\u0442\u0435 JAR \u0438\u0437\u043f\u044a\u043b\u043d\u0438\u043c\u0430\u0442\u0430 \u0432\u0435\u0440\u0441\u0438\u044f \u043d\u0430 Sweet Home 3D, \u0434\u043e\u0441\u0442\u044a\u043f\u043d\u0430 \u043d\u0430 <a href=\"https:\/\/sourceforge.net\/projects\/sweethome3d\/files\/SweetHome3D\/SweetHome3D-7.5\/SweetHome3D-7.5.jar\/download\" target=\"_blank\" rel=\"noopener\">https:\/\/sourceforge.net\/projects\/sweethome3d\/files\/SweetHome3D\/SweetHome3D-7.5\/SweetHome3D-7.5.jar\/download<\/a>. \u0421\u043b\u0435\u0434 \u043a\u0430\u0442\u043e \u0431\u044a\u0434\u0435 \u0438\u0437\u0442\u0435\u0433\u043b\u0435\u043d, \u043f\u043b\u044a\u0437\u043d\u0435\u0442\u0435 \u0438 \u043f\u0443\u0441\u043d\u0435\u0442\u0435 \u0444\u0430\u0439\u043b\u0430 SweetHome3D-7.5.jar \u0432\u044a\u0440\u0445\u0443 \u0438\u043a\u043e\u043d\u0430\u0442\u0430 \u043d\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 <em>VolumePlugin<\/em> \u0432 \u0438\u0437\u0433\u043b\u0435\u0434\u0430 <em>Package Explorer<\/em> \u043d\u0430 Eclipse \u0438 \u0438\u0437\u0431\u0435\u0440\u0435\u0442\u0435 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0430 <em>Build Path &gt; Add to Build Path<\/em> \u0432 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u043d\u043e\u0442\u043e \u043c\u0435\u043d\u044e \u043d\u0430 \u0444\u0430\u0439\u043b\u0430 SweetHome3D-7.5.jar, \u043a\u0430\u043a\u0442\u043e \u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0430 \u0444\u0438\u0433\u0443\u0440\u0430 2.  <\/p>\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<figure class=\"wp-block-image aligncenter size-full\"><img decoding=\"async\" width=\"452\" height=\"157\" data-src=\"https:\/\/test.sweethome3d.eu\/wp-content\/uploads\/2025\/12\/addToBuildPath.png\" alt=\"\" class=\"wp-image-5846 lazyload\" data-srcset=\"https:\/\/test.sweethome3d.eu\/wp-content\/uploads\/2025\/12\/addToBuildPath.png 452w, https:\/\/test.sweethome3d.eu\/wp-content\/uploads\/2025\/12\/addToBuildPath-300x104.png 300w, https:\/\/test.sweethome3d.eu\/wp-content\/uploads\/2025\/12\/addToBuildPath-259x90.png 259w\" data-sizes=\"(max-width: 452px) 100vw, 452px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 452px; --smush-placeholder-aspect-ratio: 452\/157;\" \/><figcaption class=\"wp-element-caption\">\u0424\u0438\u0433\u0443\u0440\u0430 2. \u0414\u043e\u0431\u0430\u0432\u044f\u043d\u0435 \u043d\u0430 SweetHome3D-7.5.jar<br\/> \u043a\u044a\u043c Build Path <\/figcaption><\/figure>\n<\/div>\n\n<h2 class=\"wp-block-heading programmingPlugin\">\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u043f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0430<\/h2>\n\n<p>\u0421\u0435\u0433\u0430, \u0441\u043b\u0435\u0434 \u043a\u0430\u0442\u043e \u0438\u043d\u0441\u0442\u0430\u043b\u0438\u0440\u0430\u0445\u0442\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0438\u0442\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0438, \u043d\u0435\u043a\u0430 \u0432\u0438\u0434\u0438\u043c \u043a\u0430\u043a \u043c\u043e\u0436\u0435\u0442\u0435 \u0434\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u0438\u0440\u0430\u0442\u0435 \u043f\u044a\u0440\u0432\u0430\u0442\u0430 \u0441\u0438 \u043f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0430 \u0437\u0430 Sweet Home 3D.<\/p>\n\n<h3 class=\"wp-block-heading\">\u0421\u044a\u0437\u0434\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 \u043a\u043b\u0430\u0441 \u043d\u0430 \u043f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0430<\/h3>\n\n<p>\u041f\u044a\u0440\u0432\u043e, \u0441\u044a\u0437\u0434\u0430\u0439\u0442\u0435 \u043d\u043e\u0432 \u043f\u043e\u0434\u043a\u043b\u0430\u0441 \u043d\u0430 com.eteks.sweethome3d.plugin.Plugin, \u043a\u0430\u0442\u043e \u0438\u0437\u0431\u0435\u0440\u0435\u0442\u0435 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u043e\u0442 \u043c\u0435\u043d\u044e\u0442\u043e <em>File &gt; New &gt; Class<\/em> \u0432 Eclipse.<\/p>\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<figure class=\"wp-block-image aligncenter size-full\"><img decoding=\"async\" width=\"418\" height=\"509\" data-src=\"https:\/\/test.sweethome3d.eu\/wp-content\/uploads\/2025\/12\/newJavaClass.png\" alt=\"\" class=\"wp-image-5847 lazyload\" data-srcset=\"https:\/\/test.sweethome3d.eu\/wp-content\/uploads\/2025\/12\/newJavaClass.png 418w, https:\/\/test.sweethome3d.eu\/wp-content\/uploads\/2025\/12\/newJavaClass-246x300.png 246w, https:\/\/test.sweethome3d.eu\/wp-content\/uploads\/2025\/12\/newJavaClass-74x90.png 74w\" data-sizes=\"(max-width: 418px) 100vw, 418px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 418px; --smush-placeholder-aspect-ratio: 418\/509;\" \/><figcaption class=\"wp-element-caption\">\u0424\u0438\u0433\u0443\u0440\u0430 3. \u0421\u044a\u0437\u0434\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 \u043d\u043e\u0432 \u043a\u043b\u0430\u0441 <\/figcaption><\/figure>\n<\/div>\n\n<p>\u0412 \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432\u0438\u044f \u043f\u0440\u043e\u0437\u043e\u0440\u0435\u0446 <em>New Java Class<\/em> \u0432\u044a\u0432\u0435\u0434\u0435\u0442\u0435 VolumePlugin \u043a\u0430\u0442\u043e \u0438\u043c\u0435 \u043d\u0430 \u043a\u043b\u0430\u0441\u0430, \u0432\u044a\u0432\u0435\u0434\u0435\u0442\u0435 \u043f\u0430\u043a\u0435\u0442 (\u0442\u0443\u043a \u0438\u0437\u0431\u0440\u0430\u043d\u0438\u044f\u0442 \u043f\u0430\u043a\u0435\u0442 \u0431\u0435\u0448\u0435 com.eteks.test) \u0438 \u0438\u0437\u0431\u0435\u0440\u0435\u0442\u0435 com.eteks.sweethome3d.plugin.Plugin \u043a\u0430\u0442\u043e \u0441\u0443\u043f\u0435\u0440 \u043a\u043b\u0430\u0441 \u043d\u0430 VolumePlugin. \u0421\u043b\u0435\u0434 \u043a\u0430\u0442\u043e \u043f\u0440\u0438\u043a\u043b\u044e\u0447\u0438\u0442\u0435, \u0449\u0440\u0430\u043a\u043d\u0435\u0442\u0435 \u0432\u044a\u0440\u0445\u0443 <em>Finish<\/em>. Eclipse \u0449\u0435 \u0441\u044a\u0437\u0434\u0430\u0434\u0435 \u0444\u0430\u0439\u043b\u0430 \u043d\u0430 \u043d\u043e\u0432\u0438\u044f \u043a\u043b\u0430\u0441 \u0441\u044a\u0441 \u0441\u043b\u0435\u0434\u043d\u043e\u0442\u043e \u0441\u044a\u0434\u044a\u0440\u0436\u0430\u043d\u0438\u0435:  <\/p>\n\n<pre class=\"wp-block-preformatted\">package com.eteks.test;<br\/>import com.eteks.sweethome3d.plugin.Plugin;<br\/>import com.eteks.sweethome3d.plugin.PluginAction;<br\/>public class <strong>VolumePlugin<\/strong> extends <strong>Plugin<\/strong> {<br\/> @Override<br\/> public PluginAction[] <strong>getActions<\/strong>() {<br\/> \/\/ TODO Auto-generated method stub<br\/> return null;<br\/> }<br\/>}<\/pre>\n\n<p>\u041a\u0430\u043a\u0442\u043e \u043c\u043e\u0436\u0435\u0442\u0435 \u0434\u0430 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435 \u043e\u0442 \u043a\u043e\u043c\u0435\u043d\u0442\u0430\u0440\u0430 TODO, \u0441\u0435\u0433\u0430 \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u043f\u0440\u043e\u043c\u0435\u043d\u0438\u0442\u0435 \u0438\u0437\u043f\u044a\u043b\u043d\u0435\u043d\u0438\u0435\u0442\u043e \u043d\u0430 \u043c\u0435\u0442\u043e\u0434\u0430 getActions, \u0437\u0430 \u0434\u0430 \u0432\u044a\u0440\u043d\u0435\u0442\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u043d\u0430 \u043f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0430, \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e \u0434\u0430 \u0438\u0437\u0447\u0438\u0441\u043b\u0438 \u043e\u0431\u0435\u043c\u0430 \u043d\u0430 \u043f\u043e\u0434\u0432\u0438\u0436\u043d\u0438\u0442\u0435 \u043c\u0435\u0431\u0435\u043b\u0438. \u0417\u0430\u043c\u0435\u043d\u0435\u0442\u0435 return null; \u0441\u044a\u0441 \u0441\u043b\u0435\u0434\u043d\u043e\u0442\u043e \u0442\u0432\u044a\u0440\u0434\u0435\u043d\u0438\u0435: <\/p>\n\n<pre class=\"wp-block-preformatted\">  return new <strong>PluginAction<\/strong> [] {new <strong>VolumeAction<\/strong>()};  <\/pre>\n\n<p>\u0438 \u0438\u0437\u0431\u0435\u0440\u0435\u0442\u0435 <em>Edition &gt; Quick Fix<\/em> \u043e\u0442 \u043c\u0435\u043d\u044e\u0442\u043e \u043d\u0430 Eclipse, \u0437\u0430 \u0434\u0430 \u0441\u044a\u0437\u0434\u0430\u0434\u0435\u0442\u0435 \u043b\u0438\u043f\u0441\u0432\u0430\u0449\u0438\u044f \u043a\u043b\u0430\u0441 VolumeAction, \u043a\u0430\u043a\u0442\u043e \u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0430 \u0444\u0438\u0433\u0443\u0440\u0430 4.<\/p>\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<figure class=\"wp-block-image aligncenter size-full\"><img decoding=\"async\" width=\"615\" height=\"117\" data-src=\"https:\/\/test.sweethome3d.eu\/wp-content\/uploads\/2025\/12\/quickFix.png\" alt=\"\" class=\"wp-image-5848 lazyload\" data-srcset=\"https:\/\/test.sweethome3d.eu\/wp-content\/uploads\/2025\/12\/quickFix.png 615w, https:\/\/test.sweethome3d.eu\/wp-content\/uploads\/2025\/12\/quickFix-300x57.png 300w, https:\/\/test.sweethome3d.eu\/wp-content\/uploads\/2025\/12\/quickFix-473x90.png 473w\" data-sizes=\"(max-width: 615px) 100vw, 615px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 615px; --smush-placeholder-aspect-ratio: 615\/117;\" \/><figcaption class=\"wp-element-caption\">\u0424\u0438\u0433\u0443\u0440\u0430 4. \u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0435 \u043d\u0430 Quick fix \u0437\u0430 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u043b\u0438\u043f\u0441\u0432\u0430\u0449 \u043a\u043b\u0430\u0441 <\/figcaption><\/figure>\n<\/div>\n\n<p>\u0412 \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432\u0438\u044f \u043f\u0440\u043e\u0437\u043e\u0440\u0435\u0446 <em>New Java Class<\/em>, \u043a\u043e\u0439\u0442\u043e \u0441\u0435 \u043f\u043e\u044f\u0432\u044f\u0432\u0430, \u0438\u0437\u0431\u0435\u0440\u0435\u0442\u0435 \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u0447\u0435\u0442\u043e \u0437\u0430 \u043e\u0442\u043c\u0435\u0442\u043a\u0430 <em>Enclosing type<\/em>, \u0437\u0430 \u0434\u0430 \u0441\u044a\u0437\u0434\u0430\u0434\u0435\u0442\u0435 \u0432\u044a\u0442\u0440\u0435\u0448\u0435\u043d \u043a\u043b\u0430\u0441 \u043d\u0430 VolumePlugin \u0438 \u0449\u0440\u0430\u043a\u043d\u0435\u0442\u0435 \u0432\u044a\u0440\u0445\u0443 <em>Finish<\/em>. \u0422\u043e\u0432\u0430 \u0449\u0435 \u0441\u044a\u0437\u0434\u0430\u0434\u0435 \u043a\u043b\u0430\u0441\u0430 VolumeAction, \u043a\u043e\u0439\u0442\u043e \u043d\u0430\u0441\u043b\u0435\u0434\u044f\u0432\u0430 \u043a\u043b\u0430\u0441\u0430 com.eteks.sweethome3d.plugin.PluginAction \u0438 \u0441\u044a\u0434\u044a\u0440\u0436\u0430 \u043f\u0440\u0430\u0437\u0435\u043d \u043c\u0435\u0442\u043e\u0434 execute: <\/p>\n\n<pre class=\"wp-block-preformatted\">  public class <strong>VolumeAction<\/strong> extends <strong>PluginAction<\/strong> {<br\/> @Override<br\/> public void <strong>execute<\/strong>() {<br\/> \/\/ TODO Auto-generated method stub<br\/> }<br\/> }<\/pre>\n\n<p>\u0422\u043e\u0437\u0438 \u043c\u0435\u0442\u043e\u0434 \u0435 \u0442\u043e\u0437\u0438, \u043a\u043e\u0439\u0442\u043e Sweet Home 3D \u0449\u0435 \u0438\u0437\u0432\u0438\u043a\u0430, \u043a\u043e\u0433\u0430\u0442\u043e \u043f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b\u044f\u0442 \u0441\u0442\u0430\u0440\u0442\u0438\u0440\u0430 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435\u0442\u043e \u043d\u0430 \u043f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0430\u0442\u0430; \u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u043d\u043e \u0442\u043e\u0432\u0430 \u0435 \u043c\u044f\u0441\u0442\u043e\u0442\u043e, \u043a\u044a\u0434\u0435\u0442\u043e \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0438\u0442\u0435 \u043a\u0430\u043a \u0434\u0430 \u0438\u0437\u0447\u0438\u0441\u043b\u0438\u0442\u0435 \u043e\u0431\u0435\u043c\u0430 \u043d\u0430 \u043c\u0435\u0431\u0435\u043b\u0438\u0442\u0435 \u0438 \u0434\u0430 \u0433\u043e \u043f\u043e\u043a\u0430\u0436\u0435\u0442\u0435:<\/p>\n\n<pre class=\"wp-block-preformatted\">  public class <strong>VolumeAction<\/strong> extends <strong>PluginAction<\/strong> {  <br\/>  @Override<br\/>  public void <strong>execute<\/strong>() { <br\/>  float volumeInCm3 = 0;<br\/> \/\/ Compute the sum of the volume of the bounding box of <br\/> \/\/ each movable piece of furniture in home<br\/> for (PieceOfFurniture piece : <strong>getHome<\/strong>(). <strong>getFurniture<\/strong>()) {<br\/> if (piece. <strong>isMovable<\/strong>()) {<br\/> volumeInCm3 += piece. <strong>getWidth<\/strong>() <br\/> * piece. <strong>getDepth<\/strong>() <br\/> * piece. <strong>getHeight<\/strong>();<br\/>  }<br\/> }<br\/>            <br\/> \/\/ Display the result in a message box (\u00b3 is for 3 in supercript)<br\/> String message = String. <strong>format<\/strong>(<br\/> \"The maximum volume of the movable furniture in home is %.2f m\u00b3.\", <br\/> volumeInCm3 \/ 1000000);<br\/> JOptionPane. <strong>showMessageDialog<\/strong>(null, message);<br\/>  }<br\/>  }<\/pre>\n\n<p>\u0421\u0435\u0433\u0430, \u0441\u043b\u0435\u0434 \u043a\u0430\u0442\u043e \u043f\u043e\u0441\u043e\u0447\u0438\u0445\u0442\u0435 \u043a\u0430\u043a\u0432\u043e \u0438\u0441\u043a\u0430\u0442\u0435 \u0434\u0430 \u043f\u0440\u0430\u0432\u0438 \u043f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0430\u0442\u0430, \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u043e\u043f\u0438\u0448\u0435\u0442\u0435 \u043a\u0430\u043a \u043f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b\u044f\u0442 \u0449\u0435 \u0441\u0442\u0430\u0440\u0442\u0438\u0440\u0430 \u0442\u043e\u0432\u0430 \u043d\u043e\u0432\u043e \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435. \u0418\u043c\u0430\u0442\u0435 \u0438\u0437\u0431\u043e\u0440 \u043c\u0435\u0436\u0434\u0443 \u0434\u043e\u0431\u0430\u0432\u044f\u043d\u0435 \u043d\u0430 \u043d\u043e\u0432 <strong>\u0435\u043b\u0435\u043c\u0435\u043d\u0442 \u043e\u0442 \u043c\u0435\u043d\u044e\u0442\u043e<\/strong> \u043a\u044a\u043c \u043c\u0435\u043d\u044e \u0438\/\u0438\u043b\u0438 \u043d\u043e\u0432 <strong>\u0431\u0443\u0442\u043e\u043d<\/strong> \u043a\u044a\u043c \u043b\u0435\u043d\u0442\u0430\u0442\u0430 \u0441 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0438. \u0422\u043e\u0437\u0438 \u0438\u0437\u0431\u043e\u0440 \u0441\u0435 \u043f\u0440\u0430\u0432\u0438 \u0447\u0440\u0435\u0437 \u0437\u0430\u0434\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0438\u0442\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u043d\u0430 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435\u0442\u043e \u043d\u0430 \u043f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0430\u0442\u0430 \u043f\u0440\u0438 \u043d\u0435\u0439\u043d\u043e\u0442\u043e \u0441\u044a\u0437\u0434\u0430\u0432\u0430\u043d\u0435. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0430\u043a\u043e \u0438\u0441\u043a\u0430\u0442\u0435 \u043f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b\u0438\u0442\u0435 \u0434\u0430 \u0441\u0442\u0430\u0440\u0442\u0438\u0440\u0430\u0442 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435\u0442\u043e \u0437\u0430 \u043e\u0431\u0435\u043c \u0441 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u043e\u0442 \u043c\u0435\u043d\u044e\u0442\u043e <em>Compute volume<\/em>, \u043d\u0430\u043c\u0435\u0440\u0435\u043d \u0432 \u043c\u0435\u043d\u044e\u0442\u043e <em>Tools<\/em>, \u0449\u0435 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u0435 \u0441\u043b\u0435\u0434\u043d\u0438\u044f \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440 \u043a\u044a\u043c \u043a\u043b\u0430\u0441\u0430 VolumnAction:   <\/p>\n\n<pre class=\"wp-block-preformatted\">  public <strong>VolumeAction<\/strong>() {<br\/>           <strong>putPropertyValue<\/strong>(Property.NAME, \"Compute volume\");<br\/>           <strong>putPropertyValue<\/strong>(Property.MENU, \"Tools\");<br\/> \/\/ Enables the action by default<br\/>           <strong>setEnabled<\/strong>(true);<br\/> }<\/pre>\n\n<p>\u041a\u043b\u0430\u0441\u044a\u0442 \u043d\u0430 \u043f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0430\u0442\u0430 <a href=\"\/examples\/VolumePlugin\/VolumePlugin.java\">VolumePlugin<\/a> \u0432\u0435\u0447\u0435 \u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u0438\u0440\u0430\u043d \u0438 \u043f\u043e\u0447\u0442\u0438 \u0433\u043e\u0442\u043e\u0432 \u0434\u0430 \u0440\u0430\u0431\u043e\u0442\u0438 \u043a\u0430\u0442\u043e \u043f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0430 \u0432 Sweet Home 3D. \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0442\u0435 \u0434\u0432\u0435 \u043d\u0435\u0449\u0430, \u043a\u043e\u0438\u0442\u043e \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u043d\u0430\u043f\u0440\u0430\u0432\u0438\u0442\u0435, \u0441\u0430: <\/p>\n\n<ul class=\"wp-block-list pl-14\">\n<li>\u0441\u044a\u0437\u0434\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 <tt>ApplicationPlugin.properties<\/tt> \u0444\u0430\u0439\u043b \u0441 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435,<\/li>\n\n\n\n<li>\u043f\u043e\u0441\u0442\u0430\u0432\u044f\u043d\u0435 \u043d\u0430 \u0444\u0430\u0439\u043b\u043e\u0432\u0435\u0442\u0435 \u0437\u0430\u0435\u0434\u043d\u043e \u0432 JAR \u0444\u0430\u0439\u043b.<br\/><\/li>\n<\/ul>\n\n<h3 class=\"wp-block-heading\" id=\"creating-the-plugin-description-file\">\u0421\u044a\u0437\u0434\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 \u0444\u0430\u0439\u043b \u0441 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043d\u0430 \u043f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0430\u0442\u0430<\/h3>\n\n<p>\u0424\u0430\u0439\u043b <tt>ApplicationPlugin.properties<\/tt>\n \u043e\u043f\u0438\u0441\u0432\u0430 \u0438\u043c\u0435\u0442\u043e \u043d\u0430 \u043f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0430\u0442\u0430, \u043d\u0435\u0439\u043d\u0438\u044f \u043a\u043b\u0430\u0441, \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u043d\u0438\u0442\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 \u043d\u0430 Sweet Home 3D \u0438 Java, \u043f\u043e\u0434 \u043a\u043e\u0438\u0442\u043e \u0441\u0435 \u043f\u043e\u0434\u0434\u044a\u0440\u0436\u0430,\n \u0438 \u043f\u0440\u0430\u0432\u043d\u0438 \u043d\u0435\u0449\u0430. \u0418\u0437\u0431\u0435\u0440\u0435\u0442\u0435 <i>File &gt; New &gt; File<\/i> \u043e\u0442\n \u043c\u0435\u043d\u044e\u0442\u043e \u043d\u0430 Eclipse, \u0432\u044a\u0432\u0435\u0434\u0435\u0442\u0435 \u0438\u043c\u0435\u0442\u043e \u043d\u0430 \u0444\u0430\u0439\u043b\u0430 <tt>ApplicationPlugin.properties<\/tt> \u0438 \u0449\u0440\u0430\u043a\u043d\u0435\u0442\u0435 \u0432\u044a\u0440\u0445\u0443 <i>Finish<\/i>, \u043a\u0430\u043a\u0442\u043e \u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e\n \u043d\u0430 \u0444\u0438\u0433\u0443\u0440\u0430 5. <\/p>\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img decoding=\"async\" width=\"264\" height=\"384\" data-src=\"https:\/\/test.sweethome3d.eu\/wp-content\/uploads\/2025\/12\/newFile.png\" alt=\"\" class=\"wp-image-5849 lazyload\" style=\"--smush-placeholder-width: 264px; --smush-placeholder-aspect-ratio: 264\/384;width:264px;height:auto\" data-srcset=\"https:\/\/test.sweethome3d.eu\/wp-content\/uploads\/2025\/12\/newFile.png 264w, https:\/\/test.sweethome3d.eu\/wp-content\/uploads\/2025\/12\/newFile-206x300.png 206w, https:\/\/test.sweethome3d.eu\/wp-content\/uploads\/2025\/12\/newFile-62x90.png 62w\" data-sizes=\"(max-width: 264px) 100vw, 264px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" \/><figcaption class=\"wp-element-caption\">\u0424\u0438\u0433\u0443\u0440\u0430 5. \u0421\u044a\u0437\u0434\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 \u043d\u043e\u0432 \u0444\u0430\u0439\u043b <\/figcaption><\/figure>\n<\/div>\n\n<p>\u0421\u043b\u0435\u0434 \u0442\u043e\u0432\u0430 \u0432\u044a\u0432\u0435\u0434\u0435\u0442\u0435 <a href=\"\/examples\/VolumePlugin\/ApplicationPlugin.properties\">\u0441\u043b\u0435\u0434\u043d\u043e\u0442\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435<\/a> \u0432 \u043d\u043e\u0432\u0438\u044f \u0444\u0430\u0439\u043b \u0438 \u0433\u043e \u0437\u0430\u043f\u0430\u0437\u0435\u0442\u0435:<\/p>\n\n<pre class=\"wp-block-preformatted\"><strong>name<\/strong>=Movable furniture volume<br\/><strong>class<\/strong>=com.eteks.test.VolumePlugin<br\/><strong>description<\/strong>=Computes the volume of the movable furniture in home<br\/><strong>version<\/strong>=1.0<br\/><strong>license<\/strong>=GNU GPL<br\/><strong>provider<\/strong>=(C) Copyrights 2024 Space Mushrooms<br\/><strong>applicationMinimumVersion<\/strong>=1.5<br\/><strong>javaMinimumVersion<\/strong>=1.5<\/pre>\n\n<h3 class=\"wp-block-heading\" id=\"creatingPluginJAR\">\u0421\u044a\u0437\u0434\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 JAR \u043d\u0430 \u043f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0430\u0442\u0430<\/h3>\n\n<p>JAR \u043d\u0430 \u043f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0430\u0442\u0430 \u0441\u044a\u0434\u044a\u0440\u0436\u0430 <tt>\u043a\u043b\u0430\u0441\u043e\u0432\u0438\u0442\u0435<\/tt> \u0444\u0430\u0439\u043b\u043e\u0432\u0435, \u0441\u044a\u0437\u0434\u0430\u0434\u0435\u043d\u0438 \u043e\u0442 \u043a\u043e\u043c\u043f\u0438\u043b\u0430\u0446\u0438\u044f\u0442\u0430 \u043d\u0430 \u0444\u0430\u0439\u043b\u0430 <tt>VolumePlugin.java<\/tt>,\n \u0438 \u0444\u0430\u0439\u043b\u0430 <tt>ApplicationPlugin.properties<\/tt>. \u0422\u044a\u0439 \u043a\u0430\u0442\u043e Eclipse \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0430 Java \u0444\u0430\u0439\u043b \u0432\u0435\u0434\u043d\u0430\u0433\u0430 \u0449\u043e\u043c \u0433\u043e \u0437\u0430\u043f\u0430\u0437\u0438\u0442\u0435, \u0432\u0438\u0435\n \u043f\u0440\u043e\u0441\u0442\u043e \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0438\u0437\u0431\u0435\u0440\u0435\u0442\u0435 <i>File &gt; Export&#8230;<\/i> \u043e\u0442 \u043c\u0435\u043d\u044e\u0442\u043e \u0438 \u0434\u0430 \u0438\u0437\u0431\u0435\u0440\u0435\u0442\u0435 <i>Java &gt; JAR file<\/i> \u0432 \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432\u0438\u044f \u043f\u0440\u043e\u0437\u043e\u0440\u0435\u0446 <i>Export<\/i>\n, \u043a\u043e\u0439\u0442\u043e \u0449\u0435 \u0441\u0435 \u043f\u043e\u043a\u0430\u0436\u0435. \u0412 \u0441\u044a\u0432\u0435\u0442\u043d\u0438\u043a\u0430 <i>Jar Export<\/i>, \u043a\u043e\u0439\u0442\u043e \u0441\u0435 \u043f\u043e\u044f\u0432\u044f\u0432\u0430, \u043a\u0430\u043a\u0442\u043e \u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0430 \u0444\u0438\u0433\u0443\u0440\u0430 6, \u0438\u0437\u0431\u0435\u0440\u0435\u0442\u0435 \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u0447\u0435\u0442\u043e \u0437\u0430 \u043e\u0442\u043c\u0435\u0442\u043a\u0430 \u043d\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\n \u0438 \u0432\u044a\u0432\u0435\u0434\u0435\u0442\u0435 \u043f\u044a\u0442\u044f \u043d\u0430 JAR \u0444\u0430\u0439\u043b, \u043f\u043e\u0441\u0442\u0430\u0432\u0435\u043d \u0432 \u043f\u0430\u043f\u043a\u0430\u0442\u0430 \u0441 \u043f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0438 \u043d\u0430 Sweet Home 3D. \u0422\u0430\u0437\u0438 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0430 \u043f\u0430\u043f\u043a\u0430 \u0437\u0430\u0432\u0438\u0441\u0438\n \u043e\u0442 \u0432\u0430\u0448\u0430\u0442\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430, \u043a\u0430\u043a\u0442\u043e \u0441\u043b\u0435\u0434\u0432\u0430:   <\/p>\n\n<ul class=\"wp-block-list pl-14\">\n<li>  \u043f\u043e\u0434 Windows Vista \/ 7 \/ 8 \/ 10 \/ 11, \u0442\u0430\u0437\u0438 \u043f\u0430\u043f\u043a\u0430 \u0435 <tt>C:\\Users\\<i>\u043f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b<\/i>\\AppData\\Roaming\\eTeks\\Sweet\n Home 3D\\plugins<\/tt>,<\/li>\n\n\n\n<li>  \u043f\u043e\u0434 Windows XP \u0438 \u043f\u0440\u0435\u0434\u0438\u0448\u043d\u0438 \u0432\u0435\u0440\u0441\u0438\u0438 \u043d\u0430 Windows, \u0442\u0430\u0437\u0438 \u043f\u0430\u043f\u043a\u0430 \u0435 <tt>C:\\Documents and Settings\\<i>\u043f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b<\/i>\\Application Data\\eTeks\\Sweet\n Home 3D\\plugins<\/tt>,<\/li>\n\n\n\n<li>  \u043f\u043e\u0434 macOS, \u0442\u043e\u0432\u0430 \u0435 \u043f\u043e\u0434\u043f\u0430\u043f\u043a\u0430\u0442\u0430 <tt>Library\/Application Support\/eTeks\/Sweet Home 3D\/<\/tt><tt>plugins<\/tt> \u043d\u0430 \u0432\u0430\u0448\u0430\u0442\u0430\n \u043f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b\u0441\u043a\u0430 \u043f\u0430\u043f\u043a\u0430,<\/li>\n\n\n\n<li>  \u043f\u043e\u0434 Linux \u0438 \u0434\u0440\u0443\u0433\u0438 Unix, \u0442\u043e\u0432\u0430 \u0435 \u043f\u043e\u0434\u043f\u0430\u043f\u043a\u0430\u0442\u0430 <tt>.eteks\/sweethome3d\/<\/tt><tt>plugins<\/tt> \u043d\u0430 \u0432\u0430\u0448\u0430\u0442\u0430 \u043f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b\u0441\u043a\u0430 \u043f\u0430\u043f\u043a\u0430.<\/li>\n<\/ul>\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<figure class=\"wp-block-image aligncenter size-full\"><img decoding=\"async\" width=\"499\" height=\"440\" data-src=\"https:\/\/test.sweethome3d.eu\/wp-content\/uploads\/2025\/12\/jarExport.png\" alt=\"\" class=\"wp-image-5850 lazyload\" data-srcset=\"https:\/\/test.sweethome3d.eu\/wp-content\/uploads\/2025\/12\/jarExport.png 499w, https:\/\/test.sweethome3d.eu\/wp-content\/uploads\/2025\/12\/jarExport-300x265.png 300w, https:\/\/test.sweethome3d.eu\/wp-content\/uploads\/2025\/12\/jarExport-102x90.png 102w\" data-sizes=\"(max-width: 499px) 100vw, 499px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 499px; --smush-placeholder-aspect-ratio: 499\/440;\" \/><figcaption class=\"wp-element-caption\">\u0424\u0438\u0433\u0443\u0440\u0430 6. \u0415\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u0430\u043d\u0435 \u0432 JAR \u0444\u0430\u0439\u043b <\/figcaption><\/figure>\n<\/div>\n\n<h3 class=\"wp-block-heading\" id=\"testing-the-plugin\">\u0422\u0435\u0441\u0442\u0432\u0430\u043d\u0435 \u043d\u0430 \u043f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0430\u0442\u0430<\/h3>\n\n<p><a href=\"\/examples\/VolumePlugin\/VolumePlugin.jar\">\u041f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0430\u0442\u0430<\/a>, \u043a\u043e\u044f\u0442\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0438\u0445\u0442\u0435, \u0449\u0435 \u0440\u0430\u0431\u043e\u0442\u0438 \u0432 Sweet Home 3D, \u0438\u043b\u0438 \u0441 \u0432\u0435\u0440\u0441\u0438\u044f\u0442\u0430 <a href=\"\/storage\/SweetHome3D.jnlp\">Java Web Start<\/a>, \u0432\u0435\u0440\u0441\u0438\u044f\u0442\u0430 <a href=\"https:\/\/downloads.sourceforge.net\/sweethome3d\/\" target=\"_blank\" rel=\"noopener\">\u0438\u043d\u0441\u0442\u0430\u043b\u0430\u0442\u043e\u0440\u0438<\/a>, \u0438\u043b\u0438 <a href=\"https:\/\/sourceforge.net\/projects\/sweethome3d\/files\/SweetHome3D\/SweetHome3D-7.5\/SweetHome3D-7.5.jar\/download\" target=\"_blank\" rel=\"noopener\">SweetHome3D-7.5.jar<\/a>, \u043a\u043e\u044f\u0442\u043e \u0438\u0437\u0442\u0435\u0433\u043b\u0438\u0445\u0442\u0435 \u043f\u0440\u0435\u0434\u0438 \u0442\u043e\u0432\u0430. \u0422\u044a\u0439 \u043a\u0430\u0442\u043e \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0430\u0442\u0430 \u0435 \u0438\u0437\u043f\u044a\u043b\u043d\u0438\u043c JAR, \u043c\u043e\u0436\u0435\u0442\u0435 \u0434\u0430 \u044f \u0441\u0442\u0430\u0440\u0442\u0438\u0440\u0430\u0442\u0435, \u043a\u0430\u0442\u043e \u0449\u0440\u0430\u043a\u043d\u0435\u0442\u0435 \u0434\u0432\u0443\u043a\u0440\u0430\u0442\u043d\u043e \u0432\u044a\u0440\u0445\u0443 \u043d\u0435\u044f \u0438\u043b\u0438 \u0441\u044a\u0441 \u0441\u043b\u0435\u0434\u043d\u0430\u0442\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430: <\/p>\n\n<p><a href=\"\/examples\/VolumePlugin\/VolumePlugin.jar\">\u041f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0430\u0442\u0430<\/a>, \u043a\u043e\u044f\u0442\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0438\u0445\u0442\u0435, \u0449\u0435 \u0440\u0430\u0431\u043e\u0442\u0438 \u0432 Sweet Home 3D, \u0438\u043b\u0438 \u0441 \u0432\u0435\u0440\u0441\u0438\u044f\u0442\u0430 <a href=\"\/storage\/SweetHome3D.jnlp\">Java Web Start<\/a>, \u0432\u0435\u0440\u0441\u0438\u044f\u0442\u0430 <a href=\"https:\/\/downloads.sourceforge.net\/sweethome3d\/\" target=\"_blank\" rel=\"noopener\">\u0438\u043d\u0441\u0442\u0430\u043b\u0430\u0442\u043e\u0440\u0438<\/a>, \u0438\u043b\u0438 <a href=\"https:\/\/sourceforge.net\/projects\/sweethome3d\/files\/SweetHome3D\/SweetHome3D-7.5\/SweetHome3D-7.5.jar\/download\" target=\"_blank\" rel=\"noopener\">SweetHome3D-7.5.jar<\/a>, \u043a\u043e\u044f\u0442\u043e \u0438\u0437\u0442\u0435\u0433\u043b\u0438\u0445\u0442\u0435 \u043f\u0440\u0435\u0434\u0438 \u0442\u043e\u0432\u0430. \u0422\u044a\u0439 \u043a\u0430\u0442\u043e \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0430\u0442\u0430 \u0435 \u0438\u0437\u043f\u044a\u043b\u043d\u0438\u043c JAR, \u043c\u043e\u0436\u0435\u0442\u0435 \u0434\u0430 \u044f \u0441\u0442\u0430\u0440\u0442\u0438\u0440\u0430\u0442\u0435, \u043a\u0430\u0442\u043e \u0449\u0440\u0430\u043a\u043d\u0435\u0442\u0435 \u0434\u0432\u0443\u043a\u0440\u0430\u0442\u043d\u043e \u0432\u044a\u0440\u0445\u0443 \u043d\u0435\u044f \u0438\u043b\u0438 \u0441\u044a\u0441 \u0441\u043b\u0435\u0434\u043d\u0430\u0442\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430: <\/p>\n\n<pre class=\"wp-block-preformatted\">java -jar \/<em>\u043f\u044a\u0442<\/em>\/<em>\u0434\u043e<\/em>\/SweetHome3D-7.5.jar<\/pre>\n\n<p>\u0414\u043e\u043a\u0430\u0442\u043e \u0442\u0435\u0441\u0442\u0432\u0430\u0442\u0435, \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e \u0449\u0435 \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0435\u0442\u0435\u0442\u0435 \u0434\u0430 \u0441\u0442\u0430\u0440\u0442\u0438\u0440\u0430\u0442\u0435 Sweet Home 3D \u0441 \u0442\u0430\u0437\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u0430, \u0437\u0430 \u0434\u0430 \u043c\u043e\u0436\u0435\u0442\u0435 \u0434\u0430 \u043f\u0440\u043e\u0447\u0435\u0442\u0435\u0442\u0435 \u0432 \u043a\u043e\u043d\u0437\u043e\u043b\u0430\u0442\u0430 \u0441\u0442\u0435\u043a\u0430 \u043d\u0430 \u043f\u0440\u043e\u0441\u043b\u0435\u0434\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 \u0438\u0437\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f\u0442\u0430, \u0445\u0432\u044a\u0440\u043b\u0435\u043d\u0438 \u043f\u043e \u0432\u0440\u0435\u043c\u0435 \u043d\u0430 \u0438\u0437\u043f\u044a\u043b\u043d\u0435\u043d\u0438\u0435\u0442\u043e \u043d\u0430 \u0432\u0430\u0448\u0430\u0442\u0430 \u043f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0430.<\/p>\n\n<p>\u0421\u043b\u0435\u0434 \u043a\u0430\u0442\u043e Sweet Home 3D \u0431\u044a\u0434\u0435 \u0441\u0442\u0430\u0440\u0442\u0438\u0440\u0430\u043d, \u0449\u0435 \u0432\u0438\u0434\u0438\u0442\u0435 \u043d\u043e\u0432\u043e\u0442\u043e \u043c\u0435\u043d\u044e \u0438 \u043d\u0435\u0433\u043e\u0432\u0438\u044f \u0435\u043b\u0435\u043c\u0435\u043d\u0442 \u0434\u0430 \u0441\u0435 \u043f\u043e\u044f\u0432\u044f\u0432\u0430\u0442, \u043a\u0430\u043a\u0442\u043e \u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0430 \u0444\u0438\u0433\u0443\u0440\u0430 7:<\/p>\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<figure class=\"wp-block-image aligncenter size-full\"><img decoding=\"async\" width=\"447\" height=\"53\" data-src=\"https:\/\/test.sweethome3d.eu\/wp-content\/uploads\/2025\/12\/pluginMenu.png\" alt=\"\" class=\"wp-image-5851 lazyload\" data-srcset=\"https:\/\/test.sweethome3d.eu\/wp-content\/uploads\/2025\/12\/pluginMenu.png 447w, https:\/\/test.sweethome3d.eu\/wp-content\/uploads\/2025\/12\/pluginMenu-300x36.png 300w\" data-sizes=\"(max-width: 447px) 100vw, 447px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 447px; --smush-placeholder-aspect-ratio: 447\/53;\" \/><figcaption class=\"wp-element-caption\">\u0424\u0438\u0433\u0443\u0440\u0430 7. \u041c\u0435\u043d\u044e \u043d\u0430 \u043f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0430\u0442\u0430 <\/figcaption><\/figure>\n<\/div>\n\n<p>\u0410\u043a\u043e \u0438\u0437\u0431\u0435\u0440\u0435\u0442\u0435 \u043d\u043e\u0432\u0438\u044f \u0435\u043b\u0435\u043c\u0435\u043d\u0442 \u043e\u0442 \u043c\u0435\u043d\u044e\u0442\u043e \u0437\u0430 <a href=\"\/examples\/userGuideExample.sh3d\">\u0434\u043e\u043c\u0430\u0448\u043d\u0438\u044f \u043f\u0440\u0438\u043c\u0435\u0440<\/a>, \u0441\u044a\u0437\u0434\u0430\u0434\u0435\u043d \u0432 <a href=\"https:\/\/test.sweethome3d.eu\/bg\/%d1%80%d1%8a%d0%ba%d0%be%d0%b2%d0%be%d0%b4%d1%81%d1%82%d0%b2%d0%be-%d0%b7%d0%b0-%d0%bf%d0%be%d1%82%d1%80%d0%b5%d0%b1%d0%b8%d1%82%d0%b5%d0%bb%d1%8f-%d0%bd%d0%b0-sweet-home-3d\/\" data-type=\"page\" data-id=\"424\">\u0440\u044a\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e\u0442\u043e \u0437\u0430 \u043f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b\u044f<\/a>, \u0449\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0435 \u0441\u043b\u0435\u0434\u043d\u0438\u044f \u0440\u0435\u0437\u0443\u043b\u0442\u0430\u0442:<\/p>\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<figure class=\"wp-block-image aligncenter size-full\"><img decoding=\"async\" width=\"448\" height=\"137\" data-src=\"https:\/\/test.sweethome3d.eu\/wp-content\/uploads\/2025\/12\/pluginInAction.png\" alt=\"\" class=\"wp-image-5853 lazyload\" data-srcset=\"https:\/\/test.sweethome3d.eu\/wp-content\/uploads\/2025\/12\/pluginInAction.png 448w, https:\/\/test.sweethome3d.eu\/wp-content\/uploads\/2025\/12\/pluginInAction-300x92.png 300w, https:\/\/test.sweethome3d.eu\/wp-content\/uploads\/2025\/12\/pluginInAction-294x90.png 294w\" data-sizes=\"(max-width: 448px) 100vw, 448px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 448px; --smush-placeholder-aspect-ratio: 448\/137;\" \/><figcaption class=\"wp-element-caption\">\u0424\u0438\u0433\u0443\u0440\u0430 8. \u041f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0430 \u0432 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 <\/figcaption><\/figure>\n<\/div>\n\n<h3 class=\"wp-block-heading\">\u041e\u0442\u0441\u0442\u0440\u0430\u043d\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 \u0433\u0440\u0435\u0448\u043a\u0438 \u0432 \u043f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0430\u0442\u0430<\/h3>\n\n<p>\u0410\u043a\u043e \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u043e\u0442\u0441\u0442\u0440\u0430\u043d\u0438\u0442\u0435 \u0433\u0440\u0435\u0448\u043a\u0438 \u0432 \u043f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0430\u0442\u0430 \u0441\u0438 \u043e\u0442 Eclipse, \u0441\u044a\u0437\u0434\u0430\u0439\u0442\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0437\u0430 \u043e\u0442\u0441\u0442\u0440\u0430\u043d\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 \u0433\u0440\u0435\u0448\u043a\u0438, \u043a\u0430\u0442\u043e \u0441\u043b\u0435\u0434\u0432\u0430\u0442\u0435 \u0442\u0435\u0437\u0438 \u0441\u0442\u044a\u043f\u043a\u0438:<\/p>\n\n<ul class=\"wp-block-list pl-14\">\n<li>\u0418\u0437\u0431\u0435\u0440\u0435\u0442\u0435 <i>Run &gt; Debug Configurations&#8230;<\/i> \u043e\u0442 \u043c\u0435\u043d\u044e\u0442\u043e, \u0438\u0437\u0431\u0435\u0440\u0435\u0442\u0435 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0430 <i>Java Application<\/i> \u0432 \u0441\u043f\u0438\u0441\u044a\u043a\u0430 \u0441 \u043d\u0430\u043b\u0438\u0447\u043d\u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u043d\u0430 \n <i>Debug configurations<\/i> \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432 \u043f\u0440\u043e\u0437\u043e\u0440\u0435\u0446, \u0449\u0440\u0430\u043a\u043d\u0435\u0442\u0435 \u0432\u044a\u0440\u0445\u0443 \u0431\u0443\u0442\u043e\u043d\u0430 <i>New <\/i>\u0432 \u0433\u043e\u0440\u043d\u0438\u044f \u043b\u044f\u0432 \u044a\u0433\u044a\u043b \u0438 \u0432\u044a\u0432\u0435\u0434\u0435\u0442\u0435 \u0438\u043c\u0435 \u0437\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f\u0442\u0430.<\/li>\n\n\n\n<li>\u0429\u0440\u0430\u043a\u043d\u0435\u0442\u0435 \u0432\u044a\u0440\u0445\u0443 \u0431\u0443\u0442\u043e\u043d\u0430 <i>Search&#8230;<\/i> \u0432\u0434\u044f\u0441\u043d\u043e \u043e\u0442 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0442\u043e \u043f\u043e\u043b\u0435 <i>Main class<\/i> \u0438 \u0449\u0440\u0430\u043a\u043d\u0435\u0442\u0435 \u0434\u0432\u0443\u043a\u0440\u0430\u0442\u043d\u043e \u0432\u044a\u0440\u0445\u0443 \u043a\u043b\u0430\u0441\u0430 <i>SweetHome3DBootstrap<\/i> <br\/> \u0441\u0440\u0435\u0434 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0442\u0435 \u043a\u043b\u0430\u0441\u043e\u0432\u0435.<\/li>\n<\/ul>\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<figure class=\"wp-block-image aligncenter size-full\"><img decoding=\"async\" width=\"629\" height=\"390\" data-src=\"https:\/\/test.sweethome3d.eu\/wp-content\/uploads\/2025\/12\/debugConfiguration.png\" alt=\"\" class=\"wp-image-5854 lazyload\" data-srcset=\"https:\/\/test.sweethome3d.eu\/wp-content\/uploads\/2025\/12\/debugConfiguration.png 629w, https:\/\/test.sweethome3d.eu\/wp-content\/uploads\/2025\/12\/debugConfiguration-300x186.png 300w, https:\/\/test.sweethome3d.eu\/wp-content\/uploads\/2025\/12\/debugConfiguration-145x90.png 145w\" data-sizes=\"(max-width: 629px) 100vw, 629px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 629px; --smush-placeholder-aspect-ratio: 629\/390;\" \/><figcaption class=\"wp-element-caption\"><em>\u0424\u0438\u0433\u0443\u0440\u0430 9. \u0421\u044a\u0437\u0434\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0437\u0430 \u043e\u0442\u0441\u0442\u0440\u0430\u043d\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 \u0433\u0440\u0435\u0448\u043a\u0438 <\/em><\/figcaption><\/figure>\n<\/div>\n\n<ul class=\"wp-block-list pl-14\">\n<li>\u0429\u0440\u0430\u043a\u043d\u0435\u0442\u0435 \u0432\u044a\u0440\u0445\u0443 \u0440\u0430\u0437\u0434\u0435\u043b\u0430 <em>Classpath<\/em>, \u0438\u0437\u0431\u0435\u0440\u0435\u0442\u0435 \u043f\u043e\u0434 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0430 <em>VolumePlugin (default classpath)<\/em> \u043d\u0430 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0430 <em>User Entries<\/em> \u0432 \u0441\u043f\u0438\u0441\u044a\u043a\u0430 <em>Classpath<\/em> \u0438 \u0449\u0440\u0430\u043a\u043d\u0435\u0442\u0435 \u0432\u044a\u0440\u0445\u0443 \u0431\u0443\u0442\u043e\u043d\u0430 <em>Remove<\/em>.<\/li>\n\n\n\n<li>\u0429\u0440\u0430\u043a\u043d\u0435\u0442\u0435 \u0432\u044a\u0440\u0445\u0443 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0430<em> User Entries<\/em> \u0432 \u0441\u043f\u0438\u0441\u044a\u043a\u0430 <em>Classpath<\/em>, \u0449\u0440\u0430\u043a\u043d\u0435\u0442\u0435 \u0432\u044a\u0440\u0445\u0443 \u0431\u0443\u0442\u043e\u043d\u0430 <em>Add JARs&#8230;<\/em>, \u0438\u0437\u0431\u0435\u0440\u0435\u0442\u0435 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0430 SweetHome3D-7.5.jar \u0438 \u043f\u043e\u0442\u0432\u044a\u0440\u0434\u0435\u0442\u0435 \u0438\u0437\u0431\u043e\u0440\u0430 \u0441\u0438.<\/li>\n<\/ul>\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<figure class=\"wp-block-image aligncenter size-full\"><img decoding=\"async\" width=\"618\" height=\"482\" data-src=\"https:\/\/test.sweethome3d.eu\/wp-content\/uploads\/2025\/12\/classpathConfiguration.png\" alt=\"\" class=\"wp-image-5855 lazyload\" data-srcset=\"https:\/\/test.sweethome3d.eu\/wp-content\/uploads\/2025\/12\/classpathConfiguration.png 618w, https:\/\/test.sweethome3d.eu\/wp-content\/uploads\/2025\/12\/classpathConfiguration-300x234.png 300w, https:\/\/test.sweethome3d.eu\/wp-content\/uploads\/2025\/12\/classpathConfiguration-115x90.png 115w\" data-sizes=\"(max-width: 618px) 100vw, 618px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 618px; --smush-placeholder-aspect-ratio: 618\/482;\" \/><figcaption class=\"wp-element-caption\">\u0424\u0438\u0433\u0443\u0440\u0430 10. \u0417\u0430\u0434\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 classpath \u043d\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f\u0442\u0430 \u0437\u0430 \u043e\u0442\u0441\u0442\u0440\u0430\u043d\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 \u0433\u0440\u0435\u0448\u043a\u0438 <\/figcaption><\/figure>\n<\/div>\n\n<ul class=\"wp-block-list pl-14\">\n<li>\u0418\u0437\u0431\u0435\u0440\u0435\u0442\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u0430 <em>Source<\/em>, \u0449\u0440\u0430\u043a\u043d\u0435\u0442\u0435 \u0432\u044a\u0440\u0445\u0443 \u0431\u0443\u0442\u043e\u043d\u0430 <em>Add\u2026<\/em>, \u0449\u0440\u0430\u043a\u043d\u0435\u0442\u0435 \u0434\u0432\u0443\u043a\u0440\u0430\u0442\u043d\u043e \u0432\u044a\u0440\u0445\u0443 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0430 <em>Java Project<\/em> \u0432 \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432\u0438\u044f \u043f\u0440\u043e\u0437\u043e\u0440\u0435\u0446 <em>Add Source<\/em>, \u0438\u0437\u0431\u0435\u0440\u0435\u0442\u0435 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0430 <em>VolumePlugin<\/em> \u0432 \u0438\u0437\u0441\u043a\u0430\u0447\u0430\u0449\u0438\u044f \u043f\u0440\u043e\u0437\u043e\u0440\u0435\u0446 <em>Project Selection<\/em> \u0438 \u043f\u043e\u0442\u0432\u044a\u0440\u0434\u0435\u0442\u0435 \u0438\u0437\u0431\u043e\u0440\u0430 \u0441\u0438.<\/li>\n<\/ul>\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<figure class=\"wp-block-image aligncenter size-full\"><img decoding=\"async\" width=\"773\" height=\"549\" data-src=\"https:\/\/test.sweethome3d.eu\/wp-content\/uploads\/2025\/12\/sourcepathConfiguration.png\" alt=\"\" class=\"wp-image-5856 lazyload\" data-srcset=\"https:\/\/test.sweethome3d.eu\/wp-content\/uploads\/2025\/12\/sourcepathConfiguration.png 773w, https:\/\/test.sweethome3d.eu\/wp-content\/uploads\/2025\/12\/sourcepathConfiguration-300x213.png 300w, https:\/\/test.sweethome3d.eu\/wp-content\/uploads\/2025\/12\/sourcepathConfiguration-127x90.png 127w, https:\/\/test.sweethome3d.eu\/wp-content\/uploads\/2025\/12\/sourcepathConfiguration-768x545.png 768w\" data-sizes=\"(max-width: 773px) 100vw, 773px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 773px; --smush-placeholder-aspect-ratio: 773\/549;\" \/><figcaption class=\"wp-element-caption\"><em><em><em>\u0424\u0438\u0433\u0443\u0440\u0430 11. \u0417\u0430\u0434\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 \u043f\u044a\u0442\u044f \u043d\u0430 \u0438\u0437\u0442\u043e\u0447\u043d\u0438\u043a\u0430 \u043d\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f\u0442\u0430 \u0437\u0430 \u043e\u0442\u0441\u0442\u0440\u0430\u043d\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 \u0433\u0440\u0435\u0448\u043a\u0438 <\/em><\/em><\/em><\/figcaption><\/figure>\n<\/div>\n\n<ul class=\"wp-block-list pl-14\">\n<li>\u041d\u0430\u043a\u0440\u0430\u044f \u0449\u0440\u0430\u043a\u043d\u0435\u0442\u0435 \u0432\u044a\u0440\u0445\u0443 \u0431\u0443\u0442\u043e\u043d\u0430 <i>Debug<\/i>, \u0437\u0430 \u0434\u0430 \u0441\u0442\u0430\u0440\u0442\u0438\u0440\u0430\u0442\u0435 Sweet Home 3D \u0432 \u0440\u0435\u0436\u0438\u043c \u043d\u0430 \u043e\u0442\u0441\u0442\u0440\u0430\u043d\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 \u0433\u0440\u0435\u0448\u043a\u0438. \u0421\u043b\u0435\u0434 \u043a\u0430\u0442\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u0430\u0442\u0430 \u0440\u0430\u0431\u043e\u0442\u0438, \u043e\u0442\u0432\u043e\u0440\u0435\u0442\u0435 \u0444\u0430\u0439\u043b\u0430 <tt>VolumePlugin.java<\/tt>, \n \u0437\u0430\u0434\u0430\u0439\u0442\u0435 \u0442\u043e\u0447\u043a\u0430 \u043d\u0430 \u043f\u0440\u0435\u043a\u044a\u0441\u0432\u0430\u043d\u0435 \u0432 \u043c\u0435\u0442\u043e\u0434\u0430 <i>execute<\/i> \u0438 \u0438\u0437\u0431\u0435\u0440\u0435\u0442\u0435 <i>Tools &gt; Compute volume<\/i> \u043e\u0442 \u043c\u0435\u043d\u044e\u0442\u043e \u043d\u0430 Sweet Home 3D. Eclipse \u0449\u0435 \u0441\u043f\u0440\u0435 \u043d\u0430 \u0438\u0437\u0431\u0440\u0430\u043d\u0430\u0442\u0430\n \u0442\u043e\u0447\u043a\u0430 \u043d\u0430 \u043f\u0440\u0435\u043a\u044a\u0441\u0432\u0430\u043d\u0435, \u0437\u0430 \u0434\u0430 \u0432\u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u0438 \u0434\u0430 \u0438\u0437\u043f\u044a\u043b\u043d\u0438\u0442\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u0430\u0442\u0430 \u0441\u0442\u044a\u043f\u043a\u0430 \u043f\u043e \u0441\u0442\u044a\u043f\u043a\u0430 \u0438 \u0434\u0430 \u0438\u043d\u0441\u043f\u0435\u043a\u0442\u0438\u0440\u0430\u0442\u0435 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442\u0442\u0430 \u043d\u0430 \u043f\u0440\u043e\u043c\u0435\u043d\u043b\u0438\u0432\u0438\u0442\u0435.  <\/li>\n<\/ul>\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<figure class=\"wp-block-image aligncenter size-full\"><img decoding=\"async\" width=\"601\" height=\"398\" data-src=\"https:\/\/test.sweethome3d.eu\/wp-content\/uploads\/2025\/12\/eclipseDebug.png\" alt=\"\" class=\"wp-image-5857 lazyload\" data-srcset=\"https:\/\/test.sweethome3d.eu\/wp-content\/uploads\/2025\/12\/eclipseDebug.png 601w, https:\/\/test.sweethome3d.eu\/wp-content\/uploads\/2025\/12\/eclipseDebug-300x199.png 300w, https:\/\/test.sweethome3d.eu\/wp-content\/uploads\/2025\/12\/eclipseDebug-136x90.png 136w\" data-sizes=\"(max-width: 601px) 100vw, 601px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 601px; --smush-placeholder-aspect-ratio: 601\/398;\" \/><figcaption class=\"wp-element-caption\">\u0424\u0438\u0433\u0443\u0440\u0430 12. Eclipse debug perspective <\/figcaption><\/figure>\n<\/div>\n\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-64989fb1 wp-block-group-is-layout-flex\">\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" data-src=\"https:\/\/test.sweethome3d.eu\/wp-content\/uploads\/2025\/09\/warning-1.gif\" alt=\"\" class=\"wp-image-4679 lazyload\" style=\"--smush-placeholder-width: 21px; --smush-placeholder-aspect-ratio: 21\/21;width:21px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" \/><\/figure>\n\n\n\n<p>\u0412\u0441\u0435\u043a\u0438 \u043f\u044a\u0442, \u043a\u043e\u0433\u0430\u0442\u043e \u043f\u0440\u043e\u043c\u0435\u043d\u044f\u0442\u0435 \u0438\u0437\u0445\u043e\u0434\u043d\u0438\u044f \u043a\u043e\u0434 \u043d\u0430 \u0432\u0430\u0448\u0430\u0442\u0430 \u043f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0430, \u043d\u0435 \u0437\u0430\u0431\u0440\u0430\u0432\u044f\u0439\u0442\u0435 \u0434\u0430 <a href=\"#creatingPluginJAR\">\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0430\u0442\u0435 JAR \u043d\u0430 \u043f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0430\u0442\u0430<\/a>, \u043f\u0440\u0435\u0434\u0438 \u0434\u0430 \u0441\u0442\u0430\u0440\u0442\u0438\u0440\u0430\u0442\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f\u0442\u0430 \u0437\u0430 \u043e\u0442\u0441\u0442\u0440\u0430\u043d\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 \u0433\u0440\u0435\u0448\u043a\u0438, \u043a\u043e\u044f\u0442\u043e \u0441\u0442\u0435 \u0441\u044a\u0437\u0434\u0430\u043b\u0438. \u0417\u0430 \u0434\u0430 \u0443\u0441\u043a\u043e\u0440\u0438\u0442\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0430 \u043d\u0430 \u0435\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 JAR \u0432 eclipse, \u043e\u0442\u0438\u0434\u0435\u0442\u0435 \u043d\u0430 \u0432\u0442\u043e\u0440\u0430\u0442\u0430 \u0441\u0442\u044a\u043f\u043a\u0430 \u043e\u0442 \u0441\u044a\u0432\u0435\u0442\u043d\u0438\u043a\u0430 \u0437\u0430 \u0435\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 JAR \u0438 \u0438\u0437\u0431\u0435\u0440\u0435\u0442\u0435 \u043e\u043f\u0446\u0438\u044f\u0442\u0430 <em>Save the description of this JAR in the workspace<\/em>. \u0422\u043e\u0432\u0430 \u0449\u0435 \u0434\u043e\u0431\u0430\u0432\u0438 \u043d\u043e\u0432 \u0435\u043b\u0435\u043c\u0435\u043d\u0442 \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0441 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0435\u043d \u0435\u043b\u0435\u043c\u0435\u043d\u0442 \u043e\u0442 \u043c\u0435\u043d\u044e\u0442\u043e <em>Create JAR<\/em>.  <\/p>\n<\/div>\n\n<h3 class=\"wp-block-heading\" id=\"deployingPlugin\">\u0420\u0430\u0437\u0433\u0440\u044a\u0449\u0430\u043d\u0435 \u043d\u0430 \u043f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0430\u0442\u0430<\/h3>\n\n<p>\u0421\u043b\u0435\u0434 \u043a\u0430\u0442\u043e \u0435 \u0433\u043e\u0442\u043e\u0432\u0430, \u0432\u0430\u0448\u0430\u0442\u0430 \u043f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0430 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0431\u044a\u0434\u0435 \u0440\u0430\u0437\u0433\u044a\u0440\u043d\u0430\u0442\u0430 \u043d\u0430 \u043a\u043e\u043c\u043f\u044e\u0442\u044a\u0440\u0430 \u043d\u0430 \u0434\u0440\u0443\u0433\u0438 \u043f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b\u0438 \u043d\u0430 Sweet Home 3D, \u043a\u0430\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u044f \u043a\u043e\u043f\u0438\u0440\u0430\u0442\u0435 \u0432 \u0442\u044f\u0445\u043d\u0430\u0442\u0430 <a href=\"#creatingPluginJAR\">\u043f\u0430\u043f\u043a\u0430 \u0437\u0430 \u043f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0438<\/a>. \u041e\u0442 \u0432\u0435\u0440\u0441\u0438\u044f 1.6 \u0444\u0430\u0439\u043b \u043d\u0430 \u043f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0430 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0431\u044a\u0434\u0435 \u0438\u043d\u0441\u0442\u0430\u043b\u0438\u0440\u0430\u043d \u0438 \u0432 \u043f\u0430\u043f\u043a\u0430\u0442\u0430 \u0441 \u043f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0438 \u043d\u0430 Sweet Home 3D, \u043a\u0430\u0442\u043e \u0449\u0440\u0430\u043a\u043d\u0435\u0442\u0435 \u0434\u0432\u0443\u043a\u0440\u0430\u0442\u043d\u043e \u0432\u044a\u0440\u0445\u0443 \u043d\u0435\u0433\u043e, \u0430\u043a\u043e \u0440\u0430\u0437\u0448\u0438\u0440\u0435\u043d\u0438\u0435\u0442\u043e \u043c\u0443 \u0435 SH3P (\u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0440\u043e\u043c\u0435\u043d\u0435\u0442\u0435 \u0440\u0430\u0437\u0448\u0438\u0440\u0435\u043d\u0438\u0435\u0442\u043e \u043d\u0430 \u0444\u0430\u0439\u043b\u0430 \u043e\u0442 .zip \u043d\u0430 .sh3p). \u0410\u043a\u043e \u0449\u0440\u0430\u043a\u0432\u0430\u043d\u0435\u0442\u043e \u0434\u0432\u0443\u043a\u0440\u0430\u0442\u043d\u043e \u0432\u044a\u0440\u0445\u0443 \u0444\u0430\u0439\u043b .sh3p \u043d\u0435 \u0441\u0442\u0430\u0440\u0442\u0438\u0440\u0430 Sweet Home 3D (\u043d\u0430\u0439-\u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e \u043f\u043e\u0434 Linux), \u043c\u043e\u0436\u0435\u0442\u0435 \u0441\u044a\u0449\u043e \u0434\u0430 \u0438\u043d\u0441\u0442\u0430\u043b\u0438\u0440\u0430\u0442\u0435 \u043f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0430 \u0441\u044a\u0441 \u0441\u043b\u0435\u0434\u043d\u0430\u0442\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0432 \u043f\u0440\u043e\u0437\u043e\u0440\u0435\u0446 \u043d\u0430 <em>Terminal<\/em> (\u043a\u044a\u0434\u0435\u0442\u043e <code>SweetHome3D<\/code> \u0435 \u0438\u043c\u0435\u0442\u043e \u043d\u0430 \u0438\u0437\u043f\u044a\u043b\u043d\u0438\u043c\u0438\u044f \u0444\u0430\u0439\u043b, \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u0435\u043d \u0441 \u0438\u043d\u0441\u0442\u0430\u043b\u0430\u0442\u043e\u0440\u0438\u0442\u0435 \u043d\u0430 Sweet Home 3D):<\/p>\n\n<pre class=\"wp-block-preformatted\"><em>\/\u043f\u044a\u0442\/\u0434\u043e\/<\/em>SweetHome3D <em>\/\u043f\u044a\u0442\/\u0434\u043e\/<\/em>plugin.sh3p<\/pre>\n\n<p>\u0417\u0430 \u0434\u0430 \u0441\u043f\u0440\u0435\u0442\u0435 \u0434\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442\u0435 \u043f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0430, \u043f\u0440\u0435\u043c\u0430\u0445\u043d\u0435\u0442\u0435 \u043d\u0435\u0439\u043d\u0438\u044f \u0444\u0430\u0439\u043b \u043e\u0442 \u043f\u0430\u043f\u043a\u0430\u0442\u0430 \u0441 \u043f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0438 \u0438 \u0440\u0435\u0441\u0442\u0430\u0440\u0442\u0438\u0440\u0430\u0439\u0442\u0435 Sweet Home 3D.<\/p>\n\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-64989fb1 wp-block-group-is-layout-flex\">\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" data-src=\"https:\/\/test.sweethome3d.eu\/wp-content\/uploads\/2025\/09\/warning-1.gif\" alt=\"\" class=\"wp-image-4679 lazyload\" style=\"--smush-placeholder-width: 21px; --smush-placeholder-aspect-ratio: 21\/21;width:21px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" \/><\/figure>\n\n\n\n<p>\u0410\u043a\u043e \u0438\u0441\u043a\u0430\u0442\u0435 \u0432\u0430\u0448\u0430\u0442\u0430 \u043f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0430 \u0434\u0430 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0440\u0430\u0431\u043e\u0442\u0438 \u0441 \u0432\u0441\u0438\u0447\u043a\u0438 <a href=\"https:\/\/test.sweethome3d.eu\/bg\/%d1%81%d0%b2%d0%b0%d0%bb%d1%8f%d0%bd%d0%b5\/\">\u0438\u043d\u0441\u0442\u0430\u043b\u0430\u0442\u043e\u0440\u0438 \u043d\u0430 Sweet Home 3D<\/a>, \u043d\u0430\u043b\u0438\u0447\u043d\u0438 \u043d\u0430 \u0442\u043e\u0437\u0438 \u0443\u0435\u0431\u0441\u0430\u0439\u0442, \u0432\u043d\u0438\u043c\u0430\u0432\u0430\u0439\u0442\u0435 \u0434\u0430 \u044f \u043f\u043e\u0434\u0434\u044a\u0440\u0436\u0430\u0442\u0435 \u0441\u044a\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u0430 \u0441 Java 5, \u043a\u0430\u0442\u043e \u0438\u0437\u0431\u0435\u0440\u0435\u0442\u0435 <code>1.5<\/code> \u0432 \u043f\u043e\u043b\u0435\u0442\u043e <em>Compiler compliance level<\/em>, \u043d\u0430\u043b\u0438\u0447\u043d\u043e \u0432 \u0441\u0435\u043a\u0446\u0438\u044f\u0442\u0430 <em>Java Compiler<\/em> \u043d\u0430 \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432\u0438\u044f \u043f\u0440\u043e\u0437\u043e\u0440\u0435\u0446, \u043f\u043e\u043a\u0430\u0437\u0430\u043d \u043e\u0442 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u043e\u0442 \u043c\u0435\u043d\u044e\u0442\u043e <em>Project &gt; Properties<\/em> \u043d\u0430 Eclipse.<br\/>\u0410\u043a\u043e \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442\u0435 \u0432\u0435\u0440\u0441\u0438\u044f \u043d\u0430 Java \u043a\u043e\u043c\u043f\u0438\u043b\u0430\u0442\u043e\u0440, \u043a\u044a\u0434\u0435\u0442\u043e \u0441\u044a\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0442\u0430 \u0441 Java 1.5 \u0432\u0435\u0447\u0435 \u043d\u0435 \u0435 \u043d\u0430\u043b\u0438\u0447\u043d\u0430, \u043e\u043f\u0438\u0442\u0430\u0439\u0442\u0435 \u0441\u0435 \u0434\u0430 \u0441\u0435 \u043d\u0430\u0441\u043e\u0447\u0438\u0442\u0435 \u043f\u043e\u043d\u0435 \u043a\u044a\u043c Java 1.8, \u043a\u043e\u044f\u0442\u043e \u0432\u0441\u0435 \u043e\u0449\u0435 \u0441\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0442\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 \u043d\u0430 Sweet Home 3D \u0438 \u0437\u0430\u0434\u0430\u0439\u0442\u0435 <code>javaMinimumVersion<\/code> \u0432 <code>ApplicationPlugin.properties<\/code> \u0444\u0430\u0439\u043b\u0430 \u043d\u0430 \u0432\u0430\u0448\u0430\u0442\u0430 \u043f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0430 \u0441\u044a\u043e\u0442\u0432\u0435\u0442\u043d\u043e.<\/p>\n<\/div>\n\n<h2 class=\"wp-block-heading\" id=\"goingFurther\">\u041f\u0440\u043e\u0434\u044a\u043b\u0436\u0430\u0432\u0430\u043d\u0435 \u043d\u0430\u043f\u0440\u0435\u0434<\/h2>\n\n<p>\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u0438\u0440\u0430\u043d\u0435\u0442\u043e \u043d\u0430 \u043f\u044a\u0440\u0432\u0430\u0442\u0430 \u043f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0430 \u0432\u0438 \u043f\u043e\u043a\u0430\u0437\u0430 \u0433\u043e\u043b\u044f\u043c\u0430\u0442\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u0430. \u0415\u0442\u043e \u043c\u0430\u043b\u043a\u043e \u0434\u043e\u043f\u044a\u043b\u043d\u0438\u0442\u0435\u043b\u043d\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f, \u043a\u043e\u044f\u0442\u043e \u0449\u0435 \u0432\u0438 \u043f\u043e\u043c\u043e\u0433\u043d\u0435 \u0434\u0430 \u043f\u0440\u043e\u0434\u044a\u043b\u0436\u0438\u0442\u0435 \u043d\u0430\u043f\u0440\u0435\u0434. <\/p>\n\n<h3 class=\"wp-block-heading\">Sweet Home 3D API &#8211; Javadoc<\/h3>\n\n<p>\u041d\u0430\u0439-\u043f\u043e\u043b\u0435\u0437\u043d\u0430\u0442\u0430 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u0437\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0432\u0430\u043d\u0435 \u043d\u0430 \u043d\u043e\u0432 \u043f\u043b\u044a\u0433\u0438\u043d \u0435 <a href=\"\/javadoc\/index.html\">Sweet Home 3D API<\/a> (Application Programming Interface), \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0430\u043d \u0441 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 javadoc.<br\/>\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0439\u0442\u0435 \u0441\u0430\u043c\u043e \u043a\u043b\u0430\u0441\u043e\u0432\u0435\u0442\u0435 \u043d\u0430 \u043f\u0430\u043a\u0435\u0442\u0438\u0442\u0435 <a href=\"\/javadoc\/com\/eteks\/sweethome3d\/plugin\/package-summary.html\">com.eteks.sweethome3d.plugin<\/a>, <a href=\"\/javadoc\/com\/eteks\/sweethome3d\/model\/package-summary.html\">com.eteks.sweethome3d.model<\/a>, <a href=\"\/javadoc\/com\/eteks\/sweethome3d\/tools\/package-summary.html\">com.eteks.sweethome3d.tools<\/a> \u0438 <a href=\"\/javadoc\/com\/eteks\/sweethome3d\/viewcontroller\/package-summary.html\">com.eteks.sweethome3d.viewcontroller<\/a> \u0432\u044a\u0432 \u0432\u0430\u0448\u0438\u044f \u043f\u043b\u044a\u0433\u0438\u043d, \u0430\u043a\u043e \u0438\u0441\u043a\u0430\u0442\u0435 \u0442\u043e\u0439 \u0434\u0430 \u0431\u044a\u0434\u0435 \u0441\u044a\u0432\u043c\u0435\u0441\u0442\u0438\u043c \u0441 \u0431\u044a\u0434\u0435\u0449\u0438 \u0432\u0435\u0440\u0441\u0438\u0438 \u043d\u0430 Sweet Home 3D. \u0422\u043e\u0432\u0430 \u0449\u0435 \u0431\u044a\u0434\u0435 \u043d\u0430\u043f\u044a\u043b\u043d\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u044a\u0447\u043d\u043e, \u0437\u0430 \u0434\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u0438\u0440\u0430\u0442\u0435 \u0432\u0441\u0435\u043a\u0438 \u043f\u043b\u044a\u0433\u0438\u043d, \u043a\u043e\u0439\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0438 \u0441 \u0434\u0430\u043d\u043d\u0438\u0442\u0435 \u0437\u0430 \u0434\u043e\u043c\u0430, \u043d\u0430\u043b\u0438\u0447\u043d\u0438 \u0432 Sweet Home 3D.<br\/>\u041f\u0430\u043a\u0435\u0442\u0438\u0442\u0435, \u0441\u044a\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0430\u0449\u0438 \u043d\u0430 \u0434\u0440\u0443\u0433\u0438\u0442\u0435 \u0441\u043b\u043e\u0435\u0432\u0435 \u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u0430\u0442\u0430, \u0441\u0430 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438 \u0432 Javadoc \u0441\u0430\u043c\u043e \u0437\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u0438 \u0446\u0435\u043b\u0438. \u041d\u0435 \u0440\u0430\u0437\u0447\u0438\u0442\u0430\u0439\u0442\u0435 \u043d\u0430 \u0442\u0435\u0445\u043d\u0438\u044f API, \u0442\u044a\u0439 \u043a\u0430\u0442\u043e \u0442\u043e\u0439 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u0435 \u043f\u0440\u043e\u043c\u0435\u043d\u0438 \u0432 \u0431\u044a\u0434\u0435\u0449\u0435 \u0431\u0435\u0437 \u0433\u0430\u0440\u0430\u043d\u0446\u0438\u044f \u0437\u0430 \u0441\u044a\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442 (\u0442\u0430\u043a\u0430 \u0438\u043b\u0438 \u0438\u043d\u0430\u0447\u0435 \u043d\u044f\u043c\u0430 \u0434\u0430 \u0432\u0438\u0434\u0438\u0442\u0435 \u043f\u0440\u0435\u043f\u0440\u0430\u0442\u043a\u0430 \u043a\u044a\u043c \u043a\u043b\u0430\u0441 \u043e\u0442 \u043f\u0430\u043a\u0435\u0442\u0438\u0442\u0435 <a href=\"\/javadoc\/com\/eteks\/sweethome3d\/swing\/package-summary.html\">com.eteks.sweethome3d.swing<\/a>, <a href=\"\/javadoc\/com\/eteks\/sweethome3d\/j3d\/package-summary.html\">com.eteks.sweethome3d.j3d<\/a>, <a href=\"\/javadoc\/com\/eteks\/sweethome3d\/io\/package-summary.html\">com.eteks.sweethome3d.io<\/a> \u0438\u043b\u0438 <a href=\"\/javadoc\/com\/eteks\/sweethome3d\/package-summary.html\">com.eteks.sweethome3d<\/a> \u0432 \u0433\u043e\u0440\u0435\u0441\u043f\u043e\u043c\u0435\u043d\u0430\u0442\u0438\u0442\u0435 \u043f\u0430\u043a\u0435\u0442\u0438).  <\/p>\n\n<h3 class=\"wp-block-heading\">\u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u043d\u0430 \u043a\u043b\u0430\u0441\u043e\u0432\u0435\u0442\u0435 \u043d\u0430 \u043c\u043e\u0434\u0435\u043b\u0430<\/h3>\n\n<p>Sweet Home 3D \u0435 \u0431\u0430\u0437\u0438\u0440\u0430\u043d \u043d\u0430 MVC (Model View Controller) \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430, \u0442\u0430\u043a\u0430 \u0447\u0435 \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043d\u0435\u0442\u043e \u043d\u0430 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044f\u0442\u0430 \u043d\u0430 \u043d\u0435\u0433\u043e\u0432\u0438\u044f \u0441\u043b\u043e\u0439 Model \u0435 \u043e\u0442 \u0441\u044a\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435. \u0424\u0438\u0433\u0443\u0440\u0430 13 (\u0434\u043e\u0441\u0442\u044a\u043f\u043d\u0430 \u0441\u044a\u0449\u043e \u0438 \u0432 <a href=\"https:\/\/test.sweethome3d.eu\/wp-content\/uploads\/2025\/12\/modelClassesDiagram.png\">PDF \u0444\u043e\u0440\u043c\u0430\u0442<\/a>) \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u044f \u043f\u043e\u0447\u0442\u0438 \u0432\u0441\u0438\u0447\u043a\u0438 \u043a\u043b\u0430\u0441\u043e\u0432\u0435 \u0438 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0438, \u043d\u0430\u043b\u0438\u0447\u043d\u0438 \u0432\u044a\u0432 \u0432\u0435\u0440\u0441\u0438\u044f 1.5 \u043d\u0430 \u043f\u0430\u043a\u0435\u0442\u0430 <a href=\"\/javadoc\/com\/eteks\/sweethome3d\/model\/package-summary.html\">com.eteks.sweethome3d.model<\/a>, \u043a\u043e\u0439\u0442\u043e \u0441\u044a\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0430 \u043d\u0430 \u0442\u043e\u0437\u0438 \u0441\u043b\u043e\u0439 Model. <\/p>\n\n<p>[uml_diagram slug=&#8220;model-classes-diagram&#8220; map_name=&#8220;model-classes-diagram&#8220; caption=&#8220;Figure 13. UML diagram of com.eteks.sweethome3d.model package&#8220; caption_small=&#8220;(click on a class to view its javadoc)&#8220;]<\/p>\n\n<p>\u0426\u0435\u043d\u0442\u0440\u0430\u043b\u043d\u0438\u044f\u0442 \u043a\u043b\u0430\u0441 \u0432 \u0441\u043b\u043e\u044f Model \u0435 \u043a\u043b\u0430\u0441\u044a\u0442 <a href=\"\/javadoc\/com\/eteks\/sweethome3d\/model\/HomeApplication.html\">HomeApplication<\/a> (10), \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0442\u043d\u0438\u044f\u0442 \u0441\u0443\u043f\u0435\u0440 \u043a\u043b\u0430\u0441 \u043d\u0430 \u0433\u043b\u0430\u0432\u043d\u0438\u044f \u043a\u043b\u0430\u0441 \u043d\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u0442\u043e <a href=\"\/javadoc\/com\/eteks\/sweethome3d\/SweetHome3D.html\">SweetHome3D<\/a>. \u0415\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u044a\u0442 \u043d\u0430 \u0442\u043e\u0437\u0438 \u043a\u043b\u0430\u0441 \u0434\u0430\u0432\u0430 \u0434\u043e\u0441\u0442\u044a\u043f \u0434\u043e \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0430\u043d\u0438\u0442\u0435 \u0432 \u043c\u043e\u043c\u0435\u043d\u0442\u0430 <a href=\"\/javadoc\/com\/eteks\/sweethome3d\/model\/Home.html\">Home<\/a> \u0438\u043d\u0441\u0442\u0430\u043d\u0446\u0438\u0438 (7) \u0438 \u0434\u043e \u043e\u0431\u0435\u043a\u0442\u0430 <a href=\"\/javadoc\/com\/eteks\/sweethome3d\/model\/UserPreferences.html\">UserPreferences<\/a> (11), \u043a\u043e\u0439\u0442\u043e \u0441\u044a\u0445\u0440\u0430\u043d\u044f\u0432\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0430\u0442\u0430 <a href=\"\/javadoc\/com\/eteks\/sweethome3d\/model\/LengthUnit.html\">\u0435\u0434\u0438\u043d\u0438\u0446\u0430 \u0437\u0430 \u0434\u044a\u043b\u0436\u0438\u043d\u0430<\/a> (12), <a href=\"\/javadoc\/com\/eteks\/sweethome3d\/model\/FurnitureCatalog.html\">\u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430 \u0441 \u043c\u0435\u0431\u0435\u043b\u0438<\/a> (14) \u0438 <a href=\"\/javadoc\/com\/eteks\/sweethome3d\/model\/TexturesCatalog.html\">\u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430 \u0441 \u0442\u0435\u043a\u0441\u0442\u0443\u0440\u0438<\/a> (15), \u043e\u0442 \u043a\u043e\u0438\u0442\u043e \u043f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b\u044f\u0442 \u0438\u0437\u0431\u0438\u0440\u0430 <a href=\"\/javadoc\/com\/eteks\/sweethome3d\/model\/CatalogPieceOfFurniture.html\">\u043c\u0435\u0431\u0435\u043b\u0438<\/a> (17) \u0438 <a href=\"\/javadoc\/com\/eteks\/sweethome3d\/model\/CatalogTexture.html\">\u0442\u0435\u043a\u0441\u0442\u0443\u0440\u0438<\/a> (18).<br\/>\u0415\u0434\u0438\u043d <a href=\"\/javadoc\/com\/eteks\/sweethome3d\/model\/Home.html\">Home<\/a> \u0438\u043d\u0441\u0442\u0430\u043d\u0446\u0438\u044f (7) \u0441\u044a\u0445\u0440\u0430\u043d\u044f\u0432\u0430 \u0432\u0441\u0438\u0447\u043a\u0438 \u043e\u0431\u0435\u043a\u0442\u0438, \u043a\u043e\u0438\u0442\u043e \u043f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b\u044f\u0442 \u0435 \u0441\u044a\u0437\u0434\u0430\u043b \u0432 \u043f\u043b\u0430\u043d\u0430 \u043d\u0430 \u0434\u043e\u043c\u0430: <\/p>\n\n<ul class=\"wp-block-list pl-14\">\n<li>\u0441\u043f\u0438\u0441\u044a\u043a\u044a\u0442 \u0441 \u043e\u0431\u0435\u043a\u0442\u0438 <a href=\"\/javadoc\/com\/eteks\/sweethome3d\/model\/HomePieceOfFurniture.html\">HomePieceOfFurniture<\/a> (13), \u043a\u043e\u0438\u0442\u043e \u0438\u043c\u043f\u043b\u0435\u043c\u0435\u043d\u0442\u0438\u0440\u0430\u0442 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 <a href=\"\/javadoc\/com\/eteks\/sweethome3d\/model\/PieceOfFurniture.html\">PieceOfFurniture<\/a> (16),<\/li>\n\n\n\n<li>\u043a\u043e\u043b\u0435\u043a\u0446\u0438\u044f\u0442\u0430 \u043e\u0442 \u043e\u0431\u0435\u043a\u0442\u0438 <a href=\"\/javadoc\/com\/eteks\/sweethome3d\/model\/Wall.html\">Wall<\/a> (9),<\/li>\n\n\n\n<li>\u0441\u043f\u0438\u0441\u044a\u043a\u044a\u0442 \u0441 \u043e\u0431\u0435\u043a\u0442\u0438 <a href=\"\/javadoc\/com\/eteks\/sweethome3d\/model\/Wall.html\">Room<\/a> (5),<\/li>\n\n\n\n<li>\u043a\u043e\u043b\u0435\u043a\u0446\u0438\u044f\u0442\u0430 \u043e\u0442 \u043e\u0431\u0435\u043a\u0442\u0438 <a href=\"\/javadoc\/com\/eteks\/sweethome3d\/model\/DimensionLine.html\">DimensionLine<\/a> (2),<\/li>\n\n\n\n<li>\u043a\u043e\u043b\u0435\u043a\u0446\u0438\u044f\u0442\u0430 \u043e\u0442 \u043e\u0431\u0435\u043a\u0442\u0438 <a href=\"\/javadoc\/com\/eteks\/sweethome3d\/model\/Label.html\">Label<\/a> (3).<\/li>\n<\/ul>\n\n<p>\u0422\u0435\u0437\u0438 \u043e\u0431\u0435\u043a\u0442\u0438 \u0438\u043c\u043f\u043b\u0435\u043c\u0435\u043d\u0442\u0438\u0440\u0430\u0442 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 <a href=\"\/javadoc\/com\/eteks\/sweethome3d\/model\/Selectable.html\">Selectable<\/a> (1), \u043a\u0430\u043a\u0442\u043e \u0438 \u043e\u0431\u0435\u043a\u0442\u0430 <a href=\"\/javadoc\/com\/eteks\/sweethome3d\/model\/ObserverCamera.html\">ObserverCamera<\/a> (4), \u043a\u043e\u0439\u0442\u043e \u0441\u044a\u0445\u0440\u0430\u043d\u044f\u0432\u0430 \u043c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u0442\u043e \u043d\u0430 \u043a\u0430\u043c\u0435\u0440\u0430\u0442\u0430 \u0432 \u0440\u0435\u0436\u0438\u043c <em>\u0412\u0438\u0440\u0442\u0443\u0430\u043b\u0435\u043d \u043f\u043e\u0441\u0435\u0442\u0438\u0442\u0435\u043b<\/em>. \u0426\u044f\u043b\u0430\u0442\u0430 \u0432\u044a\u043d\u0448\u043d\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f, \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0432\u0430\u043d\u0430 \u043e\u0442 \u043e\u0431\u0435\u043a\u0442\u0438\u0442\u0435 Model, \u043a\u0430\u0442\u043e \u0438\u043a\u043e\u043d\u0430\u0442\u0430 \u0438 3D \u043c\u043e\u0434\u0435\u043b\u0430 \u043d\u0430 <a href=\"\/javadoc\/com\/eteks\/sweethome3d\/model\/PieceOfFurniture.html\">\u043c\u0435\u0431\u0435\u043b<\/a> (16) \u0438\u043b\u0438 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435\u0442\u043e \u043d\u0430 <a href=\"\/javadoc\/com\/eteks\/sweethome3d\/model\/TextureImage.html\">\u0442\u0435\u043a\u0441\u0442\u0443\u0440\u0430<\/a> (20), \u0435 \u0434\u043e\u0441\u0442\u044a\u043f\u043d\u0430 \u0447\u0440\u0435\u0437 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 <a href=\"\/javadoc\/com\/eteks\/sweethome3d\/model\/Content.html\">Content<\/a> (19), \u0438\u043c\u043f\u043b\u0435\u043c\u0435\u043d\u0442\u0438\u0440\u0430\u043d \u043e\u0442 \u043a\u043b\u0430\u0441\u0430 <a href=\"\/javadoc\/com\/eteks\/sweethome3d\/tools\/URLContent.html\">URLContent<\/a> \u0438 \u0434\u0440\u0443\u0433\u0438 \u043a\u043b\u0430\u0441\u043e\u0432\u0435 \u043d\u0430 \u043f\u0430\u043a\u0435\u0442\u0430 <a href=\"\/javadoc\/com\/eteks\/sweethome3d\/tools\/package-summary.html\">com.eteks.sweethome3d.tools<\/a>. <\/p>\n\n<p>\u0422\u0430\u0437\u0438 UML \u0434\u0438\u0430\u0433\u0440\u0430\u043c\u0430 \u0431\u0438 \u0442\u0440\u044f\u0431\u0432\u0430\u043b\u043e \u0434\u0430 \u0432\u0438 \u043f\u043e\u043c\u043e\u0433\u043d\u0435 \u0434\u0430 \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u0442\u0435 \u043a\u043e\u0438 \u043a\u043b\u0430\u0441\u043e\u0432\u0435 \u0441\u0430 \u043d\u0430\u043b\u0438\u0447\u043d\u0438 \u0432 \u043c\u043e\u0434\u0435\u043b\u0430 \u043d\u0430 Sweet Home 3D \u0438 \u043a\u0430\u043a \u043c\u043e\u0436\u0435\u0442\u0435 \u0434\u0430 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0435 \u0434\u043e\u0441\u0442\u044a\u043f \u0434\u043e \u0442\u044f\u0445, \u043d\u043e \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e \u0449\u0435 \u0437\u0430\u0431\u0435\u043b\u0435\u0436\u0438\u0442\u0435, \u0447\u0435 \u0432 \u043d\u0435\u044f \u043d\u0435 \u0441\u0430 \u043f\u043e\u0441\u043e\u0447\u0435\u043d\u0438 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u0438 \u0438 \u043c\u0443\u0442\u0430\u0442\u043e\u0440\u0438 (\u0438\u043b\u0438 \u0441\u0435\u0442\u0435\u0440\u0438, \u0430\u043a\u043e \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0438\u0442\u0430\u0442\u0435). \u0422\u043e\u0432\u0430 \u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e\u0440\u0430\u0434\u0438 \u043b\u0438\u043f\u0441\u0430 \u043d\u0430 \u043c\u044f\u0441\u0442\u043e, \u043d\u043e \u043c\u043e\u0436\u0435\u0442\u0435 \u0434\u0430 \u0433\u0438 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442\u0435 \u0431\u0435\u0437 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0432 \u043a\u043b\u0430\u0441 \u043d\u0430 \u043f\u043b\u044a\u0433\u0438\u043d. \u0421\u044a\u0449\u043e \u0442\u0430\u043a\u0430, \u043e\u0431\u044a\u0440\u043d\u0435\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0435 \u0432\u0441\u044f\u043a\u0430 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u043d\u0430 \u0441\u044a\u0449\u0435\u0441\u0442\u0432\u0443\u0432\u0430\u0449 \u043e\u0431\u0435\u043a\u0442 \u043e\u0442 \u043c\u043e\u0434\u0435\u043b\u0430 \u0449\u0435 \u0431\u044a\u0434\u0435 \u0443\u0432\u0435\u0434\u043e\u043c\u0435\u043d\u0430 \u043d\u0430 \u043f\u043e\u043a\u0430\u0437\u0432\u0430\u043d\u0438\u0442\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0438 \u0438\u043b\u0438 \u0441 <a href=\"https:\/\/java.sun.com\/j2se\/1.5.0\/docs\/api\/java\/beans\/PropertyChangeEvent.html\" target=\"_blank\" rel=\"noopener\">PropertyChangeEvent<\/a>s, \u0441 <a href=\"\/javadoc\/com\/eteks\/sweethome3d\/model\/CollectionEvent.html\">CollectionEvent<\/a>s (8) \u0438\u043b\u0438 \u0441 <a href=\"\/javadoc\/com\/eteks\/sweethome3d\/model\/SelectionEvent.html\">SelectionEvent<\/a>s (6), \u043a\u0430\u0442\u043e \u043f\u043e \u0442\u043e\u0437\u0438 \u043d\u0430\u0447\u0438\u043d \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u0432\u0441\u0438\u0447\u043a\u0438 \u043f\u0440\u043e\u043c\u0435\u043d\u0438 \u0434\u0430 \u0431\u044a\u0434\u0430\u0442 \u043e\u0442\u0440\u0430\u0437\u0435\u043d\u0438 \u043d\u0435\u0437\u0430\u0431\u0430\u0432\u043d\u043e \u043d\u0430 \u0435\u043a\u0440\u0430\u043d\u0430.  <\/p>\n\n<div class=\"wp-block-group warning-banner is-nowrap is-layout-flex wp-container-core-group-is-layout-9123dee2 wp-block-group-is-layout-flex\">\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" width=\"190\" height=\"190\" data-src=\"https:\/\/test.sweethome3d.eu\/wp-content\/uploads\/2025\/11\/Frame-281.png\" alt=\"\" class=\"wp-image-786 lazyload\" style=\"--smush-placeholder-width: 190px; --smush-placeholder-aspect-ratio: 190\/190;width:130px\" data-srcset=\"https:\/\/test.sweethome3d.eu\/wp-content\/uploads\/2025\/11\/Frame-281.png 190w, https:\/\/test.sweethome3d.eu\/wp-content\/uploads\/2025\/11\/Frame-281-90x90.png 90w\" data-sizes=\"(max-width: 190px) 100vw, 190px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" \/><\/figure>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer !h-auto wp-container-content-16d1eb73\"><\/div>\n\n\n\n<p>\u041c\u043e\u0434\u0435\u043b\u044a\u0442 \u043d\u0430 Sweet Home 3D <strong>\u043d\u0435 \u0435<\/strong> thread safe \u043f\u043e\u0440\u0430\u0434\u0438 \u043f\u0440\u0438\u0447\u0438\u043d\u0438, \u0441\u0432\u044a\u0440\u0437\u0430\u043d\u0438 \u0441 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u043d\u043e\u0441\u0442\u0442\u0430. \u0412\u0441\u0438\u0447\u043a\u0438 <strong>\u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438<\/strong> \u043d\u0430 \u043e\u0431\u0435\u043a\u0442, \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0430\u0449 \u043a\u044a\u043c \u043c\u043e\u0434\u0435\u043b\u0430, \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0441\u0435 \u0438\u0437\u0432\u044a\u0440\u0448\u0432\u0430\u0442 \u0432 Event Dispatch Thread. <\/p>\n<\/div>\n\n<h3 class=\"wp-block-heading\">\u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u043d\u0430 \u043a\u043b\u0430\u0441\u043e\u0432\u0435\u0442\u0435 \u043d\u0430 \u043f\u043b\u044a\u0433\u0438\u043d\u0438\u0442\u0435<\/h3>\n\n<p>\u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430\u0442\u0430 \u043d\u0430 \u043a\u043b\u0430\u0441\u043e\u0432\u0435\u0442\u0435 \u043d\u0430 \u043f\u043b\u044a\u0433\u0438\u043d\u0438\u0442\u0435 \u0435 \u043c\u043d\u043e\u0433\u043e \u043f\u043e-\u043b\u0435\u0441\u043d\u0430 \u0437\u0430 \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043d\u0435 \u043e\u0442 \u0442\u0430\u0437\u0438 \u043d\u0430 \u0441\u043b\u043e\u044f Model. \u041f\u0430\u043a\u0435\u0442\u044a\u0442 <a href=\"\/javadoc\/com\/eteks\/sweethome3d\/plugin\/package-summary.html\">com.eteks.sweethome3d.plugin<\/a> \u0441\u044a\u0434\u044a\u0440\u0436\u0430 \u0441\u0430\u043c\u043e \u0442\u0440\u0438 \u043a\u043b\u0430\u0441\u0430, \u0441\u0440\u0435\u0434 \u043a\u043e\u0438\u0442\u043e \u0441\u0435 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430, \u0447\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442\u0435 \u0441\u0430\u043c\u043e \u043a\u043b\u0430\u0441\u043e\u0432\u0435\u0442\u0435 <a href=\"\/javadoc\/com\/eteks\/sweethome3d\/plugin\/Plugin.html\">Plugin<\/a> \u0438 <a href=\"\/javadoc\/com\/eteks\/sweethome3d\/plugin\/PluginAction.html\">PluginAction<\/a>, \u043a\u0430\u043a\u0442\u043e \u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0430 \u0444\u0438\u0433\u0443\u0440\u0430 14 (\u0441\u044a\u0449\u043e \u0434\u043e\u0441\u0442\u044a\u043f\u043d\u0430 \u0432 <a href=\"https:\/\/test.sweethome3d.eu\/wp-content\/uploads\/2025\/12\/pluginClassesDiagram.png\">PDF \u0444\u043e\u0440\u043c\u0430\u0442<\/a>). <\/p>\n\n<p>[uml_diagram slug=&#8220;plugin-classes-diagram&#8220; map_name=&#8220;plugin-classes-diagram&#8220; caption=&#8220;Figure 14. UML diagram of com.eteks.sweethome3d.plugin package&#8220; caption_small=&#8220;(click on a class to view its javadoc)&#8220;]<\/p>\n\n<p>\u0415\u0434\u0438\u043d <a href=\"\/javadoc\/com\/eteks\/sweethome3d\/plugin\/PluginManager.html\">PluginManager<\/a> \u0438\u043d\u0441\u0442\u0430\u043d\u0446\u0438\u044f (1) \u0441\u0435 \u0441\u044a\u0437\u0434\u0430\u0432\u0430 \u043f\u0440\u0438 \u0441\u0442\u0430\u0440\u0442\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u0442\u043e \u0438 \u0442\u044a\u0440\u0441\u0438 \u043f\u043b\u044a\u0433\u0438\u043d\u0438\u0442\u0435, \u0438\u043d\u0441\u0442\u0430\u043b\u0438\u0440\u0430\u043d\u0438 \u0432 <a href=\"#creating-the-plugin-jar\">\u043f\u0430\u043f\u043a\u0430\u0442\u0430 \u0441 \u043f\u043b\u044a\u0433\u0438\u043d\u0438<\/a> \u043d\u0430 \u043f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b\u044f. \u0412\u0441\u0435\u043a\u0438 \u043f\u044a\u0442, \u043a\u043e\u0433\u0430\u0442\u043e \u0441\u0435 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0430 \u043d\u043e\u0432 \u0434\u043e\u043c, \u0442\u043e\u0437\u0438 \u043c\u0435\u043d\u0438\u0434\u0436\u044a\u0440 \u0438\u043d\u0441\u0442\u0430\u043d\u0446\u0438\u0440\u0430 \u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0430 <a href=\"\/javadoc\/com\/eteks\/sweethome3d\/plugin\/Plugin.html\">Plugin<\/a> \u043e\u0431\u0435\u043a\u0442 (3) \u0437\u0430 \u0432\u0441\u0435\u043a\u0438 \u043f\u043b\u044a\u0433\u0438\u043d, \u043d\u0430\u043c\u0435\u0440\u0435\u043d \u043f\u043e \u0432\u0440\u0435\u043c\u0435 \u043d\u0430 \u0441\u0442\u0430\u0440\u0442\u0438\u0440\u0430\u043d\u0435. \u0421\u043b\u0435\u0434 \u0442\u043e\u0432\u0430 \u0442\u043e\u0439 \u0438\u0437\u0432\u0438\u043a\u0432\u0430 \u043c\u0435\u0442\u043e\u0434\u0430 <a href=\"\/javadoc\/com\/eteks\/sweethome3d\/plugin\/Plugin.html#getActions()\">getActions<\/a>, \u0437\u0430 \u0434\u0430 \u0438\u0437\u0432\u043b\u0435\u0447\u0435 \u0432\u0441\u0438\u0447\u043a\u0438 <a href=\"\/javadoc\/com\/eteks\/sweethome3d\/plugin\/PluginAction.html\">\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f<\/a> (4), \u043a\u043e\u0438\u0442\u043e \u0449\u0435 \u0431\u044a\u0434\u0430\u0442 \u0434\u043e\u0431\u0430\u0432\u0435\u043d\u0438 \u043a\u0430\u0442\u043e \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0438 \u043e\u0442 \u043c\u0435\u043d\u044e\u0442\u043e \u0438\/\u0438\u043b\u0438 \u0431\u0443\u0442\u043e\u043d\u0438 \u043d\u0430 \u043b\u0435\u043d\u0442\u0430\u0442\u0430 \u0441 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0438 \u0432 \u043f\u0440\u043e\u0437\u043e\u0440\u0435\u0446\u0430 \u043d\u0430 \u0434\u043e\u043c\u0430. \u0412\u0441\u044f\u043a\u043e \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0435 \u0438\u043d\u0441\u0442\u0430\u043d\u0446\u0438\u044f \u043d\u0430 <a href=\"\/javadoc\/com\/eteks\/sweethome3d\/plugin\/PluginAction.html\">PluginAction<\/a>, \u043a\u043e\u044f\u0442\u043e \u0438\u0437\u0433\u043b\u0435\u0436\u0434\u0430 \u043a\u0430\u0442\u043e \u043a\u043b\u0430\u0441 <a href=\"https:\/\/java.sun.com\/j2se\/1.5.0\/docs\/api\/javax\/swing\/Action.html\" target=\"_blank\" rel=\"noopener\">Action<\/a>, \u0441\u044a\u0441 \u0441\u0432\u043e\u044f \u043c\u0435\u0442\u043e\u0434 <a href=\"\/javadoc\/com\/eteks\/sweethome3d\/plugin\/PluginAction.html#execute()\">execute<\/a> \u0438 \u0441\u0432\u043e\u0438\u0442\u0435 \u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u0443\u0435\u043c\u0438 <a href=\"\/javadoc\/com\/eteks\/sweethome3d\/plugin\/PluginAction.Property.html\">\u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430<\/a> (2).   <\/p>\n\n<p>\u041e\u0431\u044a\u0440\u043d\u0435\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0435 \u043a\u043b\u0430\u0441\u044a\u0442 <a href=\"\/javadoc\/com\/eteks\/sweethome3d\/plugin\/Plugin.html\">Plugin<\/a> \u0432\u0438 \u0434\u0430\u0432\u0430 \u0434\u043e\u0441\u0442\u044a\u043f \u0434\u043e <a href=\"https:\/\/java.sun.com\/j2se\/1.5.0\/docs\/api\/javax\/swing\/undo\/UndoableEditSupport.html\" target=\"_blank\" rel=\"noopener\">UndoableEditSupport<\/a> \u0438\u043d\u0441\u0442\u0430\u043d\u0446\u0438\u044f \u0447\u0440\u0435\u0437 \u0441\u0432\u043e\u044f \u043c\u0435\u0442\u043e\u0434 <a href=\"\/javadoc\/com\/eteks\/sweethome3d\/plugin\/Plugin.html#getUndoableEditSupport()\">getUndoableEditSupport<\/a>. \u0412\u0435\u0434\u043d\u0430\u0433\u0430 \u0441\u043b\u0435\u0434 \u043a\u0430\u0442\u043e \u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u0430\u0442\u0435 \u0434\u043e\u043c \u0438\u043b\u0438 \u043d\u0435\u0433\u043e\u0432\u0438\u0442\u0435 \u043e\u0431\u0435\u043a\u0442\u0438 (\u043c\u0435\u0431\u0435\u043b\u0438, \u0441\u0442\u0435\u043d\u0438&#8230;) \u0432 \u043c\u0435\u0442\u043e\u0434\u0430 execute \u043d\u0430 <a href=\"\/javadoc\/com\/eteks\/sweethome3d\/plugin\/PluginAction.html\">PluginAction<\/a> \u0438\u043d\u0441\u0442\u0430\u043d\u0446\u0438\u044f, \u0442\u0440\u044f\u0431\u0432\u0430 \u0441\u044a\u0449\u043e \u0434\u0430 \u043f\u0443\u0431\u043b\u0438\u043a\u0443\u0432\u0430\u0442\u0435 <a href=\"https:\/\/java.sun.com\/j2se\/1.5.0\/docs\/api\/javax\/swing\/undo\/UndoableEdit.html\" target=\"_blank\" rel=\"noopener\">UndoableEdit<\/a> \u043e\u0431\u0435\u043a\u0442 \u0432 \u043f\u043e\u0434\u0434\u0440\u044a\u0436\u043a\u0430\u0442\u0430 \u0437\u0430 \u043e\u0442\u043c\u044f\u043d\u0430 \u043d\u0430 \u0440\u0435\u0434\u0430\u043a\u0446\u0438\u0438, \u0432\u044a\u0440\u043d\u0430\u0442\u0430 \u043e\u0442 \u043c\u0435\u0442\u043e\u0434\u0430 getUndoableEditSupport, \u0432 \u043f\u0440\u043e\u0442\u0438\u0432\u0435\u043d \u0441\u043b\u0443\u0447\u0430\u0439 \u043f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b\u0438\u0442\u0435 \u043d\u044f\u043c\u0430 \u0434\u0430 \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u043e\u0442\u043c\u0435\u043d\u044f\u0442\/\u0432\u044a\u0437\u0441\u0442\u0430\u043d\u043e\u0432\u044f\u0442 \u043f\u0440\u0430\u0432\u0438\u043b\u043d\u043e \u043d\u0430\u043f\u0440\u0430\u0432\u0435\u043d\u0438\u0442\u0435 \u043e\u0442 \u0432\u0430\u0441 \u043f\u0440\u043e\u043c\u0435\u043d\u0438. <\/p>\n\n<h3 class=\"wp-block-heading\">\u041b\u043e\u043a\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f<\/h3>\n\n<p>\u0410\u043a\u043e \u043f\u043b\u0430\u043d\u0438\u0440\u0430\u0442\u0435 \u0434\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0438\u0442\u0435 \u043f\u043b\u044a\u0433\u0438\u043d \u0437\u0430 \u043e\u0431\u0449\u043d\u043e\u0441\u0442\u0442\u0430 \u043d\u0430 \u043f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b\u0438\u0442\u0435 \u043d\u0430 Sweet Home 3D, \u043e\u043f\u0438\u0442\u0430\u0439\u0442\u0435 \u0441\u0435 \u0434\u0430 \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u0438\u0440\u0430\u0442\u0435 \u043d\u0438\u0437\u043e\u0432\u0435\u0442\u0435, \u043a\u043e\u0438\u0442\u043e \u043f\u043e\u043a\u0430\u0437\u0432\u0430, \u0438\u043b\u0438 \u0432 \u0438\u043c\u0435\u0442\u043e \u043d\u0430 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f\u0442\u0430 \u0438 \u043c\u0435\u043d\u044e\u0442\u043e, \u0438\u043b\u0438 \u0432 \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432\u0438\u0442\u0435 \u043f\u0440\u043e\u0437\u043e\u0440\u0446\u0438, \u043a\u043e\u0438\u0442\u043e \u0449\u0435 \u0441\u044a\u0437\u0434\u0430\u0434\u0435\u0442\u0435 (\u0438\u043b\u0438 \u043f\u043e\u043d\u0435 \u043f\u043e\u0434\u0433\u043e\u0442\u0432\u0435\u0442\u0435 \u043d\u0435\u0433\u043e\u0432\u0430\u0442\u0430 \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f). \u0414\u0432\u0430 <a href=\"\/javadoc\/com\/eteks\/sweethome3d\/plugin\/PluginAction.html#PluginAction(java.lang.String,%20java.lang.String,%20java.lang.ClassLoader)\">\u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u0430 \u043d\u0430 \u043a\u043b\u0430\u0441\u0430 PluginAction<\/a> \u0449\u0435 \u0432\u0438 \u043f\u043e\u043c\u043e\u0433\u043d\u0430\u0442 \u0434\u0430 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0438\u0440\u0430\u0442\u0435 \u043f\u0440\u0435\u0432\u043e\u0434\u0430 \u043d\u0430 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430\u0442\u0430 \u043d\u0430 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f\u0442\u0430 \u0441 .properties \u0444\u0430\u0439\u043b\u043e\u0432\u0435, \u0438 \u0430\u043a\u043e \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u043f\u0440\u0435\u0432\u0435\u0434\u0435\u0442\u0435 \u0434\u0440\u0443\u0433\u0438 \u043d\u0438\u0437\u043e\u0432\u0435 \u0432\u044a\u0432 \u0432\u0430\u0448\u0438\u044f \u043f\u043b\u044a\u0433\u0438\u043d (\u043a\u0430\u0442\u043e \u0442\u043e\u0437\u0438 \u0432 \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432\u0438\u044f \u043f\u0440\u043e\u0437\u043e\u0440\u0435\u0446, \u043f\u043e\u043a\u0430\u0437\u0430\u043d \u043e\u0442 <a href=\"#testing-the-plugin\">\u0442\u0435\u0441\u0442\u0432\u0430\u043d\u0438\u044f \u043f\u043b\u044a\u0433\u0438\u043d<\/a>) \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e \u0442\u0435\u0437\u0438 .properties \u0444\u0430\u0439\u043b\u043e\u0432\u0435 \u0441 Java \u043a\u043b\u0430\u0441\u0430 <a href=\"https:\/\/java.sun.com\/j2se\/1.5.0\/docs\/api\/java\/util\/ResourceBundle.html\" target=\"_blank\" rel=\"noopener\">ResourceBundle<\/a>.<br\/>\u0410\u043a\u043e \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0438\u0442\u0430\u0442\u0435 \u0434\u0430 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0442\u0435 \u0431\u0440\u043e\u044f \u043d\u0430 \u0444\u0430\u0439\u043b\u043e\u0432\u0435\u0442\u0435 \u0441\u044a\u0441 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430, \u043c\u043e\u0436\u0435\u0442\u0435 \u0434\u043e\u0440\u0438 \u0434\u0430 \u0437\u0430\u043f\u0438\u0448\u0435\u0442\u0435 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442\u0438\u0442\u0435 \u043d\u0430 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430\u0442\u0430 \u043d\u0430 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f\u0442\u0430 \u0438 \u0434\u0440\u0443\u0433\u0438 \u043d\u0438\u0437\u043e\u0432\u0435 \u0432\u044a\u0432 <a href=\"#creating-the-plugin-description-file\">\u0444\u0430\u0439\u043b\u0430 \u0441 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435<\/a> ApplicationPlugin.properties \u043d\u0430 \u0432\u0430\u0448\u0438\u044f \u043f\u043b\u044a\u0433\u0438\u043d. <\/p>\n\n<p>\u0410\u043a\u043e \u0438\u0441\u043a\u0430\u0442\u0435 \u043f\u0440\u0438\u043c\u0435\u0440, \u043a\u043e\u0439\u0442\u043e \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u0442\u0430\u0437\u0438 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430, \u0438\u0437\u0442\u0435\u0433\u043b\u0435\u0442\u0435 \u043f\u043b\u044a\u0433\u0438\u043d\u0430 <em>Export to SH3F<\/em>, \u043d\u0430\u043b\u0438\u0447\u0435\u043d \u043d\u0430 <a href=\"\/storage\/plugins\/ExportToSH3F-1.0.sh3p\">https:\/\/test.sweethome3d.eu\/plugins\/ExportToSH3F-1.0.sh3p<\/a>, \u0438 \u0433\u043e \u0440\u0430\u0437\u0430\u0440\u0445\u0438\u0432\u0438\u0440\u0430\u0439\u0442\u0435 (\u0442\u043e\u0437\u0438 \u0444\u0430\u0439\u043b \u043d\u0430 \u043f\u043b\u044a\u0433\u0438\u043d\u0430 \u0441\u044a\u0434\u044a\u0440\u0436\u0430 \u0438 \u0438\u0437\u0445\u043e\u0434\u043d\u0438\u044f \u043a\u043e\u0434 \u043d\u0430 \u043f\u043b\u044a\u0433\u0438\u043d\u0430).<br\/>\u041a\u0430\u043a\u0442\u043e \u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u043e \u0432\u044a\u0432 <a href=\"https:\/\/sourceforge.net\/forum\/message.php?msg_id=5837358\" target=\"_blank\" rel=\"noopener\">\u0444\u043e\u0440\u0443\u043c\u0430 \u0437\u0430 \u043f\u043e\u043c\u043e\u0449<\/a>, \u0442\u043e\u0437\u0438 \u043f\u043b\u044a\u0433\u0438\u043d \u0441\u044a\u0437\u0434\u0430\u0432\u0430 SH3F \u0444\u0430\u0439\u043b, \u043a\u043e\u0439\u0442\u043e \u0441\u044a\u0434\u044a\u0440\u0436\u0430 \u0432\u0441\u0438\u0447\u043a\u0438 \u043c\u0435\u0431\u0435\u043b\u0438, \u043a\u043e\u0438\u0442\u043e \u0441\u0442\u0435 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0430\u043b\u0438 \u0432 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430 \u0441 \u043c\u0435\u0431\u0435\u043b\u0438 \u043d\u0430 Sweet Home 3D.<\/p>\n\n<h3 class=\"wp-block-heading\">\u041f\u0440\u0438\u043d\u043e\u0441 \u043d\u0430 \u043f\u043b\u044a\u0433\u0438\u043d\u0438<\/h3>\n\n<p>\u041c\u043e\u0436\u0435\u0442\u0435 \u0434\u0430 \u043f\u0443\u0431\u043b\u0438\u043a\u0443\u0432\u0430\u0442\u0435 \u043f\u043b\u044a\u0433\u0438\u043d\u0438\u0442\u0435, \u043a\u043e\u0438\u0442\u043e \u0441\u0442\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u0438\u0440\u0430\u043b\u0438, \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0442\u0430 \u0437\u0430 \u043f\u0440\u043e\u0441\u043b\u0435\u0434\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 <a href=\"https:\/\/sourceforge.net\/p\/sweethome3d\/plug-ins\/\" target=\"_blank\" rel=\"noopener\">\u041f\u0440\u0438\u043d\u043e\u0441\u0438 \u043d\u0430 \u043f\u043b\u044a\u0433\u0438\u043d\u0438<\/a>, \u0437\u0430 \u0434\u0430 \u0433\u0438 \u0441\u043f\u043e\u0434\u0435\u043b\u0438\u0442\u0435 \u0441 \u043e\u0431\u0449\u043d\u043e\u0441\u0442\u0442\u0430 \u043d\u0430 \u043f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b\u0438\u0442\u0435 \u043d\u0430 Sweet Home 3D.<br\/>\u041c\u043d\u043e\u0433\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u0431\u044a\u0434\u0430\u0442 \u0434\u043e\u0431\u0430\u0432\u0435\u043d\u0438 \u043a\u044a\u043c Sweet Home 3D \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u0435\u043d\u0438\u0435 \u043d\u0430 \u043f\u043b\u044a\u0433\u0438\u043d\u0438\u0442\u0435, \u043e\u0442 \u0438\u043c\u043f\u043e\u0440\u0442\u0435\u0440\u0438 \u0434\u043e \u0435\u043a\u0441\u043f\u043e\u0440\u0442\u0435\u0440\u0438, \u043d\u043e \u0441\u044a\u0449\u043e \u0438 \u043f\u043b\u044a\u0433\u0438\u043d\u0438, \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u0438 \u0434\u0430 \u043f\u0440\u043e\u043c\u0435\u043d\u044f\u0442 \u0434\u0430\u043d\u043d\u0438\u0442\u0435 \u043d\u0430 \u0434\u043e\u043c\u0430, \u043a\u0430\u0442\u043e <a href=\"https:\/\/sourceforge.net\/p\/sweethome3d\/plug-ins\/1\/\" target=\"_blank\" rel=\"noopener\">Home Rotator Plug-in<\/a>, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0435\u043d \u043e\u0442 Michel Mbem \u0438 \u0434\u0440\u0443\u0433\u0438, \u0438\u0437\u0431\u0440\u043e\u0435\u043d\u0438 \u0432 <a href=\"\/storage\/pluginsUserGuide.pdf\">\u0423\u0440\u043e\u043a \u0437\u0430 \u043f\u043b\u044a\u0433\u0438\u043d\u0438 \u0438 \u0440\u0430\u0437\u0448\u0438\u0440\u0435\u043d\u0438\u044f<\/a> (PDF), \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043e\u0442 Hans Dirkse \u0438 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\u0442\u0430 <a href=\"https:\/\/test.sweethome3d.eu\/plugins\/\" data-type=\"page\" data-id=\"437\">\u041f\u043b\u044a\u0433\u0438\u043d\u0438 \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0438<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0412\u044a\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u041e\u0442 \u0432\u0435\u0440\u0441\u0438\u044f 1.5 \u0435 \u0432\u044a\u0437\u043c\u043e\u0436\u043d\u043e \u0434\u0430 \u0434\u043e\u0431\u0430\u0432\u044f\u0442\u0435 \u043d\u043e\u0432\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043a\u044a\u043c Sweet Home 3D \u0441 \u0444\u0430\u0439\u043b\u043e\u0432\u0435 \u043d\u0430 \u043f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0438, \u043f\u043e\u0441\u0442\u0430\u0432\u0435\u043d\u0438 \u0432\u044a\u0432 \u0432\u0430\u0448\u0430\u0442\u0430 \u043f\u0430\u043f\u043a\u0430 \u0437\u0430 \u043f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0438. \u0422\u043e\u0432\u0430 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u043d\u0430 Java \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u0438\u0441\u0442\u0438\u0442\u0435 \u0434\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0432\u0430\u0442 \u0438 \u0440\u0430\u0437\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0432\u0430\u0442 \u043d\u043e\u0432\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0437\u0430 Sweet Home 3D, \u0431\u0435\u0437 \u0434\u0430 \u043f\u0440\u043e\u043c\u0435\u043d\u044f\u0442 \u0438\u0437\u0445\u043e\u0434\u043d\u0438\u0442\u0435 \u0444\u0430\u0439\u043b\u043e\u0432\u0435 \u043d\u0430 \u0442\u0435\u043a\u0443\u0449\u0430\u0442\u0430 \u0432\u0435\u0440\u0441\u0438\u044f (\u043a\u043e\u0435\u0442\u043e \u0435 \u0434\u043e\u0431\u0440\u0435 \u0437\u0430 \u043e\u0431\u0440\u0430\u0442\u043d\u0430 \u0441\u044a\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442) \u0438 \u0431\u0435\u0437<a href=\"https:\/\/test.sweethome3d.eu\/bg\/%d1%80%d1%8a%d0%ba%d0%be%d0%b2%d0%be%d0%b4%d1%81%d1%82%d0%b2%d0%be-%d0%b7%d0%b0-%d1%80%d0%b0%d0%b7%d1%80%d0%b0%d0%b1%d0%be%d1%82%d1%87%d0%b8%d1%86%d0%b8-%d0%bd%d0%b0-%d0%bf%d1%80%d0%b8%d1%81%d1%82\/\">Continue reading <span class=\"sr-only\">&#8222;\u0420\u044a\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u0437\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u0446\u0438 \u043d\u0430 \u043f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0438&#8220;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":11424,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-resources.php","meta":{"inline_featured_image":false,"footnotes":""},"class_list":["post-11459","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/test.sweethome3d.eu\/bg\/wp-json\/wp\/v2\/pages\/11459","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/test.sweethome3d.eu\/bg\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/test.sweethome3d.eu\/bg\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/test.sweethome3d.eu\/bg\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/test.sweethome3d.eu\/bg\/wp-json\/wp\/v2\/comments?post=11459"}],"version-history":[{"count":2,"href":"https:\/\/test.sweethome3d.eu\/bg\/wp-json\/wp\/v2\/pages\/11459\/revisions"}],"predecessor-version":[{"id":12433,"href":"https:\/\/test.sweethome3d.eu\/bg\/wp-json\/wp\/v2\/pages\/11459\/revisions\/12433"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/test.sweethome3d.eu\/bg\/wp-json\/wp\/v2\/media\/11424"}],"wp:attachment":[{"href":"https:\/\/test.sweethome3d.eu\/bg\/wp-json\/wp\/v2\/media?parent=11459"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}