<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Plugin for drawing canopies from a configuration file]]></title><description><![CDATA[<p dir="auto">Hello,<br />
I am sharing this SketchUp plugin, which I developed for my own needs with the help of Copilot.</p>
<p dir="auto">It can be found on Github at(<a href="https://github.com/marco402/plugin-squetchup-ruby" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/marco402/plugin-squetchup-ruby</a>)</p>
<p dir="auto">It allows you to draw canopies or other assemblies in SketchUp based on a configuration file.</p>
<p dir="auto">Menu items (found under the SketchUp Extensions menu)<br />
Generate framework from file<br />
Generate roofing<br />
Generate A4 plan (3 or 4 views)<br />
Export A4 plan (JPG)<br />
Generate garage roof<br />
Export material inventory to console<br />
Debug \ Select a line (useful for configuring cutters).<br />
Debug \ Display hierarchy in console<br />
The configuration file describes the components; the filename itself is used to name the generated SketchUp component.</p>
<p dir="auto">Roofing generation is separate from framework generation so that A4 plans can be created without the roof. A4 plan export is separate from A4 plan generation to allow for the addition of dimensions. The "Generate garage roof" function allows you to roof a rectangular building with a single or double pitch oriented along the Y-axis (see special cases). To generate A4 plans, search for "cartouche" (title block) in auvent.rb if necessary.</p>
<p dir="auto">The components are:</p>
<ul>
<li>
<p dir="auto">POTEAU (POST);section x;section y;top;x;y;z;MAT=xxx</p>
</li>
<li>
<p dir="auto">POUTRE (BEAM);section y;section z;x;y;z;length;y-direction;z-direction;MAT=xxx</p>
</li>
<li>
<p dir="auto">CHEVRON (RAFTER);number;section x;section y;overhang;MAT=xxx    (automatically placed on the outermost beams)</p>
</li>
<li>
<p dir="auto">LITEAU (BATTEN);number;section y;section_z;MAT=xxx</p>
</li>
<li>
<p dir="auto">CLINS (CLADDING);x;y;z;width x;height y;direction;orientation;spacing;thickness;delta_height;Id;MAT=xxx</p>
</li>
<li>
<p dir="auto">PANNEAU (PANEL);x1;y1;z1;x2;y2;z2;thickness;option;type;MAT=xxx   (option: CAP   type=1:polycarbonate  type=2:solid panel)</p>
</li>
<li>
<p dir="auto">RIVE (EDGE);section x;section y;MAT=xxx</p>
</li>
<li>
<p dir="auto">GOUTIERE (GUTTER);diameter;MAT=xxx</p>
</li>
<li>
<p dir="auto">LAMBRIS (PANELING);x;y;z;width x;height y;direction;orientation;spacing;thickness;delta height;Id;MAT=xxx</p>
</li>
<li>
<p dir="auto">SOL (FLOOR);section x;section y;height;x;y;z;MAT=xxx</p>
</li>
<li>
<p dir="auto">XY;section x;section y;x1;y1;z1;x2;y2;z2;option;MAT=xxxdu clins en chêne</p>
</li>
<li>
<p dir="auto">ANGLE_XZ;section x;section y;x;y;z;length;angle in degrees;MAT=xxxrive de toit</p>
</li>
<li>
<p dir="auto">ANGLE_YZ;section x;section y;x;y;z;length;angle in degrees;high_point;MAT=xxx       (if x,y,z is the high point: high_point = 1)<br />
For panels that do not touch a rafter or for special cases,</p>
</li>
</ul>
<p dir="auto">the ID of the cutter and the ID of the panel to be processed must match<br />
CUTTER;x1;y1;z1;x2;y2;z2;x3;y3;z3;x4;y4;z4;direction;Id(panel to cut) (4 points + 1 direction; removes the part towards the direction; object = siding, paneling...)<br />
Constraints:<br />
A minimum of the following is required: - 2 beams to support the rafters - 2 rafters to support the battens - 2 battens to support the roofing (see menu)</p>
<p dir="auto">Plugin composition in C:\Users\userNameAppData\Roaming\SketchUp\SketchUp 2017\SketchUp<br />
\Plugins<br />
- UI_auvent.rb<br />
- auvent\auvent.rb<br />
- auvent\auvent_constants.rb<br />
- auvent\utils_auvent.rb<br />
- auvent\PrintHierarchy.rb<br />
- auvent\materialsAuvent<br />
- woodAuvent.skm<br />
- lambris.skm<br />
- EffetTransparent.skm<br />
- ...<br />
A default template file \Templates AuventTemplate.skp</p>
<p dir="auto">A style file \Styles Plan mairie.style</p>
<p dir="auto">A template file for using the "Generate garage roof" menu. \components\garage_sans_toit.skp</p>
<p dir="auto">Special cases<br />
This code includes specific handling for my awnings; the check is based on the component name.<br />
These checks take the form: <code>if(last_component_name=="AUVENT_GARAGE")</code><br />
There are also configuration settings within the code that could easily be moved to the configuration file.<br />
The <code>Auvent_garage</code> involves a special case: unlike the "standard" scenario, the rafters run lengthwise, so they must be named "battens" (liteaux).<br />
Additionally, the bargeboard is omitted, and the gutter is attached directly to the fiber-cement sheeting.<br />
The "Generate garage roof" menu allows you to roof a rectangular building with a single- or double-pitch roof oriented along the Y-axis.<br />
You need to place 2 battens (for a single-pitch roof) or 3 (for a double-pitch roof) to position the roof; if overhangs are required, modify the settings in the code.<br />
Refer to the <code>garage_sans_toit.skp</code> model.</p>
<p dir="auto">Marc</p>
]]></description><link>https://community.sketchucation.com/topic/164963/plugin-for-drawing-canopies-from-a-configuration-file</link><generator>RSS for Node</generator><lastBuildDate>Sun, 02 Aug 2026 22:19:51 GMT</lastBuildDate><atom:link href="https://community.sketchucation.com/topic/164963.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 01 Aug 2026 17:21:17 GMT</pubDate><ttl>60</ttl></channel></rss>