svg2scad2cc/svg2scad2cc.inx

72 lines
3.9 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>OpenSCAD cookie-cutter/stamp export </_name>
<id>eu.citizen4.forge.svg2scad2cc</id>
<dependency type="extension">org.inkscape.output.svg.inkscape</dependency>
<dependency type="executable" location="extensions">svg2scad2cc.py</dependency>
<output>
<extension>.scad</extension>
<mimetype>text/plain</mimetype>
<_filetypename>OpenSCAD cookie-cutter/stamp (*.scad)</_filetypename>
<_filetypetooltip>Export an OpenSCAD cookie-cutter/stamp</_filetypetooltip>
<dataloss>true</dataloss>
</output>
<script>
<command reldir="extensions" interpreter="python">svg2scad2cc.py</command>
</script>
<param name="tab" type="notebook">
<page name="controls" gui-text="Controls">
<param name="wallHeight" type="float" min="0" step="0.1" gui-text="Wall height (mm)">12.0</param>
<param name="minWallThickness" type="float" min="0" step="0.1" gui-text="Minimum outer wall thickness (mm)">1.6</param>
<param name="maxWallThickness" type="float" min="0" step="0.1" gui-text="Maximum outer wall thickness (mm)">1.6</param>
<param name="minInsideWallThickness" type="float" min="0" step="0.1" gui-text="Minimum inner wall thickness (mm)">1.6</param>
<param name="maxInsideWallThickness" type="float" min="0" step="0.1" gui-text="Maximum inner wall thickness (mm)">1.6</param>
<label gui-text="spacer"> </label>
<param name="wallFlareWidth" type="float" min="0" step="0.1" gui-text="Outer flare width (mm)">8.0</param>
<param name="wallFlareThickness" type="float" min="0" step="0.1" gui-text="Outer flare thickness (mm)">2.0</param>
<param name="insideWallFlareWidth" type="float" min="0" step="0.1" gui-text="Inner flare width (mm)">5.0</param>
<param name="insideWallFlareThickness" type="float" min="0" step="0.1" gui-text="Inner flare thickness (mm)">1.6</param>
<param name="featureHeight" type="float" min="0" step="0.1" gui-text="Feature (non-cut) height (mm)">1.0</param>
<param name="minFeatureThickness" type="float" min="0" step="0.1" gui-text="Minimum feature thickness (mm)">1.0</param>
<param name="maxFeatureThickness" type="float" min="0" step="0.1" gui-text="Maximum feature thickness (mm)">3.0</param>
<param name="connectorThickness" type="float" min="0" step="0.1" gui-text="Connector thickness (mm)">1.6</param>
<param name="cuttingTaperHeight" type="float" min="0" step="0.1" gui-text="Cutting taper height (mm)">3.0</param>
<param name="cuttingEdgeThickness" type="float" min="0" step="0.1" gui-text="Cutting edge thickness (mm)">0.8</param>
<param name="demouldingPlateHeight" type="float" min="0" step="0.1" gui-text="Demoulding plate height (mm)">2.0</param>
<param name="demouldingPlateSlack" type="float" min="0" step="0.1" gui-text="Demoulding plate slack / clearance (mm)">0.5</param>
<!-- Other exporter options -->
<param name="tolerance" type="float" min="0.0001" step="0.0001" gui-text="Approximation tolerance">0.1</param>
<param name="strokeAll" type="boolean" gui-text="Treat all paths as stroked (force stroke behavior)">false</param>
</page>
<page name="help" gui-text="Help">
<label xml:space="preserve">Svg -> OpenSCAD -> Cookie cutter
Generate OpenSCAD for 3D-printable cookie cutter (with plate and stamp):
RED - (no fill) outer outline (cut) wall.
GREEN - (no fill) inner (cut) walls.
BLACK - (no fill) inner features. If plate selected - stamp features.
ANY - (no stroke) filled-in polygons - connect inner parts to the outside outline. </label>
</page>
<page name="about" gui-text="About">
<label xml:space="preserve">
Svg2OpenSCAD2Cookiecutter
(c) 2025 Miklo GPL v3.0
Main code derived from gcodeplot (c) Alexander R. Pruss
SVG path code (c) Lennart Regebro, Justin Gruenberg
</label>
</page>
</param>
</inkscape-extension>