{"id":12114,"date":"2026-03-30T19:29:06","date_gmt":"2026-03-30T17:29:06","guid":{"rendered":"https:\/\/www.robinglauser.ch\/blog\/?p=12114"},"modified":"2026-03-30T19:29:06","modified_gmt":"2026-03-30T17:29:06","slug":"combining-3d-printing-and-pottery-part-iii-the-computer-part","status":"publish","type":"post","link":"https:\/\/www.robinglauser.ch\/blog\/2026\/03\/30\/combining-3d-printing-and-pottery-part-iii-the-computer-part\/","title":{"rendered":"Combining 3d printing and pottery: Part III: The computer part"},"content":{"rendered":"<p>So, the last part covered buying the 3D printer. What about the second part, creating a model?<\/p>\n<p>You can of course start with ready-made files and look for stamps or rollers you like. In Part V, I\u2019ll share a list of nice things you can 3D print for pottery.<\/p>\n<h3>Where to get ready-made files you can print<\/h3>\n<p>If you are looking for ready-made printable 3D models, check out <a href=\"https:\/\/www.thingiverse.com\" target=\"_blank\" rel=\"noopener\">Thingiverse<\/a>, <a href=\"https:\/\/makerworld.com\" target=\"_blank\" rel=\"noopener\">MakerWorld<\/a>, <a href=\"https:\/\/www.printables.com\" target=\"_blank\" rel=\"noopener\">Printables by Prusa<\/a>, <a href=\"https:\/\/www.myminifactory.com\" target=\"_blank\" rel=\"noopener\">MyMiniFactory<\/a>, <a href=\"https:\/\/cults3d.com\" target=\"_blank\" rel=\"noopener\">Cults3D<\/a>, <a href=\"https:\/\/thangs.com\" target=\"_blank\" rel=\"noopener\">Thangs<\/a>, <a href=\"https:\/\/www.crealitycloud.com\" target=\"_blank\" rel=\"noopener\">Creality Cloud<\/a>, and <a href=\"https:\/\/www.cgtrader.com\" target=\"_blank\" rel=\"noopener\">CGTrader<\/a>.<\/p>\n<p>In the last article of the series, I\u2019m going to share a list of useful, or not so useful, things you can print for pottery.<\/p>\n<p style=\"text-align: center;\"><em>Now, if you want to create your own custom stamp, the first thing you need is a 2D image.<\/em><\/p>\n<h3>Creating a 2D image<\/h3>\n<p>Since we are starting with stamps, we first need a 2D image that we want to turn into a stamp.<\/p>\n<p>And even for that, I\u2019ve got you covered.<\/p>\n<p>We can use <a class=\"has-link-meta\" href=\"https:\/\/www.canva.com\/templates\/s\/stamp\/\" data-title=\"Canva\" data-desc=\"A user friendly editor with which you can easily create digital art. Most useful things need the subscription though, but if you like to make posters, stamps or booklets it might be worth it.\" data-img=\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2025\/08\/CleanShot-2025-08-16-at-14.20.32@2x-400x207.png\">Canva<\/a>, which has lots of images and icons, and an interface that is easy to use. There are some limitations when exporting in specific file formats or using many elements in one design though, so for more advanced use you may need the paid version.<\/p>\n<p>For smaller corrections, I often use <a class=\"has-link-meta\" href=\"https:\/\/www.photopea.com\/\" data-title=\"Photopea\" data-desc=\"A online photoshop alternative. It's great because it uses mostly the same shortcuts, so all the trained muscle memory is finally useful again. \" data-img=\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2025\/08\/CleanShot-2025-08-16-at-14.21.16@2x.png\">Photopea<\/a>, which is an online version of Photoshop. It uses many of the same shortcuts, which makes it especially nice if you are already used to Photoshop.<\/p>\n<p>If you want to generate variations or get new design ideas, I often use the OpenAI Sora image generator. You can also use this inside ChatGPT, but generation might stop if you close the page.<\/p>\n<p>Sora is also useful if you want to convert an image into a simpler black-and-white version or into a specific style. Here is a prompt I use that works pretty well for converting images into black-and-white drawings that can then be used with the tools below. <strong>(Stolen from <a href=\"https:\/\/news.ycombinator.com\/item?id=43791992\">Hacker News<\/a>)<\/strong><\/p>\n<blockquote><p>Make this into a black white drawing. Bleed all the way to the edges. Background colour is #ffffff and lines are bold and #000000. There is no shading or cross-hatching.<\/p><\/blockquote>\n<p>For icons, I often use the <a class=\"has-link-meta\" href=\"https:\/\/thenounproject.com\/\" data-title=\"Noun Project\" data-desc=\"A website to find a lot of icons in svg format. You need to pay for a royalty free license though.\" data-img=\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2025\/09\/CleanShot-2025-09-16-at-13.10.04@2x.png\">Noun Project<\/a>. It offers a large number of icons in SVG and PNG format, which makes them convenient to use. If you want a royalty-free licence without attribution, you will need a paid plan.<\/p>\n<p>You can use <a href=\"https:\/\/potrace.sourceforge.net\/\" target=\"_blank\" rel=\"noopener\">Potrace<\/a> to convert raster graphics into SVGs, although it only works for black-and-white images. There is also an online PNG-to-SVG converter from Adobe that can handle colour images: <a href=\"https:\/\/www.adobe.com\/express\/feature\/image\/convert\/png-to-svg\" target=\"_blank\" rel=\"noopener\">Adobe PNG to SVG converter<\/a>.<\/p>\n<h3>Creating a 3D model from a 2D image with simple tools<\/h3>\n<p>There are multiple ways to create 3D models from 2D images. Each has its own pros and cons.<\/p>\n<h4>Stampfactory<\/h4>\n<figure id=\"attachment_11987\" aria-describedby=\"caption-attachment-11987\" style=\"width: 690px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-11987 size-full\" src=\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2025\/08\/CleanShot-2025-08-06-at-23.18.05.png\" alt=\"\" width=\"690\" height=\"135\" srcset=\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2025\/08\/CleanShot-2025-08-06-at-23.18.05.png 690w, https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2025\/08\/CleanShot-2025-08-06-at-23.18.05-400x78.png 400w\" sizes=\"auto, (max-width: 690px) 100vw, 690px\" \/><figcaption id=\"caption-attachment-11987\" class=\"wp-caption-text\">Some images will not work in Stampfactory, but it is still a very nice and easy way to get started.<\/figcaption><\/figure>\n<p>There is <a href=\"https:\/\/3km.ch\/stampfactory\/\">Stampfactory<\/a>, where you can upload a raster image and it generates an STL for a stamp, stencil, or badge. It is easy to get started, but it does not work equally well for all kinds of images, as you can see in the error above.<\/p>\n<h4>Cookiecad<\/h4>\n<figure id=\"attachment_11988\" aria-describedby=\"caption-attachment-11988\" style=\"width: 881px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/app.cookiecad.com\/\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-11988 size-full\" src=\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2025\/08\/app.cookiecad.com_-e1754516661823.png\" alt=\"\" width=\"881\" height=\"310\" srcset=\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2025\/08\/app.cookiecad.com_-e1754516661823.png 881w, https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2025\/08\/app.cookiecad.com_-e1754516661823-400x141.png 400w, https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2025\/08\/app.cookiecad.com_-e1754516661823-768x270.png 768w\" sizes=\"auto, (max-width: 881px) 100vw, 881px\" \/><\/a><figcaption id=\"caption-attachment-11988\" class=\"wp-caption-text\">The different things you can create with Cookiecad.<\/figcaption><\/figure>\n<p>There is another app called <a href=\"https:\/\/app.cookiecad.com\/\">Cookiecad<\/a>. It was originally made for creating cookie cutters, but it also supports other variations.<\/p>\n<p>Some of the cutter types and options are only available in the paid version, but the standard cutter is free.<\/p>\n<h4>Lithophane Maker to create rollers<\/h4>\n<p>If you want to create a roller or a curved stamp instead, there is a <a href=\"https:\/\/tool.itslitho.com\/EditImg\">lithophane maker<\/a> that can be repurposed for that.<\/p>\n<figure id=\"attachment_12011\" aria-describedby=\"caption-attachment-12011\" style=\"width: 1000px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-12011 size-full\" src=\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2025\/08\/CleanShot-2025-08-07-at-16.33.31.jpg\" alt=\"\" width=\"1000\" height=\"651\" srcset=\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2025\/08\/CleanShot-2025-08-07-at-16.33.31.jpg 1000w, https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2025\/08\/CleanShot-2025-08-07-at-16.33.31-400x260.jpg 400w, https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2025\/08\/CleanShot-2025-08-07-at-16.33.31-768x500.jpg 768w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><figcaption id=\"caption-attachment-12011\" class=\"wp-caption-text\">Even though the original idea is to use this to make lithophanes, you can also repurpose it to create rollers.<\/figcaption><\/figure>\n<p>Another lithophane tool is: <a href=\"https:\/\/3dp.rocks\/lithophane\/\">https:\/\/3dp.rocks\/lithophane\/<\/a><\/p>\n<h3>Creating a 3D model with CAD<\/h3>\n<p>If you want more control, you can also use CAD tools instead. They give you more freedom, but they also require more work.<\/p>\n<p>A tool that is nice for beginners is <a href=\"https:\/\/www.tinkercad.com\/dashboard\">Tinkercad<\/a>. It is an online 3D modelling program that can be learned quickly, but it also has some limitations if you want to create more complicated or even parametric models.<\/p>\n<p><strong>One important thing to know is that if you want to import SVG files into Tinkercad or other tools, it is a good idea to first open them in <a href=\"https:\/\/inkscape.org\/\">Inkscape<\/a> and convert the objects into paths. This reduces the number of SVG-specific features and makes the files more likely to import successfully.<\/strong><\/p>\n<p>If you want to create parametric models and hate yourself, you can learn <a href=\"https:\/\/openscad.org\/\">OpenSCAD<\/a>. With OpenSCAD, you can write code to generate models.<\/p>\n<p>Here you might benefit from using the <a href=\"https:\/\/github.com\/BelfrySCAD\/BOSL2\">BOSL2 library<\/a>, as it includes some nice features that make 3D modelling easier. Especially the <a href=\"https:\/\/github.com\/BelfrySCAD\/BOSL2\/wiki\/skin.scad#section-texturing\">texturing<\/a> can be useful after converting an image into a 2D heightmap.<\/p>\n<figure id=\"attachment_11989\" aria-describedby=\"caption-attachment-11989\" style=\"width: 790px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-11989 size-full\" src=\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2025\/08\/CleanShot-2025-08-06-at-23.34.38.png\" alt=\"\" width=\"790\" height=\"745\" srcset=\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2025\/08\/CleanShot-2025-08-06-at-23.34.38.png 790w, https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2025\/08\/CleanShot-2025-08-06-at-23.34.38-318x300.png 318w, https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2025\/08\/CleanShot-2025-08-06-at-23.34.38-768x724.png 768w\" sizes=\"auto, (max-width: 790px) 100vw, 790px\" \/><figcaption id=\"caption-attachment-11989\" class=\"wp-caption-text\">The original tool from BOSL2.<\/figcaption><\/figure>\n<p><a href=\"https:\/\/github.com\/BelfrySCAD\/BOSL2\/blob\/master\/scripts\/img2scad.html\">There is an HTML file<\/a> in the BOSL2 repository where you can upload an image and generate the heightmap.<\/p>\n<p>Unfortunately, the generated OpenSCAD does not create a ready-to-print stamp right away, and the tool is not hosted online. So I forked it and made some modifications so that the generated file contains code to create a stamp. I also added an auto-crop feature that removes white space around the image automatically.<\/p>\n<p>I published my adapted version here: <a href=\"https:\/\/nahakiole.github.io\/image-to-openscad\/\">https:\/\/nahakiole.github.io\/image-to-openscad\/<\/a><\/p>\n<figure id=\"attachment_11997\" aria-describedby=\"caption-attachment-11997\" style=\"width: 750px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-11997 size-large\" src=\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2025\/08\/CleanShot-2025-08-07-at-13.40.36-1024x769.png\" alt=\"\" width=\"750\" height=\"563\" srcset=\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2025\/08\/CleanShot-2025-08-07-at-13.40.36-1024x769.png 1024w, https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2025\/08\/CleanShot-2025-08-07-at-13.40.36-400x300.png 400w, https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2025\/08\/CleanShot-2025-08-07-at-13.40.36-768x577.png 768w, https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2025\/08\/CleanShot-2025-08-07-at-13.40.36.png 1341w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><figcaption id=\"caption-attachment-11997\" class=\"wp-caption-text\">My adapted version of the BOSL2 tool adds code to generate an actual stamp from the image.<\/figcaption><\/figure>\n<p>Do not forget to flip the image and invert the brightness, because the white parts of the image will be higher than the dark parts in the generated model. You can also mirror the model later in your slicer, just do not forget to do it, otherwise your stamp will not work.<\/p>\n<p>When you open the generated file in OpenSCAD, you get a ready-to-print 3D model, which you can export as an STL and then print.<\/p>\n<figure id=\"attachment_11995\" aria-describedby=\"caption-attachment-11995\" style=\"width: 750px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-11995 size-large\" src=\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2025\/08\/CleanShot-2025-08-07-at-13.15.58-1024x822.png\" alt=\"\" width=\"750\" height=\"602\" srcset=\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2025\/08\/CleanShot-2025-08-07-at-13.15.58-1024x822.png 1024w, https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2025\/08\/CleanShot-2025-08-07-at-13.15.58-374x300.png 374w, https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2025\/08\/CleanShot-2025-08-07-at-13.15.58-768x616.png 768w, https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2025\/08\/CleanShot-2025-08-07-at-13.15.58-1536x1232.png 1536w, https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2025\/08\/CleanShot-2025-08-07-at-13.15.58-2048x1643.png 2048w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><figcaption id=\"caption-attachment-11995\" class=\"wp-caption-text\">What the generated code looks like when rendered in OpenSCAD.<\/figcaption><\/figure>\n<h3>Printing the model<\/h3>\n<p>Once we have the model file ready, we get to the part where we can print it. This process depends a bit on your printer. Here I will talk about Bambu Studio, because that is the slicer I used.<\/p>\n<p>There are of course other slicers for other printers, such as Cura, PrusaSlicer, and more.<\/p>\n<p>To get started, we can drag the STL or other 3D model file into Bambu Studio.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-12001\" src=\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2025\/08\/CleanShot-2025-08-07-at-14.21.30.jpg\" alt=\"\" width=\"1000\" height=\"780\" srcset=\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2025\/08\/CleanShot-2025-08-07-at-14.21.30.jpg 1000w, https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2025\/08\/CleanShot-2025-08-07-at-14.21.30-385x300.jpg 385w, https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2025\/08\/CleanShot-2025-08-07-at-14.21.30-768x599.jpg 768w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/p>\n<p>Can you guess what is wrong in the image above?<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-12002\" src=\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2025\/08\/CleanShot-2025-08-07-at-14.25.48.png\" alt=\"\" width=\"951\" height=\"688\" srcset=\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2025\/08\/CleanShot-2025-08-07-at-14.25.48.png 951w, https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2025\/08\/CleanShot-2025-08-07-at-14.25.48-400x289.png 400w, https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2025\/08\/CleanShot-2025-08-07-at-14.25.48-768x556.png 768w\" sizes=\"auto, (max-width: 951px) 100vw, 951px\" \/><\/p>\n<p>Exactly, we need to mirror it, otherwise it will not work as a stamp.<\/p>\n<p>A nice feature of Bambu Studio is also the Simplify Model function.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-12003\" src=\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2025\/08\/CleanShot-2025-08-07-at-14.27.24.png\" alt=\"\" width=\"282\" height=\"119\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-12004\" src=\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2025\/08\/CleanShot-2025-08-07-at-14.28.02.png\" alt=\"\" width=\"398\" height=\"217\" \/><\/p>\n<p>This can reduce a 23 MB file to around 700 KB. Even if you do not use a Bambu Lab printer, this function can still be useful for making files smaller. I am looking at you, Cura, which can take quite a while to slice large models.<\/p>\n<p>I do not want to repeat everything from the <a href=\"https:\/\/wiki.bambulab.com\/en\/p1\/manual\/print-from-bambu-studio\">Bambu Lab wiki<\/a> here.<\/p>\n<p>The other parts:<\/p>\n<ul>\n<li><a href=\"https:\/\/www.robinglauser.ch\/blog\/2025\/09\/09\/combining-3d-printing-and-pottery-part-i-backstory\/\">Part I: Backstory<\/a><\/li>\n<li><a href=\"https:\/\/www.robinglauser.ch\/blog\/2025\/09\/11\/combining-3d-printing-and-pottery-part-ii-what-3d-printer-should-i-get\/\">Part II: What 3D printer should I get?<\/a><\/li>\n<li><strong>Part III: The computer part<\/strong><\/li>\n<li>Part IV: The pottery part<\/li>\n<li>Part V: Useful things for pottery you can 3D print<\/li>\n<\/ul>\n<script>\ndocument.addEventListener('DOMContentLoaded', function () {\n  \/\/ Optional: narrow scope here if you want (e.g. '.entry-content' or 'article')\n  const ROOT_SELECTOR = '.article-content';\n  const root = document.querySelector(ROOT_SELECTOR) || document.body;\n\n  \/\/ Headings where you do NOT want boxes (optional)\n  const EXCLUDE_SECTIONS_HEADING_TEXT = [\n    'tldr', \/\/ add 'tldr' here if you want to exclude that section by heading text\n  ];\n\n  \/\/ Known descriptions by domain\n  const DESCRIPTIONS = {\n    'bambulab.com': 'Bambu Lab printers, slicer, and docs.',\n    'wiki.bambulab.com': 'Bambu wiki with how-tos and guides.',\n    'ultimaker.com': 'Ultimaker printers and ecosystem.',\n    'thingiverse.com': 'Community library of printable 3D models.',\n    'makerworld.com': 'Model sharing platform by Bambu.',\n    'printables.com': 'Prusa 3D model platform.',\n    'printables.prusa3d.com': 'Prusa 3D model platform.',\n    'myminifactory.com': 'Curated marketplace for 3D models.',\n    'cults3d.com': 'Marketplace for paid and free STL files.',\n    'thangs.com': '3D model search and hosting.',\n    'crealitycloud.com': 'Creality model and printer cloud.',\n    'cgtrader.com': 'Large 3D marketplace incl. printable models.',\n    'canva.com': 'Templates and simple design tooling.',\n    'photopea.com': 'Browser based PSD editor.',\n    'thenounproject.com': 'Huge icon library in SVG and PNG.',\n    'sora.com': 'Sora image tools and gallery.',\n    'sourceforge.net': 'Open source hosting incl. Potrace.',\n    'adobe.com': 'Adobe online converters and tools.',\n    '3km.ch': 'Stampfactory one click stamp STL.',\n    'app.cookiecad.com': 'Cookie cutters, rollers, and stamps from images.',\n    'tool.itslitho.com': 'Lithophane tool, useful for rollers.',\n    'tinkercad.com': 'Beginner friendly browser CAD.',\n    'inkscape.org': 'Vector editor for SVG cleanup.',\n    'openscad.org': 'Scripted CAD for parametric models.',\n    'github.com': 'Code hosting like BOSL2 and forks.',\n    'nahakiole.github.io': 'Image to OpenSCAD stamp generator.'\n  };\n  const DEFAULT_DESC = 'Open the linked tool or resource.';\n\n  \/\/ Utility - check if a node is inside an excluded section (by nearest previous H2 text)\n  function isInExcludedSection(node) {\n\t  \n\t   if (node.closest('#comments')) {\n    return true;\n  }\n    \/\/ find the closest previous H2 sibling in the same parent chain\n    let cur = node;\n    while (cur && cur !== root) {\n      \/\/ Walk previous siblings looking for H2\n      let sib = cur.previousElementSibling;\n      while (sib) {\n        if (sib.tagName === 'H2') {\n          const txt = (sib.textContent || '').toLowerCase().replace(\/\\s+\/g, ' ').trim();\n          return EXCLUDE_SECTIONS_HEADING_TEXT.some(h =>\n            txt.includes(h.toLowerCase())\n          );\n        }\n        sib = sib.previousElementSibling;\n      }\n      cur = cur.parentElement;\n    }\n    return false;\n  }\n\n  function makeCard(title, desc, href, img, host) {\n    const col = document.createElement('div');\n    col.className = 'col';\n    const card = document.createElement('div');\n    card.className = 'card h-100';\n    card.dataset.linkbox = '1';\n    card.innerHTML = `\n      <div class=\"row g-0 align-items-center\">\n        <div class=\"col-3 col-sm-3\">\n          <svg class=\"img-fluid rounded-start\" viewBox=\"0 0 16 9\" style=\"width:100%;height:auto;display:block;background:#f0f2f5\">\n            <rect x=\"0\" y=\"0\" width=\"16\" height=\"9\" fill=\"#e5e7eb\"><\/rect>\n            <text x=\"50%\" y=\"50%\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"2.5\" fill=\"#9ca3af\">Preview<\/text>\n          <\/svg>\n        <\/div>\n        <div class=\"col-9 col-sm-9\">\n          <div class=\"card-body py-2\">\n            <h5 class=\"card-title mb-1\"><\/h5>\n            <p class=\"card-text small mb-2\"><\/p>\n            <a class=\"btn btn-primary btn-sm\" target=\"_blank\" rel=\"noopener\">Go to <\/a>\n          <\/div>\n        <\/div>\n      <\/div>\n    `;\n    card.querySelector('.card-title').textContent = title;\n    card.querySelector('.card-text').textContent = desc;\n    card.querySelector('a.btn').href = href;\n\t  \n    card.querySelector('a.btn').textContent = \"Go to \" + host;\n\n    const mediaHtml = img\n    ? `<img decoding=\"async\" class=\"img-fluid rounded-start\" src=\"${img}\" alt=\"${title}\">`\n    : `<svg class=\"img-fluid rounded-start\" viewBox=\"0 0 16 9\" style=\"width:100%;height:auto;display:block;background:#f0f2f5\">\n        <rect x=\"0\" y=\"0\" width=\"16\" height=\"9\" fill=\"#e5e7eb\"><\/rect>\n        <text x=\"50%\" y=\"50%\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-size=\"2.5\" fill=\"#9ca3af\">Preview<\/text>\n        <\/svg>`;\n    card.querySelector('.col-3').innerHTML = mediaHtml;\n\n    col.appendChild(card);\n    return col;\n  }\n\n  function processContainer(container) {\n    \/\/ Skip if already processed (group placed right after it)\n    if (container.nextElementSibling && container.nextElementSibling.dataset && container.nextElementSibling.dataset.linkboxGroup === '1') {\n      return;\n    }\n    if (isInExcludedSection(container)) return;\n\n    const links = Array.from(container.querySelectorAll('a[href]'))\n      .filter(a => {\n        const href = a.getAttribute('href') || '';\n        \/\/ Only make boxes for http(s) links\n        return \/^https?:\/i.test(href);\n      });\n\n    if (links.length === 0) return;\n\n    \/\/ Build a responsive row of cards\n    const group = document.createElement('div');\n    group.className = 'row row-cols-1 row-cols-sm-2 row-cols-lg-3 g-3 my-3';\n    group.dataset.linkboxGroup = '1';\n\n    links.forEach(a => {\n      let href = a.getAttribute('href');\n      let url;\n      try {\n        url = new URL(href, window.location.href);\n      } catch {\n        return;\n      }\n      const host  = url.hostname.replace(\/^www\\.\/, '');\n      const title = a.getAttribute('data-title') || (a.textContent || host).trim() || host;\n      const desc  = a.getAttribute('data-desc')  || DESCRIPTIONS[host] || DEFAULT_DESC;\n      const img   = a.getAttribute('data-img')   || '';\n      group.appendChild(makeCard(title, desc, url.toString(), img, host));\n    });\n\n    container.insertAdjacentElement('afterend', group);\n  }\n\n  const candidates = Array.from(root.querySelectorAll('p, ul, ol'))\n    .filter(el => el.querySelector('a[data-title]'));\n\n  candidates.forEach(processContainer);\n});\n<\/script>\n\n\n","protected":false},"excerpt":{"rendered":"<p class=\"excerpt\">So, the last part covered buying the 3D printer. What about the second part, creating a model? You can of course start with ready-made files and look for stamps or rollers you like. In Part V, I\u2019ll share a list of nice things you can 3D print for pottery. Where to get ready-made files you can print If you are &#8230; <a class=\"read-more\" href=\"https:\/\/www.robinglauser.ch\/blog\/2026\/03\/30\/combining-3d-printing-and-pottery-part-iii-the-computer-part\/\">Read More<\/a><\/p>\n","protected":false},"author":2,"featured_media":11997,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[45,508],"tags":[371,159,510,509],"class_list":["post-12114","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-development","category-pottery","tag-3d-printing","tag-design","tag-openscad","tag-pottery"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Combining 3d printing and pottery: Part III: The computer part - Robin Glauser<\/title>\n<meta name=\"description\" content=\"So that covers the first part of buying the 3D printer, what about the second part of creating a model. You can of course start with ready made files and might find stamps or rollers that you like.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.robinglauser.ch\/blog\/2026\/03\/30\/combining-3d-printing-and-pottery-part-iii-the-computer-part\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Combining 3d printing and pottery: Part III: The computer part - Robin Glauser\" \/>\n<meta property=\"og:description\" content=\"So that covers the first part of buying the 3D printer, what about the second part of creating a model. You can of course start with ready made files and might find stamps or rollers that you like.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.robinglauser.ch\/blog\/2026\/03\/30\/combining-3d-printing-and-pottery-part-iii-the-computer-part\/\" \/>\n<meta property=\"og:site_name\" content=\"Robin Glauser\" \/>\n<meta property=\"article:published_time\" content=\"2026-03-30T17:29:06+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2025\/08\/CleanShot-2025-08-07-at-13.40.36.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1341\" \/>\n\t<meta property=\"og:image:height\" content=\"1007\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Robin Glauser\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@robinglauser\" \/>\n<meta name=\"twitter:site\" content=\"@robinglauser\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Robin Glauser\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.robinglauser.ch\/blog\/2026\/03\/30\/combining-3d-printing-and-pottery-part-iii-the-computer-part\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.robinglauser.ch\/blog\/2026\/03\/30\/combining-3d-printing-and-pottery-part-iii-the-computer-part\/\"},\"author\":{\"name\":\"Robin Glauser\",\"@id\":\"https:\/\/www.robinglauser.ch\/blog\/#\/schema\/person\/e1a94504a6ff5171fa13670932514b19\"},\"headline\":\"Combining 3d printing and pottery: Part III: The computer part\",\"datePublished\":\"2026-03-30T17:29:06+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.robinglauser.ch\/blog\/2026\/03\/30\/combining-3d-printing-and-pottery-part-iii-the-computer-part\/\"},\"wordCount\":1253,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.robinglauser.ch\/blog\/#\/schema\/person\/e1a94504a6ff5171fa13670932514b19\"},\"image\":{\"@id\":\"https:\/\/www.robinglauser.ch\/blog\/2026\/03\/30\/combining-3d-printing-and-pottery-part-iii-the-computer-part\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2025\/08\/CleanShot-2025-08-07-at-13.40.36.png\",\"keywords\":[\"3D printing\",\"design\",\"openscad\",\"pottery\"],\"articleSection\":[\"Development\",\"Pottery\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.robinglauser.ch\/blog\/2026\/03\/30\/combining-3d-printing-and-pottery-part-iii-the-computer-part\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.robinglauser.ch\/blog\/2026\/03\/30\/combining-3d-printing-and-pottery-part-iii-the-computer-part\/\",\"url\":\"https:\/\/www.robinglauser.ch\/blog\/2026\/03\/30\/combining-3d-printing-and-pottery-part-iii-the-computer-part\/\",\"name\":\"Combining 3d printing and pottery: Part III: The computer part - Robin Glauser\",\"isPartOf\":{\"@id\":\"https:\/\/www.robinglauser.ch\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.robinglauser.ch\/blog\/2026\/03\/30\/combining-3d-printing-and-pottery-part-iii-the-computer-part\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.robinglauser.ch\/blog\/2026\/03\/30\/combining-3d-printing-and-pottery-part-iii-the-computer-part\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2025\/08\/CleanShot-2025-08-07-at-13.40.36.png\",\"datePublished\":\"2026-03-30T17:29:06+00:00\",\"description\":\"So that covers the first part of buying the 3D printer, what about the second part of creating a model. You can of course start with ready made files and might find stamps or rollers that you like.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.robinglauser.ch\/blog\/2026\/03\/30\/combining-3d-printing-and-pottery-part-iii-the-computer-part\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.robinglauser.ch\/blog\/2026\/03\/30\/combining-3d-printing-and-pottery-part-iii-the-computer-part\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.robinglauser.ch\/blog\/2026\/03\/30\/combining-3d-printing-and-pottery-part-iii-the-computer-part\/#primaryimage\",\"url\":\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2025\/08\/CleanShot-2025-08-07-at-13.40.36.png\",\"contentUrl\":\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2025\/08\/CleanShot-2025-08-07-at-13.40.36.png\",\"width\":1341,\"height\":1007,\"caption\":\"My image to 3d stamp generator\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.robinglauser.ch\/blog\/2026\/03\/30\/combining-3d-printing-and-pottery-part-iii-the-computer-part\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.robinglauser.ch\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Combining 3d printing and pottery: Part III: The computer part\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.robinglauser.ch\/blog\/#website\",\"url\":\"https:\/\/www.robinglauser.ch\/blog\/\",\"name\":\"Robin Glauser\",\"description\":\"My Blog about Development, Design and my random thoughts.\",\"publisher\":{\"@id\":\"https:\/\/www.robinglauser.ch\/blog\/#\/schema\/person\/e1a94504a6ff5171fa13670932514b19\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.robinglauser.ch\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/www.robinglauser.ch\/blog\/#\/schema\/person\/e1a94504a6ff5171fa13670932514b19\",\"name\":\"Robin Glauser\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/10\/DSC_1244_small.jpg\",\"url\":\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/10\/DSC_1244_small.jpg\",\"contentUrl\":\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/10\/DSC_1244_small.jpg\",\"width\":800,\"height\":530,\"caption\":\"Robin Glauser\"},\"logo\":{\"@id\":\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/10\/DSC_1244_small.jpg\"},\"description\":\"I'm a web developer.\",\"sameAs\":[\"https:\/\/www.robinglauser.ch\",\"https:\/\/www.instagram.com\/robinglauser\/\",\"https:\/\/x.com\/robinglauser\"],\"url\":\"https:\/\/www.robinglauser.ch\/blog\/author\/robin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Combining 3d printing and pottery: Part III: The computer part - Robin Glauser","description":"So that covers the first part of buying the 3D printer, what about the second part of creating a model. You can of course start with ready made files and might find stamps or rollers that you like.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.robinglauser.ch\/blog\/2026\/03\/30\/combining-3d-printing-and-pottery-part-iii-the-computer-part\/","og_locale":"en_US","og_type":"article","og_title":"Combining 3d printing and pottery: Part III: The computer part - Robin Glauser","og_description":"So that covers the first part of buying the 3D printer, what about the second part of creating a model. You can of course start with ready made files and might find stamps or rollers that you like.","og_url":"https:\/\/www.robinglauser.ch\/blog\/2026\/03\/30\/combining-3d-printing-and-pottery-part-iii-the-computer-part\/","og_site_name":"Robin Glauser","article_published_time":"2026-03-30T17:29:06+00:00","og_image":[{"width":1341,"height":1007,"url":"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2025\/08\/CleanShot-2025-08-07-at-13.40.36.png","type":"image\/png"}],"author":"Robin Glauser","twitter_card":"summary_large_image","twitter_creator":"@robinglauser","twitter_site":"@robinglauser","twitter_misc":{"Written by":"Robin Glauser","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.robinglauser.ch\/blog\/2026\/03\/30\/combining-3d-printing-and-pottery-part-iii-the-computer-part\/#article","isPartOf":{"@id":"https:\/\/www.robinglauser.ch\/blog\/2026\/03\/30\/combining-3d-printing-and-pottery-part-iii-the-computer-part\/"},"author":{"name":"Robin Glauser","@id":"https:\/\/www.robinglauser.ch\/blog\/#\/schema\/person\/e1a94504a6ff5171fa13670932514b19"},"headline":"Combining 3d printing and pottery: Part III: The computer part","datePublished":"2026-03-30T17:29:06+00:00","mainEntityOfPage":{"@id":"https:\/\/www.robinglauser.ch\/blog\/2026\/03\/30\/combining-3d-printing-and-pottery-part-iii-the-computer-part\/"},"wordCount":1253,"commentCount":0,"publisher":{"@id":"https:\/\/www.robinglauser.ch\/blog\/#\/schema\/person\/e1a94504a6ff5171fa13670932514b19"},"image":{"@id":"https:\/\/www.robinglauser.ch\/blog\/2026\/03\/30\/combining-3d-printing-and-pottery-part-iii-the-computer-part\/#primaryimage"},"thumbnailUrl":"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2025\/08\/CleanShot-2025-08-07-at-13.40.36.png","keywords":["3D printing","design","openscad","pottery"],"articleSection":["Development","Pottery"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.robinglauser.ch\/blog\/2026\/03\/30\/combining-3d-printing-and-pottery-part-iii-the-computer-part\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.robinglauser.ch\/blog\/2026\/03\/30\/combining-3d-printing-and-pottery-part-iii-the-computer-part\/","url":"https:\/\/www.robinglauser.ch\/blog\/2026\/03\/30\/combining-3d-printing-and-pottery-part-iii-the-computer-part\/","name":"Combining 3d printing and pottery: Part III: The computer part - Robin Glauser","isPartOf":{"@id":"https:\/\/www.robinglauser.ch\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.robinglauser.ch\/blog\/2026\/03\/30\/combining-3d-printing-and-pottery-part-iii-the-computer-part\/#primaryimage"},"image":{"@id":"https:\/\/www.robinglauser.ch\/blog\/2026\/03\/30\/combining-3d-printing-and-pottery-part-iii-the-computer-part\/#primaryimage"},"thumbnailUrl":"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2025\/08\/CleanShot-2025-08-07-at-13.40.36.png","datePublished":"2026-03-30T17:29:06+00:00","description":"So that covers the first part of buying the 3D printer, what about the second part of creating a model. You can of course start with ready made files and might find stamps or rollers that you like.","breadcrumb":{"@id":"https:\/\/www.robinglauser.ch\/blog\/2026\/03\/30\/combining-3d-printing-and-pottery-part-iii-the-computer-part\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.robinglauser.ch\/blog\/2026\/03\/30\/combining-3d-printing-and-pottery-part-iii-the-computer-part\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.robinglauser.ch\/blog\/2026\/03\/30\/combining-3d-printing-and-pottery-part-iii-the-computer-part\/#primaryimage","url":"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2025\/08\/CleanShot-2025-08-07-at-13.40.36.png","contentUrl":"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2025\/08\/CleanShot-2025-08-07-at-13.40.36.png","width":1341,"height":1007,"caption":"My image to 3d stamp generator"},{"@type":"BreadcrumbList","@id":"https:\/\/www.robinglauser.ch\/blog\/2026\/03\/30\/combining-3d-printing-and-pottery-part-iii-the-computer-part\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.robinglauser.ch\/blog\/"},{"@type":"ListItem","position":2,"name":"Combining 3d printing and pottery: Part III: The computer part"}]},{"@type":"WebSite","@id":"https:\/\/www.robinglauser.ch\/blog\/#website","url":"https:\/\/www.robinglauser.ch\/blog\/","name":"Robin Glauser","description":"My Blog about Development, Design and my random thoughts.","publisher":{"@id":"https:\/\/www.robinglauser.ch\/blog\/#\/schema\/person\/e1a94504a6ff5171fa13670932514b19"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.robinglauser.ch\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.robinglauser.ch\/blog\/#\/schema\/person\/e1a94504a6ff5171fa13670932514b19","name":"Robin Glauser","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/10\/DSC_1244_small.jpg","url":"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/10\/DSC_1244_small.jpg","contentUrl":"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/10\/DSC_1244_small.jpg","width":800,"height":530,"caption":"Robin Glauser"},"logo":{"@id":"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/10\/DSC_1244_small.jpg"},"description":"I'm a web developer.","sameAs":["https:\/\/www.robinglauser.ch","https:\/\/www.instagram.com\/robinglauser\/","https:\/\/x.com\/robinglauser"],"url":"https:\/\/www.robinglauser.ch\/blog\/author\/robin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.robinglauser.ch\/blog\/wp-json\/wp\/v2\/posts\/12114","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.robinglauser.ch\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.robinglauser.ch\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.robinglauser.ch\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.robinglauser.ch\/blog\/wp-json\/wp\/v2\/comments?post=12114"}],"version-history":[{"count":18,"href":"https:\/\/www.robinglauser.ch\/blog\/wp-json\/wp\/v2\/posts\/12114\/revisions"}],"predecessor-version":[{"id":12178,"href":"https:\/\/www.robinglauser.ch\/blog\/wp-json\/wp\/v2\/posts\/12114\/revisions\/12178"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.robinglauser.ch\/blog\/wp-json\/wp\/v2\/media\/11997"}],"wp:attachment":[{"href":"https:\/\/www.robinglauser.ch\/blog\/wp-json\/wp\/v2\/media?parent=12114"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.robinglauser.ch\/blog\/wp-json\/wp\/v2\/categories?post=12114"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.robinglauser.ch\/blog\/wp-json\/wp\/v2\/tags?post=12114"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}