<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Song Wang</title><link>https://wangsong004.github.io/</link><atom:link href="https://wangsong004.github.io/index.xml" rel="self" type="application/rss+xml"/><description>Song Wang</description><generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Wed, 13 May 2026 00:00:00 +0000</lastBuildDate><image><url>https://wangsong004.github.io/media/icon_hua2ec155b4296a9c9791d015323e16eb5_11927_512x512_fill_lanczos_center_3.png</url><title>Song Wang</title><link>https://wangsong004.github.io/</link></image><item><title>Life Calendar</title><link>https://wangsong004.github.io/tools/life-calendar/</link><pubDate>Wed, 13 May 2026 00:00:00 +0000</pubDate><guid>https://wangsong004.github.io/tools/life-calendar/</guid><description>&lt;section id="life-calendar-tool" class="life-tool" aria-label="Life Calendar">
&lt;div class="life-tool__header">
&lt;p class="life-tool__eyebrow">Small Tool&lt;/p>
&lt;p class="life-tool__lead">A compact week-by-week map of time.&lt;/p>
&lt;/div>
&lt;div class="life-tool__panel">
&lt;div class="life-tool__controls">
&lt;div class="life-tool__field">
&lt;label for="life-birthday">Birthday&lt;/label>
&lt;input id="life-birthday" name="life-birthday" type="date" value="1990-01-01">
&lt;/div>
&lt;div class="life-tool__field life-tool__field--short">
&lt;label for="life-years">Years&lt;/label>
&lt;input id="life-years" name="life-years" type="number" min="1" max="120" value="85">
&lt;/div>
&lt;p id="life-summary" class="life-tool__summary" aria-live="polite">Enter your birthday to draw the calendar.&lt;/p>
&lt;/div>
&lt;div class="life-tool__legend" aria-hidden="true">
&lt;span>&lt;i class="life-week life-week--spent">&lt;/i>Past weeks&lt;/span>
&lt;span>&lt;i class="life-week life-week--current">&lt;/i>This week&lt;/span>
&lt;span>&lt;i class="life-week life-week--future">&lt;/i>Future weeks&lt;/span>
&lt;/div>
&lt;div class="life-calendar-wrap">
&lt;div id="life-calendar-grid" class="life-calendar" aria-hidden="true">&lt;/div>
&lt;/div>
&lt;/div>
&lt;p class="life-tool__credit">
Inspired by &lt;a href="https://life-is-short.ad-si.com/">Life Is Short&lt;/a> by
&lt;a href="https://github.com/adius/life-is-short">Adrian Sieber&lt;/a>.
&lt;/p>
&lt;/section></description></item><item><title>Implicit-to-Mesh Conversion</title><link>https://wangsong004.github.io/project/implicit-to-mesh/</link><pubDate>Sat, 25 Apr 2026 00:00:00 +0000</pubDate><guid>https://wangsong004.github.io/project/implicit-to-mesh/</guid><description>&lt;p>Implicit-to-mesh conversion is a core step for bringing implicit modeling results into practical engineering workflows. The goal is to generate clean triangular meshes from field-based geometry while preserving surface detail, sharp transitions, and stable topology for later manufacturing, simulation, or geometry-processing operations.&lt;/p>
&lt;p>
&lt;figure id="figure-implicit-to-mesh-conversion">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Implicit-to-mesh conversion screenshot" srcset="
/project/implicit-to-mesh/featured_hu7a37c68f45c0e0cf8e37fcf2fc987055_82180_ab6d25eb97ee7bd4b491726c955f8e96.webp 400w,
/project/implicit-to-mesh/featured_hu7a37c68f45c0e0cf8e37fcf2fc987055_82180_fa9c84d604de1fc1b3fa16e3dea64104.webp 760w,
/project/implicit-to-mesh/featured_hu7a37c68f45c0e0cf8e37fcf2fc987055_82180_1200x1200_fit_q75_h2_lanczos.webp 1200w"
src="https://wangsong004.github.io/project/implicit-to-mesh/featured_hu7a37c68f45c0e0cf8e37fcf2fc987055_82180_ab6d25eb97ee7bd4b491726c955f8e96.webp"
width="760"
height="460"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
Implicit-to-mesh conversion
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;p>This project demonstrates a node-based workflow for converting implicit structures into triangular mesh data. The example combines field construction, BRep/FRep conversion, sampling, and triangulation to produce a detailed mesh result from an implicit model.&lt;/p>
&lt;h2 id="algorithm-focus">Algorithm Focus&lt;/h2>
&lt;p>The workflow focuses on practical robustness rather than only visual reconstruction quality. Important concerns include sampling resolution control, feature preservation, mesh density management, topology stability, and producing data that remains useful for later mesh processing.&lt;/p>
&lt;h2 id="engineering-workflow">Engineering Workflow&lt;/h2>
&lt;p>The screenshot shows a production-style visual pipeline where implicit operators and mesh conversion steps are composed as reusable nodes. This makes it easier to experiment with different conversion strategies and expose complex geometry algorithms through controllable engineering tools.&lt;/p>
&lt;h2 id="demo-video">Demo Video&lt;/h2>
&lt;p>Watch the demo on Bilibili: &lt;a href="https://www.bilibili.com/video/BV1XDoDBzEvK/?spm_id_from=333.1387.upload.video_card.click" target="_blank" rel="noopener">3 Voxeldance Design 隐式建模之隐式转成三角网格&lt;/a>&lt;/p></description></item><item><title>Removable Partial Denture (RPD) Framework Lattice Prop Generation</title><link>https://wangsong004.github.io/project/lattice_prop/</link><pubDate>Sun, 26 Jan 2025 00:00:00 +0000</pubDate><guid>https://wangsong004.github.io/project/lattice_prop/</guid><description>&lt;p>Lattice props help stabilize Removable Partial Denture (RPD) frameworks during build preparation and printing. Engineers can generate lattice reinforcement on the framework surface with a few clicks, improving distortion control while keeping the props easy to remove during post-processing.&lt;/p>
&lt;video controls >
&lt;source src="https://wangsong004.github.io/media/lattice_prop.mp4" type="video/mp4">
&lt;/video></description></item><item><title>Removable Partial Denture (RPD) Framework Orientation Optimization</title><link>https://wangsong004.github.io/project/rpd_orientation/</link><pubDate>Sun, 26 Jan 2025 00:00:00 +0000</pubDate><guid>https://wangsong004.github.io/project/rpd_orientation/</guid><description>&lt;p>Removable Partial Denture (RPD) framework nesting can be time-consuming when engineers must flip and orient many frames manually. This workflow analyzes framework geometry, classifies frame types, and helps engineers assign suitable orientations more quickly.&lt;/p>
&lt;p>By combining shape analysis with visual classification, the workflow can reduce placement work from hours to minutes and make the preparation process more repeatable.&lt;/p>
&lt;video controls >
&lt;source src="https://wangsong004.github.io/media/rpd.mp4" type="video/mp4">
&lt;/video></description></item><item><title>Advanced SLS 3D Model Nesting</title><link>https://wangsong004.github.io/project/3dnest/</link><pubDate>Sat, 25 Jan 2025 00:00:00 +0000</pubDate><guid>https://wangsong004.github.io/project/3dnest/</guid><description>&lt;p>Nesting is a critical build-preparation step for Powder Bed Fusion technologies such as Selective Laser Sintering (SLS). A good nesting workflow increases throughput by placing many parts into a single build while reducing wasted volume, print time, and operational risk.&lt;/p>
&lt;p>This project focuses on practical nesting methods for production environments where engineers handle large batches of parts every day. The workflow combines fast placement, controllable build objectives, and visual feedback for print-quality checks.&lt;/p>
&lt;h2 id="fast-nesting">Fast Nesting&lt;/h2>
&lt;p>For high-volume users, quick and repeatable results are essential. GPU acceleration helps generate accurate nesting results with a single click and can distribute parts across multiple platforms when the batch is too large for one build.&lt;/p>
&lt;h2 id="build-height-reduction">Build-Height Reduction&lt;/h2>
&lt;p>Reducing the maximum build height can shorten SLS build time and lower production cost. The algorithm can prioritize a lower Z height while still preserving spacing and collision constraints.&lt;/p>
&lt;p>
&lt;figure id="figure-reduce-build-height">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Reduce build height" srcset="
/project/3dnest/images/reduce_height_hu712cab570a74a1f007db31fc32d74264_412682_f8d8acdb0a816b19fea6b3691ee159a8.webp 400w,
/project/3dnest/images/reduce_height_hu712cab570a74a1f007db31fc32d74264_412682_fc5a6cdadc34be0429a63635e436bfdc.webp 760w,
/project/3dnest/images/reduce_height_hu712cab570a74a1f007db31fc32d74264_412682_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://wangsong004.github.io/project/3dnest/images/reduce_height_hu712cab570a74a1f007db31fc32d74264_412682_f8d8acdb0a816b19fea6b3691ee159a8.webp"
width="760"
height="428"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
Reduce build height
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;h2 id="slice-area-balancing">Slice-Area Balancing&lt;/h2>
&lt;p>Slice distribution is important for thermal stability in SLS printing. A more even layer-by-layer scan area helps reduce heat concentration and improves print reliability.&lt;/p>
&lt;p>
&lt;figure id="figure-slice-distribution">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Slice distribution" srcset="
/project/3dnest/images/slice_distribution_hub3e481a95183e2ec0d3bbc371d22bc0b_482052_8b7334c8e4dd94f347e3404424626c17.webp 400w,
/project/3dnest/images/slice_distribution_hub3e481a95183e2ec0d3bbc371d22bc0b_482052_5b36f658fb6c2499071c9f6fe5b432ad.webp 760w,
/project/3dnest/images/slice_distribution_hub3e481a95183e2ec0d3bbc371d22bc0b_482052_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://wangsong004.github.io/project/3dnest/images/slice_distribution_hub3e481a95183e2ec0d3bbc371d22bc0b_482052_8b7334c8e4dd94f347e3404424626c17.webp"
width="760"
height="428"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
Slice distribution
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;h2 id="combined-optimization">Combined Optimization&lt;/h2>
&lt;p>In production, nesting quality is not just about packing density. The workflow can consider build height, slice distribution, part spacing, and printing risk together to produce more reliable layouts.&lt;/p>
&lt;p>
&lt;figure id="figure-height-and-slice-distribution">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Height and slice distribution" srcset="
/project/3dnest/images/height_and_slice_distribution_hu8a5c20ecbb0e3dc7b7c1cafe88448aac_409908_7973e6d1e5993c3c150fee0c201c85ed.webp 400w,
/project/3dnest/images/height_and_slice_distribution_hu8a5c20ecbb0e3dc7b7c1cafe88448aac_409908_65713b62645e2b1dbe8245a7b5bbf8c9.webp 760w,
/project/3dnest/images/height_and_slice_distribution_hu8a5c20ecbb0e3dc7b7c1cafe88448aac_409908_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://wangsong004.github.io/project/3dnest/images/height_and_slice_distribution_hu8a5c20ecbb0e3dc7b7c1cafe88448aac_409908_7973e6d1e5993c3c150fee0c201c85ed.webp"
width="760"
height="428"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
Height and slice distribution
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;h2 id="part-classification-and-sinter-boxes">Part Classification and Sinter Boxes&lt;/h2>
&lt;p>Sub-nesting and classification help prevent small parts from getting lost, protect fragile parts, and group parts by customer or order. After classification, engineers can create labeled sinter boxes to simplify post-processing and delivery.&lt;/p>
&lt;p>
&lt;figure id="figure-sinter-boxes">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Sinter boxes" srcset="
/project/3dnest/images/sinter_box_hu6e3183af0bddab0a4ea64fe9265d6bdd_449268_4ac5558b8cf66cc33df1dfb8fcf983b4.webp 400w,
/project/3dnest/images/sinter_box_hu6e3183af0bddab0a4ea64fe9265d6bdd_449268_f010c79cbb49c8e5d7fd21d904387108.webp 760w,
/project/3dnest/images/sinter_box_hu6e3183af0bddab0a4ea64fe9265d6bdd_449268_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://wangsong004.github.io/project/3dnest/images/sinter_box_hu6e3183af0bddab0a4ea64fe9265d6bdd_449268_4ac5558b8cf66cc33df1dfb8fcf983b4.webp"
width="760"
height="427"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
Sinter boxes
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;p>The PDF version is available for download: &lt;a href="./3d_nest.pdf">3d_nest.pdf&lt;/a>&lt;/p></description></item><item><title>Song Wang</title><link>https://wangsong004.github.io/about/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://wangsong004.github.io/about/</guid><description/></item></channel></rss>