<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>layouts — Onshape</title>
        <link>https://forum.onshape.com/</link>
        <pubDate>Wed, 26 Aug 2026 13:22:48 +0000</pubDate>
        <language>en</language>
            <description>layouts — Onshape</description>
    <atom:link href="https://forum.onshape.com/discussions/tagged/layouts/feed.rss" rel="self" type="application/rss+xml"/>
    <item>
        <title>New Custom Tool : SVG to Sketch</title>
        <link>https://forum.onshape.com/discussion/31483/new-custom-tool-svg-to-sketch</link>
        <pubDate>Sun, 02 Aug 2026 10:26:40 +0000</pubDate>
        <category>FeatureScript</category>
        <dc:creator>ChandraAwsome</dc:creator>
        <guid isPermaLink="false">31483@/discussions</guid>
        <description><![CDATA[<p></p><p>Hey all — long-time Onshape user, wanted to share something I've been building and using in production.</p><p><strong>The problem:</strong> Getting vector artwork (logos, cutout profiles, panel designs, icons) into Onshape as <em>real, editable sketch geometry</em> is annoying. DXF import can be inconsistent, and manually retracing SVGs with the sketch tools is a time sink.</p><p><strong>What I built:</strong> A web tool that takes an SVG file and converts it into native Onshape sketch entities — proper lines, arcs, and fitted splines — using a custom FeatureScript feature under the hood. It's not a raster/image import or a dumb flattened curve; it comes in as real sketch geometry you can constrain and edit normally.</p><p><strong>Features:</strong></p><ul><li>Upload SVG → get native sketch geometry in your Part Studio</li><li>Target width parameter to scale on import</li><li>Drag manipulators for X/Y position, rotation, and scale — right in the sketch, no re-import needed to reposition</li><li>Currently extending it to accept raster images (PNG/JPG) too, via an image-to-vector preprocessing step</li></ul><p><strong>Status:</strong> It's fully functional and I use it daily, but it hasn't been approved on the Onshape App Store yet. So for now it's a standalone external web app you use alongside Onshape rather than an in-app extension.</p><p>Custom Tool need to be added : <a href="https://cad.onshape.com/documents/c201c83c91a83aade27337d1/v/fa88b35f1753d1f6f757a891/e/09d98a5bdcf6272e418d3ec2" rel="noopener noreferrer ugc nofollow">https://cad.onshape.com/documents/c201c83c91a83aade27337d1/v/fa88b35f1753d1f6f757a891/e/09d98a5bdcf6272e418d3ec2</a></p><p><strong>Link:</strong> <a href="https://svgto-onshape.vercel.app/" target="_blank" rel="nofollow noopener ugc">https://svgto-onshape.vercel.app</a></p><p>You'll need your Onshape document/workspace/element IDs (visible in your document URL) to point the tool at the right place.</p><p>Happy to answer questions about the workflow, limitations, or what it can/can't handle geometry-wise. Feedback welcome — especially edge cases that break it.</p><span data-embedjson="{&quot;url&quot;:&quot;https:\/\/us.v-cdn.net\/5022071\/uploads\/Y4COHEHWOSCX\/built-a-tool-that-converts-svg-files-into-native-onshape-v0-83wrjba2sxgh1.png&quot;,&quot;name&quot;:&quot;built-a-tool-that-converts-svg-files-into-native-onshape-v0-83wrjba2sxgh1.png&quot;,&quot;type&quot;:&quot;image\/png&quot;,&quot;size&quot;:245183,&quot;width&quot;:1080,&quot;height&quot;:488,&quot;displaySize&quot;:&quot;large&quot;,&quot;float&quot;:&quot;none&quot;,&quot;downloadUrl&quot;:&quot;https:\/\/forum.onshape.com\/api\/v2\/media\/download-by-url?url=https%3A%2F%2Fus.v-cdn.net%2F5022071%2Fuploads%2FY4COHEHWOSCX%2Fbuilt-a-tool-that-converts-svg-files-into-native-onshape-v0-83wrjba2sxgh1.png&quot;,&quot;active&quot;:true,&quot;mediaID&quot;:57447,&quot;dateInserted&quot;:&quot;2026-08-02T10:26:17+00:00&quot;,&quot;insertUserID&quot;:52154,&quot;foreignType&quot;:&quot;embed&quot;,&quot;foreignID&quot;:&quot;52154&quot;,&quot;embedType&quot;:&quot;image&quot;,&quot;embedStyle&quot;:&quot;rich_embed_card&quot;}">
    <span>
        <a href="https://us.v-cdn.net/5022071/uploads/Y4COHEHWOSCX/built-a-tool-that-converts-svg-files-into-native-onshape-v0-83wrjba2sxgh1.png" rel="nofollow noopener ugc" target="_blank">
            <img src="https://us.v-cdn.net/5022071/uploads/Y4COHEHWOSCX/built-a-tool-that-converts-svg-files-into-native-onshape-v0-83wrjba2sxgh1.png" alt="built-a-tool-that-converts-svg-files-into-native-onshape-v0-83wrjba2sxgh1.png" height="488" width="1080" data-display-size="large" data-float="none" data-type="image/png" data-embed-type="image" srcset="https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=300, width=300/5022071/uploads/Y4COHEHWOSCX/built-a-tool-that-converts-svg-files-into-native-onshape-v0-83wrjba2sxgh1.png 300w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=600, width=600/5022071/uploads/Y4COHEHWOSCX/built-a-tool-that-converts-svg-files-into-native-onshape-v0-83wrjba2sxgh1.png 600w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=800, width=800/5022071/uploads/Y4COHEHWOSCX/built-a-tool-that-converts-svg-files-into-native-onshape-v0-83wrjba2sxgh1.png 800w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=1200, width=1200/5022071/uploads/Y4COHEHWOSCX/built-a-tool-that-converts-svg-files-into-native-onshape-v0-83wrjba2sxgh1.png 1200w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=1600, width=1600/5022071/uploads/Y4COHEHWOSCX/built-a-tool-that-converts-svg-files-into-native-onshape-v0-83wrjba2sxgh1.png 1600w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=2000, width=2000/5022071/uploads/Y4COHEHWOSCX/built-a-tool-that-converts-svg-files-into-native-onshape-v0-83wrjba2sxgh1.png 2000w, https://us.v-cdn.net/5022071/uploads/Y4COHEHWOSCX/built-a-tool-that-converts-svg-files-into-native-onshape-v0-83wrjba2sxgh1.png" sizes="100vw" /></a>
    </span>
</span>
<span data-embedjson="{&quot;url&quot;:&quot;https:\/\/us.v-cdn.net\/5022071\/uploads\/H7S1GZ0EA3SX\/built-a-tool-that-converts-svg-files-into-native-onshape-v0-i8nvcx9vrxgh1.png&quot;,&quot;name&quot;:&quot;built-a-tool-that-converts-svg-files-into-native-onshape-v0-i8nvcx9vrxgh1.png&quot;,&quot;type&quot;:&quot;image\/png&quot;,&quot;size&quot;:261418,&quot;width&quot;:1080,&quot;height&quot;:488,&quot;displaySize&quot;:&quot;large&quot;,&quot;float&quot;:&quot;none&quot;,&quot;downloadUrl&quot;:&quot;https:\/\/forum.onshape.com\/api\/v2\/media\/download-by-url?url=https%3A%2F%2Fus.v-cdn.net%2F5022071%2Fuploads%2FH7S1GZ0EA3SX%2Fbuilt-a-tool-that-converts-svg-files-into-native-onshape-v0-i8nvcx9vrxgh1.png&quot;,&quot;active&quot;:true,&quot;mediaID&quot;:57446,&quot;dateInserted&quot;:&quot;2026-08-02T10:26:17+00:00&quot;,&quot;insertUserID&quot;:52154,&quot;foreignType&quot;:&quot;embed&quot;,&quot;foreignID&quot;:&quot;52154&quot;,&quot;embedType&quot;:&quot;image&quot;,&quot;embedStyle&quot;:&quot;rich_embed_card&quot;}">
    <span>
        <a href="https://us.v-cdn.net/5022071/uploads/H7S1GZ0EA3SX/built-a-tool-that-converts-svg-files-into-native-onshape-v0-i8nvcx9vrxgh1.png" rel="nofollow noopener ugc" target="_blank">
            <img src="https://us.v-cdn.net/5022071/uploads/H7S1GZ0EA3SX/built-a-tool-that-converts-svg-files-into-native-onshape-v0-i8nvcx9vrxgh1.png" alt="built-a-tool-that-converts-svg-files-into-native-onshape-v0-i8nvcx9vrxgh1.png" height="488" width="1080" data-display-size="large" data-float="none" data-type="image/png" data-embed-type="image" srcset="https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=300, width=300/5022071/uploads/H7S1GZ0EA3SX/built-a-tool-that-converts-svg-files-into-native-onshape-v0-i8nvcx9vrxgh1.png 300w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=600, width=600/5022071/uploads/H7S1GZ0EA3SX/built-a-tool-that-converts-svg-files-into-native-onshape-v0-i8nvcx9vrxgh1.png 600w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=800, width=800/5022071/uploads/H7S1GZ0EA3SX/built-a-tool-that-converts-svg-files-into-native-onshape-v0-i8nvcx9vrxgh1.png 800w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=1200, width=1200/5022071/uploads/H7S1GZ0EA3SX/built-a-tool-that-converts-svg-files-into-native-onshape-v0-i8nvcx9vrxgh1.png 1200w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=1600, width=1600/5022071/uploads/H7S1GZ0EA3SX/built-a-tool-that-converts-svg-files-into-native-onshape-v0-i8nvcx9vrxgh1.png 1600w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=2000, width=2000/5022071/uploads/H7S1GZ0EA3SX/built-a-tool-that-converts-svg-files-into-native-onshape-v0-i8nvcx9vrxgh1.png 2000w, https://us.v-cdn.net/5022071/uploads/H7S1GZ0EA3SX/built-a-tool-that-converts-svg-files-into-native-onshape-v0-i8nvcx9vrxgh1.png" sizes="100vw" /></a>
    </span>
</span>
<span data-embedjson="{&quot;url&quot;:&quot;https:\/\/us.v-cdn.net\/5022071\/uploads\/87AAFVBS0XH9\/built-a-tool-that-converts-svg-files-into-native-onshape-v0-v6nb0mzyrxgh1.png&quot;,&quot;name&quot;:&quot;built-a-tool-that-converts-svg-files-into-native-onshape-v0-v6nb0mzyrxgh1.png&quot;,&quot;type&quot;:&quot;image\/png&quot;,&quot;size&quot;:174457,&quot;width&quot;:1080,&quot;height&quot;:488,&quot;displaySize&quot;:&quot;large&quot;,&quot;float&quot;:&quot;none&quot;,&quot;downloadUrl&quot;:&quot;https:\/\/forum.onshape.com\/api\/v2\/media\/download-by-url?url=https%3A%2F%2Fus.v-cdn.net%2F5022071%2Fuploads%2F87AAFVBS0XH9%2Fbuilt-a-tool-that-converts-svg-files-into-native-onshape-v0-v6nb0mzyrxgh1.png&quot;,&quot;active&quot;:true,&quot;mediaID&quot;:57445,&quot;dateInserted&quot;:&quot;2026-08-02T10:26:17+00:00&quot;,&quot;insertUserID&quot;:52154,&quot;foreignType&quot;:&quot;embed&quot;,&quot;foreignID&quot;:&quot;52154&quot;,&quot;embedType&quot;:&quot;image&quot;,&quot;embedStyle&quot;:&quot;rich_embed_card&quot;}">
    <span>
        <a href="https://us.v-cdn.net/5022071/uploads/87AAFVBS0XH9/built-a-tool-that-converts-svg-files-into-native-onshape-v0-v6nb0mzyrxgh1.png" rel="nofollow noopener ugc" target="_blank">
            <img src="https://us.v-cdn.net/5022071/uploads/87AAFVBS0XH9/built-a-tool-that-converts-svg-files-into-native-onshape-v0-v6nb0mzyrxgh1.png" alt="built-a-tool-that-converts-svg-files-into-native-onshape-v0-v6nb0mzyrxgh1.png" height="488" width="1080" data-display-size="large" data-float="none" data-type="image/png" data-embed-type="image" srcset="https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=300, width=300/5022071/uploads/87AAFVBS0XH9/built-a-tool-that-converts-svg-files-into-native-onshape-v0-v6nb0mzyrxgh1.png 300w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=600, width=600/5022071/uploads/87AAFVBS0XH9/built-a-tool-that-converts-svg-files-into-native-onshape-v0-v6nb0mzyrxgh1.png 600w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=800, width=800/5022071/uploads/87AAFVBS0XH9/built-a-tool-that-converts-svg-files-into-native-onshape-v0-v6nb0mzyrxgh1.png 800w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=1200, width=1200/5022071/uploads/87AAFVBS0XH9/built-a-tool-that-converts-svg-files-into-native-onshape-v0-v6nb0mzyrxgh1.png 1200w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=1600, width=1600/5022071/uploads/87AAFVBS0XH9/built-a-tool-that-converts-svg-files-into-native-onshape-v0-v6nb0mzyrxgh1.png 1600w, https://us.v-cdn.net/cdn-cgi/image/quality=80, format=auto, fit=scale-down, height=2000, width=2000/5022071/uploads/87AAFVBS0XH9/built-a-tool-that-converts-svg-files-into-native-onshape-v0-v6nb0mzyrxgh1.png 2000w, https://us.v-cdn.net/5022071/uploads/87AAFVBS0XH9/built-a-tool-that-converts-svg-files-into-native-onshape-v0-v6nb0mzyrxgh1.png" sizes="100vw" /></a>
    </span>
</span>
]]>
        </description>
    </item>
   </channel>
</rss>
