<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Jacky Chan</title>
    <description>The latest articles on DEV Community by Jacky Chan (@jackychan2026).</description>
    <link>https://dev.to/jackychan2026</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4217636%2F97802499-12ef-4942-b451-da43ed10554a.png</url>
      <title>DEV Community: Jacky Chan</title>
      <link>https://dev.to/jackychan2026</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jackychan2026"/>
    <language>en</language>
    <item>
      <title>Calculating Epoxy Volume for Irregular Shapes: The Segment Method</title>
      <dc:creator>Jacky Chan</dc:creator>
      <pubDate>Fri, 30 Oct 2026 16:07:32 +0000</pubDate>
      <link>https://dev.to/jackychan2026/calculating-epoxy-volume-for-irregular-shapes-the-segment-method-418d</link>
      <guid>https://dev.to/jackychan2026/calculating-epoxy-volume-for-irregular-shapes-the-segment-method-418d</guid>
      <description>&lt;p&gt;Most volume calculators assume a rectangle. Real epoxy projects — a live-edge river table, a void in a burl slab, an irregular crack — are not rectangles, and a single length × width × depth estimate can be off by 20% or more. Here is the segment method I use, and the maths behind it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Divide and measure
&lt;/h2&gt;

&lt;p&gt;Split the irregular channel into &lt;code&gt;n&lt;/code&gt; segments along its length. For each segment &lt;code&gt;i&lt;/code&gt;, measure the width &lt;code&gt;w_i&lt;/code&gt; at that station. With segment length &lt;code&gt;L_i&lt;/code&gt; and a constant pour depth &lt;code&gt;d&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;V_raw = d × Σ (L_i × w_i)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;With 5–8 stations, this trapezoidal-style approximation is typically within a few percent of the true area — far better than one average-width guess, which systematically underestimates bulges and overestimates necks in a way that does not cancel out.&lt;/p&gt;

&lt;h2&gt;
  
  
  Raw volume is not the order quantity
&lt;/h2&gt;

&lt;p&gt;Three corrections turn geometry into a purchase plan:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Waste factor&lt;/strong&gt; — 5–10% for mixing and transfer losses:
&lt;code&gt;V_waste = V_raw × 1.10&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Seepage / seal coat&lt;/strong&gt; — porous live edge absorbs a measurable first coat. Budget it as a separate thin-coat volume over the wood contact area, not as a percentage fudge.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Layer constraints&lt;/strong&gt; — deep-pour resins have a maximum lift thickness (often ~2 in). Total volume does not change, but batch count and Part A / Part B split per batch do:
&lt;code&gt;batches = ceil(depth / max_lift)&lt;/code&gt;, and each batch is mixed at the product ratio (1:1, 2:1, 3:1 by volume or weight — never assume they are interchangeable).&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Unit discipline matters too: 1 US gallon = 231 cubic inches = 3.785 litres, and ounces in a product listing are fluid ounces, not weight ounces. Resin density (~1.1–1.2 g/ml for most casting resins) is why "weigh it instead" advice needs the specific product's density, not a generic 1.0.&lt;/p&gt;

&lt;h2&gt;
  
  
  Reference implementation
&lt;/h2&gt;

&lt;p&gt;If you want to sanity-check your spreadsheet against a worked implementation of exactly this model — segment mode, waste, seepage, seal coat, and A/B split — this &lt;a href="https://epoxyplanner.com/epoxy-calculator/" rel="noopener noreferrer"&gt;epoxy resin calculator&lt;/a&gt; exposes its assumptions rather than hiding them behind a single number, which makes it useful as a test oracle for your own code.&lt;/p&gt;

&lt;h2&gt;
  
  
  Edge cases worth testing
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Depth varying along the channel (then segments need their own &lt;code&gt;d_i&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;A river that forks (treat each branch as its own segment chain)&lt;/li&gt;
&lt;li&gt;Metric inputs with imperial product sizes (convert once, at the end, not per segment)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;How do you handle seepage in your own estimators — fixed allowance, or measured after the seal coat? Curious how other builders model it.&lt;/p&gt;

</description>
      <category>diy</category>
      <category>tutorial</category>
      <category>math</category>
      <category>makers</category>
    </item>
  </channel>
</rss>
