condensed stl font
|
@ -23,17 +23,17 @@
|
||||||
borderopacity="1.0"
|
borderopacity="1.0"
|
||||||
inkscape:pageopacity="0.0"
|
inkscape:pageopacity="0.0"
|
||||||
inkscape:pageshadow="2"
|
inkscape:pageshadow="2"
|
||||||
inkscape:zoom="10.270466"
|
inkscape:zoom="20.540932"
|
||||||
inkscape:cx="-8.3938354"
|
inkscape:cx="3.3726703"
|
||||||
inkscape:cy="-3.3545709"
|
inkscape:cy="-0.099609255"
|
||||||
inkscape:document-units="px"
|
inkscape:document-units="px"
|
||||||
inkscape:current-layer="layer1"
|
inkscape:current-layer="layer1"
|
||||||
inkscape:document-rotation="0"
|
inkscape:document-rotation="0"
|
||||||
showgrid="false"
|
showgrid="false"
|
||||||
inkscape:window-width="1514"
|
inkscape:window-width="1514"
|
||||||
inkscape:window-height="1199"
|
inkscape:window-height="1199"
|
||||||
inkscape:window-x="254"
|
inkscape:window-x="1031"
|
||||||
inkscape:window-y="48"
|
inkscape:window-y="111"
|
||||||
inkscape:window-maximized="0"
|
inkscape:window-maximized="0"
|
||||||
units="px"
|
units="px"
|
||||||
inkscape:snap-object-midpoints="true"
|
inkscape:snap-object-midpoints="true"
|
||||||
|
@ -47,7 +47,7 @@
|
||||||
<dc:format>image/svg+xml</dc:format>
|
<dc:format>image/svg+xml</dc:format>
|
||||||
<dc:type
|
<dc:type
|
||||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
<dc:title></dc:title>
|
<dc:title />
|
||||||
</cc:Work>
|
</cc:Work>
|
||||||
</rdf:RDF>
|
</rdf:RDF>
|
||||||
</metadata>
|
</metadata>
|
||||||
|
@ -56,34 +56,34 @@
|
||||||
inkscape:groupmode="layer"
|
inkscape:groupmode="layer"
|
||||||
id="layer1">
|
id="layer1">
|
||||||
<path
|
<path
|
||||||
style="fill:none;fill-opacity:0.7;stroke:#000000;stroke-width:1.5;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none"
|
style="fill:none;fill-opacity:0.7;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none"
|
||||||
id="path1525"
|
id="path1525"
|
||||||
sodipodi:type="arc"
|
sodipodi:type="arc"
|
||||||
sodipodi:cx="1.25"
|
sodipodi:cx="1.75"
|
||||||
sodipodi:cy="13.60833"
|
sodipodi:cy="13.631019"
|
||||||
sodipodi:rx="13"
|
sodipodi:rx="12.5"
|
||||||
sodipodi:ry="13"
|
sodipodi:ry="12.5"
|
||||||
sodipodi:start="5.2359878"
|
sodipodi:start="5.2879172"
|
||||||
sodipodi:end="0.0017453293"
|
sodipodi:end="6.1912839"
|
||||||
sodipodi:arc-type="arc"
|
sodipodi:arc-type="arc"
|
||||||
d="M 7.75,2.3499995 A 13,13 0 0 1 14.24998,13.631019"
|
d="M 8.5534749,3.1447071 A 12.5,12.5 0 0 1 14.19725,12.483867"
|
||||||
sodipodi:open="true" />
|
sodipodi:open="true" />
|
||||||
<rect
|
<rect
|
||||||
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
id="rect1542-6"
|
id="rect1542-6"
|
||||||
width="2"
|
width="2"
|
||||||
height="2"
|
height="2"
|
||||||
x="0.75"
|
x="0.75"
|
||||||
y="12.631019" />
|
y="12.631019" />
|
||||||
<rect
|
<rect
|
||||||
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
id="rect1542-6-7"
|
id="rect1542-6-7"
|
||||||
width="2"
|
width="2"
|
||||||
height="2"
|
height="2"
|
||||||
x="6.75"
|
x="6.75"
|
||||||
y="1.3499995" />
|
y="1.3499995" />
|
||||||
<rect
|
<rect
|
||||||
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
id="rect1542-6-5"
|
id="rect1542-6-5"
|
||||||
width="2"
|
width="2"
|
||||||
height="2"
|
height="2"
|
||||||
|
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB |
|
@ -0,0 +1,80 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
width="16"
|
||||||
|
height="16"
|
||||||
|
viewBox="0 0 16 16.000001"
|
||||||
|
version="1.1"
|
||||||
|
id="svg2112"
|
||||||
|
inkscape:version="1.0.2 (1.0.2+r75+1)"
|
||||||
|
sodipodi:docname="coincident.svg">
|
||||||
|
<defs
|
||||||
|
id="defs2106" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="base"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:zoom="19.921568"
|
||||||
|
inkscape:cx="1.0216501"
|
||||||
|
inkscape:cy="10.08649"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
inkscape:document-rotation="0"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:window-width="1514"
|
||||||
|
inkscape:window-height="964"
|
||||||
|
inkscape:window-x="749"
|
||||||
|
inkscape:window-y="270"
|
||||||
|
inkscape:window-maximized="0"
|
||||||
|
units="px"
|
||||||
|
inkscape:snap-object-midpoints="true"
|
||||||
|
inkscape:snap-text-baseline="true"
|
||||||
|
inkscape:snap-center="true" />
|
||||||
|
<metadata
|
||||||
|
id="metadata2109">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title />
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1">
|
||||||
|
<rect
|
||||||
|
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
id="rect1542-6-5-6-2"
|
||||||
|
width="2"
|
||||||
|
height="2"
|
||||||
|
x="7"
|
||||||
|
y="7" />
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:0.982777;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
d="M 1.8474908,14.153035 6.1524276,9.8474375"
|
||||||
|
id="path835"
|
||||||
|
sodipodi:nodetypes="cc" />
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:0.982777;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
d="M 9.8474908,6.1530346 14.152427,1.8474375"
|
||||||
|
id="path835-3"
|
||||||
|
sodipodi:nodetypes="cc" />
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:1.51049;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
d="m 10.033977,10.0341 3.932517,3.931609"
|
||||||
|
id="path895" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 2.7 KiB |
|
@ -0,0 +1,172 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
width="16"
|
||||||
|
height="16"
|
||||||
|
fill="currentColor"
|
||||||
|
class="bi bi-intersect"
|
||||||
|
viewBox="0 0 16 16"
|
||||||
|
version="1.1"
|
||||||
|
id="svg4"
|
||||||
|
sodipodi:docname="horizontal.svg"
|
||||||
|
inkscape:version="1.0.2 (1.0.2+r75+1)">
|
||||||
|
<metadata
|
||||||
|
id="metadata10">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title></dc:title>
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<defs
|
||||||
|
id="defs8">
|
||||||
|
<marker
|
||||||
|
style="overflow:visible"
|
||||||
|
id="TriangleInS"
|
||||||
|
refX="0.0"
|
||||||
|
refY="0.0"
|
||||||
|
orient="auto"
|
||||||
|
inkscape:stockid="TriangleInS"
|
||||||
|
inkscape:isstock="true">
|
||||||
|
<path
|
||||||
|
transform="scale(-0.2)"
|
||||||
|
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
|
||||||
|
d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
|
||||||
|
id="path2009" />
|
||||||
|
</marker>
|
||||||
|
<marker
|
||||||
|
style="overflow:visible"
|
||||||
|
id="marker2364"
|
||||||
|
refX="0.0"
|
||||||
|
refY="0.0"
|
||||||
|
orient="auto"
|
||||||
|
inkscape:stockid="TriangleOutS"
|
||||||
|
inkscape:isstock="true">
|
||||||
|
<path
|
||||||
|
transform="scale(0.2)"
|
||||||
|
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
|
||||||
|
d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
|
||||||
|
id="path2362" />
|
||||||
|
</marker>
|
||||||
|
<marker
|
||||||
|
style="overflow:visible"
|
||||||
|
id="StopS"
|
||||||
|
refX="0.0"
|
||||||
|
refY="0.0"
|
||||||
|
orient="auto"
|
||||||
|
inkscape:stockid="StopS"
|
||||||
|
inkscape:isstock="true">
|
||||||
|
<path
|
||||||
|
transform="scale(0.2)"
|
||||||
|
style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
||||||
|
d="M 0.0,5.65 L 0.0,-5.65"
|
||||||
|
id="path2045" />
|
||||||
|
</marker>
|
||||||
|
<marker
|
||||||
|
style="overflow:visible;"
|
||||||
|
id="marker2268"
|
||||||
|
refX="0.0"
|
||||||
|
refY="0.0"
|
||||||
|
orient="auto"
|
||||||
|
inkscape:stockid="Arrow2Send"
|
||||||
|
inkscape:isstock="true">
|
||||||
|
<path
|
||||||
|
transform="scale(0.3) rotate(180) translate(-2.3,0)"
|
||||||
|
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
|
||||||
|
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
|
||||||
|
id="path2266" />
|
||||||
|
</marker>
|
||||||
|
<marker
|
||||||
|
style="overflow:visible"
|
||||||
|
id="TriangleOutS"
|
||||||
|
refX="0.0"
|
||||||
|
refY="0.0"
|
||||||
|
orient="auto"
|
||||||
|
inkscape:stockid="TriangleOutS"
|
||||||
|
inkscape:isstock="true">
|
||||||
|
<path
|
||||||
|
transform="scale(0.2)"
|
||||||
|
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
|
||||||
|
d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
|
||||||
|
id="path2018" />
|
||||||
|
</marker>
|
||||||
|
<marker
|
||||||
|
style="overflow:visible;"
|
||||||
|
id="Arrow2Send"
|
||||||
|
refX="0.0"
|
||||||
|
refY="0.0"
|
||||||
|
orient="auto"
|
||||||
|
inkscape:stockid="Arrow2Send"
|
||||||
|
inkscape:isstock="true">
|
||||||
|
<path
|
||||||
|
transform="scale(0.3) rotate(180) translate(-2.3,0)"
|
||||||
|
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
|
||||||
|
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
|
||||||
|
id="path1903" />
|
||||||
|
</marker>
|
||||||
|
<marker
|
||||||
|
style="overflow:visible;"
|
||||||
|
id="Arrow1Send"
|
||||||
|
refX="0.0"
|
||||||
|
refY="0.0"
|
||||||
|
orient="auto"
|
||||||
|
inkscape:stockid="Arrow1Send"
|
||||||
|
inkscape:isstock="true">
|
||||||
|
<path
|
||||||
|
transform="scale(0.2) rotate(180) translate(6,0)"
|
||||||
|
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
|
||||||
|
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||||
|
id="path1885" />
|
||||||
|
</marker>
|
||||||
|
<marker
|
||||||
|
style="overflow:visible"
|
||||||
|
id="Arrow1Lstart"
|
||||||
|
refX="0.0"
|
||||||
|
refY="0.0"
|
||||||
|
orient="auto"
|
||||||
|
inkscape:stockid="Arrow1Lstart"
|
||||||
|
inkscape:isstock="true">
|
||||||
|
<path
|
||||||
|
transform="scale(0.8) translate(12.5,0)"
|
||||||
|
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
|
||||||
|
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||||
|
id="path1870" />
|
||||||
|
</marker>
|
||||||
|
</defs>
|
||||||
|
<sodipodi:namedview
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1"
|
||||||
|
objecttolerance="10"
|
||||||
|
gridtolerance="10"
|
||||||
|
guidetolerance="10"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:window-width="2560"
|
||||||
|
inkscape:window-height="1403"
|
||||||
|
id="namedview6"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="21.968944"
|
||||||
|
inkscape:cx="7.977557"
|
||||||
|
inkscape:cy="3.1296366"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg4"
|
||||||
|
inkscape:document-rotation="0" />
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
d="M 14.505901,8.0068089 1.5059005,7.9950069"
|
||||||
|
id="path913"
|
||||||
|
sodipodi:nodetypes="cc" />
|
||||||
|
</svg>
|
After Width: | Height: | Size: 5.6 KiB |
|
@ -23,17 +23,17 @@
|
||||||
borderopacity="1.0"
|
borderopacity="1.0"
|
||||||
inkscape:pageopacity="0.0"
|
inkscape:pageopacity="0.0"
|
||||||
inkscape:pageshadow="2"
|
inkscape:pageshadow="2"
|
||||||
inkscape:zoom="29.049263"
|
inkscape:zoom="19.921569"
|
||||||
inkscape:cx="12.144995"
|
inkscape:cx="1.0263926"
|
||||||
inkscape:cy="6.0925762"
|
inkscape:cy="6.0925762"
|
||||||
inkscape:document-units="px"
|
inkscape:document-units="px"
|
||||||
inkscape:current-layer="layer1"
|
inkscape:current-layer="layer1"
|
||||||
inkscape:document-rotation="0"
|
inkscape:document-rotation="0"
|
||||||
showgrid="false"
|
showgrid="false"
|
||||||
inkscape:window-width="1514"
|
inkscape:window-width="1514"
|
||||||
inkscape:window-height="1199"
|
inkscape:window-height="964"
|
||||||
inkscape:window-x="603"
|
inkscape:window-x="963"
|
||||||
inkscape:window-y="114"
|
inkscape:window-y="314"
|
||||||
inkscape:window-maximized="0"
|
inkscape:window-maximized="0"
|
||||||
units="px"
|
units="px"
|
||||||
inkscape:snap-object-midpoints="true"
|
inkscape:snap-object-midpoints="true"
|
||||||
|
@ -47,7 +47,7 @@
|
||||||
<dc:format>image/svg+xml</dc:format>
|
<dc:format>image/svg+xml</dc:format>
|
||||||
<dc:type
|
<dc:type
|
||||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
<dc:title></dc:title>
|
<dc:title />
|
||||||
</cc:Work>
|
</cc:Work>
|
||||||
</rdf:RDF>
|
</rdf:RDF>
|
||||||
</metadata>
|
</metadata>
|
||||||
|
@ -57,32 +57,32 @@
|
||||||
id="layer1">
|
id="layer1">
|
||||||
<path
|
<path
|
||||||
style="fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
style="fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
d="M 2,14 5,8 h 6 l 3,-6"
|
d="m 2.5,13 2,-4 M 6,8 h 4 m 1.5,-1 2,-4"
|
||||||
id="path1710"
|
id="path1710"
|
||||||
sodipodi:nodetypes="cccc" />
|
sodipodi:nodetypes="cccccc" />
|
||||||
<rect
|
<rect
|
||||||
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
id="rect1542-6-5-6"
|
id="rect1542-6-5-6"
|
||||||
width="2"
|
width="2"
|
||||||
height="2"
|
height="2"
|
||||||
x="1"
|
x="1"
|
||||||
y="13" />
|
y="13" />
|
||||||
<rect
|
<rect
|
||||||
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
id="rect1542-6-5-6-2"
|
id="rect1542-6-5-6-2"
|
||||||
width="2"
|
width="2"
|
||||||
height="2"
|
height="2"
|
||||||
x="4"
|
x="4"
|
||||||
y="7" />
|
y="7" />
|
||||||
<rect
|
<rect
|
||||||
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
id="rect1542-6-5-6-9"
|
id="rect1542-6-5-6-9"
|
||||||
width="2"
|
width="2"
|
||||||
height="2"
|
height="2"
|
||||||
x="10"
|
x="10"
|
||||||
y="7" />
|
y="7" />
|
||||||
<rect
|
<rect
|
||||||
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
id="rect1542-6-5-6-1"
|
id="rect1542-6-5-6-1"
|
||||||
width="2"
|
width="2"
|
||||||
height="2"
|
height="2"
|
||||||
|
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB |
|
@ -0,0 +1,70 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
width="16"
|
||||||
|
height="16"
|
||||||
|
viewBox="0 0 16 16.000001"
|
||||||
|
version="1.1"
|
||||||
|
id="svg2112"
|
||||||
|
inkscape:version="1.0.2 (1.0.2+r75+1)"
|
||||||
|
sodipodi:docname="stl.svg">
|
||||||
|
<defs
|
||||||
|
id="defs2106" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="base"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:zoom="15.097379"
|
||||||
|
inkscape:cx="22.832759"
|
||||||
|
inkscape:cy="6.3103299"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
inkscape:document-rotation="0"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:window-width="1578"
|
||||||
|
inkscape:window-height="1199"
|
||||||
|
inkscape:window-x="978"
|
||||||
|
inkscape:window-y="186"
|
||||||
|
inkscape:window-maximized="0"
|
||||||
|
units="px"
|
||||||
|
inkscape:snap-object-midpoints="true"
|
||||||
|
inkscape:snap-text-baseline="true"
|
||||||
|
inkscape:snap-center="true" />
|
||||||
|
<metadata
|
||||||
|
id="metadata2109">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title />
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1">
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:12px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||||
|
x="0.53601015"
|
||||||
|
y="12.164"
|
||||||
|
id="text841-6"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan839-3"
|
||||||
|
x="0.53601015"
|
||||||
|
y="12.164"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12px;font-family:'Ubuntu Condensed';-inkscape-font-specification:'Ubuntu Condensed, '">STL</tspan></text>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 2.2 KiB |
|
@ -0,0 +1,172 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
width="16"
|
||||||
|
height="16"
|
||||||
|
fill="currentColor"
|
||||||
|
class="bi bi-intersect"
|
||||||
|
viewBox="0 0 16 16"
|
||||||
|
version="1.1"
|
||||||
|
id="svg4"
|
||||||
|
sodipodi:docname="vertical.svg"
|
||||||
|
inkscape:version="1.0.2 (1.0.2+r75+1)">
|
||||||
|
<metadata
|
||||||
|
id="metadata10">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title></dc:title>
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<defs
|
||||||
|
id="defs8">
|
||||||
|
<marker
|
||||||
|
style="overflow:visible"
|
||||||
|
id="TriangleInS"
|
||||||
|
refX="0.0"
|
||||||
|
refY="0.0"
|
||||||
|
orient="auto"
|
||||||
|
inkscape:stockid="TriangleInS"
|
||||||
|
inkscape:isstock="true">
|
||||||
|
<path
|
||||||
|
transform="scale(-0.2)"
|
||||||
|
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
|
||||||
|
d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
|
||||||
|
id="path2009" />
|
||||||
|
</marker>
|
||||||
|
<marker
|
||||||
|
style="overflow:visible"
|
||||||
|
id="marker2364"
|
||||||
|
refX="0.0"
|
||||||
|
refY="0.0"
|
||||||
|
orient="auto"
|
||||||
|
inkscape:stockid="TriangleOutS"
|
||||||
|
inkscape:isstock="true">
|
||||||
|
<path
|
||||||
|
transform="scale(0.2)"
|
||||||
|
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
|
||||||
|
d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
|
||||||
|
id="path2362" />
|
||||||
|
</marker>
|
||||||
|
<marker
|
||||||
|
style="overflow:visible"
|
||||||
|
id="StopS"
|
||||||
|
refX="0.0"
|
||||||
|
refY="0.0"
|
||||||
|
orient="auto"
|
||||||
|
inkscape:stockid="StopS"
|
||||||
|
inkscape:isstock="true">
|
||||||
|
<path
|
||||||
|
transform="scale(0.2)"
|
||||||
|
style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
||||||
|
d="M 0.0,5.65 L 0.0,-5.65"
|
||||||
|
id="path2045" />
|
||||||
|
</marker>
|
||||||
|
<marker
|
||||||
|
style="overflow:visible;"
|
||||||
|
id="marker2268"
|
||||||
|
refX="0.0"
|
||||||
|
refY="0.0"
|
||||||
|
orient="auto"
|
||||||
|
inkscape:stockid="Arrow2Send"
|
||||||
|
inkscape:isstock="true">
|
||||||
|
<path
|
||||||
|
transform="scale(0.3) rotate(180) translate(-2.3,0)"
|
||||||
|
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
|
||||||
|
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
|
||||||
|
id="path2266" />
|
||||||
|
</marker>
|
||||||
|
<marker
|
||||||
|
style="overflow:visible"
|
||||||
|
id="TriangleOutS"
|
||||||
|
refX="0.0"
|
||||||
|
refY="0.0"
|
||||||
|
orient="auto"
|
||||||
|
inkscape:stockid="TriangleOutS"
|
||||||
|
inkscape:isstock="true">
|
||||||
|
<path
|
||||||
|
transform="scale(0.2)"
|
||||||
|
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
|
||||||
|
d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
|
||||||
|
id="path2018" />
|
||||||
|
</marker>
|
||||||
|
<marker
|
||||||
|
style="overflow:visible;"
|
||||||
|
id="Arrow2Send"
|
||||||
|
refX="0.0"
|
||||||
|
refY="0.0"
|
||||||
|
orient="auto"
|
||||||
|
inkscape:stockid="Arrow2Send"
|
||||||
|
inkscape:isstock="true">
|
||||||
|
<path
|
||||||
|
transform="scale(0.3) rotate(180) translate(-2.3,0)"
|
||||||
|
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
|
||||||
|
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
|
||||||
|
id="path1903" />
|
||||||
|
</marker>
|
||||||
|
<marker
|
||||||
|
style="overflow:visible;"
|
||||||
|
id="Arrow1Send"
|
||||||
|
refX="0.0"
|
||||||
|
refY="0.0"
|
||||||
|
orient="auto"
|
||||||
|
inkscape:stockid="Arrow1Send"
|
||||||
|
inkscape:isstock="true">
|
||||||
|
<path
|
||||||
|
transform="scale(0.2) rotate(180) translate(6,0)"
|
||||||
|
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
|
||||||
|
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||||
|
id="path1885" />
|
||||||
|
</marker>
|
||||||
|
<marker
|
||||||
|
style="overflow:visible"
|
||||||
|
id="Arrow1Lstart"
|
||||||
|
refX="0.0"
|
||||||
|
refY="0.0"
|
||||||
|
orient="auto"
|
||||||
|
inkscape:stockid="Arrow1Lstart"
|
||||||
|
inkscape:isstock="true">
|
||||||
|
<path
|
||||||
|
transform="scale(0.8) translate(12.5,0)"
|
||||||
|
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
|
||||||
|
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||||
|
id="path1870" />
|
||||||
|
</marker>
|
||||||
|
</defs>
|
||||||
|
<sodipodi:namedview
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1"
|
||||||
|
objecttolerance="10"
|
||||||
|
gridtolerance="10"
|
||||||
|
guidetolerance="10"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:window-width="2560"
|
||||||
|
inkscape:window-height="1403"
|
||||||
|
id="namedview6"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="21.968944"
|
||||||
|
inkscape:cx="7.977557"
|
||||||
|
inkscape:cy="3.1296366"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg4"
|
||||||
|
inkscape:document-rotation="0" />
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
d="M 8.0118016,1.5009078 7.9999996,14.500908"
|
||||||
|
id="path913"
|
||||||
|
sodipodi:nodetypes="cc" />
|
||||||
|
</svg>
|
After Width: | Height: | Size: 5.6 KiB |
|
@ -225,7 +225,10 @@ class Sketch {
|
||||||
this.canvas.addEventListener('pointerdown', this.drawOnClick1)
|
this.canvas.addEventListener('pointerdown', this.drawOnClick1)
|
||||||
this.mode = "point"
|
this.mode = "point"
|
||||||
break;
|
break;
|
||||||
case 'x':
|
case 'Delete':
|
||||||
|
this.deleteSelected()
|
||||||
|
break;
|
||||||
|
case 'Backspace':
|
||||||
this.deleteSelected()
|
this.deleteSelected()
|
||||||
break;
|
break;
|
||||||
case ' ':
|
case ' ':
|
||||||
|
|
|
@ -2,9 +2,7 @@ import {color} from './shared'
|
||||||
|
|
||||||
export async function setCoincident() {
|
export async function setCoincident() {
|
||||||
let selection = await this.awaitSelection({ point: 2 }, { point: 1, line: 1 })
|
let selection = await this.awaitSelection({ point: 2 }, { point: 1, line: 1 })
|
||||||
|
|
||||||
if (selection == null) return;
|
if (selection == null) return;
|
||||||
|
|
||||||
if (selection.every(e => e.userData.type == 'point')) {
|
if (selection.every(e => e.userData.type == 'point')) {
|
||||||
this.constraints.set(++this.c_id,
|
this.constraints.set(++this.c_id,
|
||||||
[
|
[
|
||||||
|
@ -13,9 +11,7 @@ export async function setCoincident() {
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
const idx = selection[0].userData.type == 'point' ? [0, 1] : [1, 0]
|
const idx = selection[0].userData.type == 'point' ? [0, 1] : [1, 0]
|
||||||
|
|
||||||
this.constraints.set(++this.c_id,
|
this.constraints.set(++this.c_id,
|
||||||
[
|
[
|
||||||
'pt_on_line', -1,
|
'pt_on_line', -1,
|
||||||
|
@ -27,7 +23,6 @@ export async function setCoincident() {
|
||||||
selection[1].userData.constraints.push(this.c_id)
|
selection[1].userData.constraints.push(this.c_id)
|
||||||
selection[0].userData.constraints.push(this.c_id)
|
selection[0].userData.constraints.push(this.c_id)
|
||||||
|
|
||||||
|
|
||||||
this.updateOtherBuffers()
|
this.updateOtherBuffers()
|
||||||
this.solve()
|
this.solve()
|
||||||
this.updateBoundingSpheres()
|
this.updateBoundingSpheres()
|
||||||
|
|
|
@ -19,9 +19,6 @@ export async function drawDimension() {
|
||||||
|
|
||||||
let line, dimVal, constraint, dimType
|
let line, dimVal, constraint, dimType
|
||||||
if (selection.every(e => e.userData.type == 'line')) {
|
if (selection.every(e => e.userData.type == 'line')) {
|
||||||
selection = await this.awaitSelection({ line: 2 })
|
|
||||||
if (selection == null) return;
|
|
||||||
|
|
||||||
line = new THREE.LineSegments(
|
line = new THREE.LineSegments(
|
||||||
new THREE.BufferGeometry().setAttribute('position',
|
new THREE.BufferGeometry().setAttribute('position',
|
||||||
new THREE.Float32BufferAttribute(Array((divisions + 2) * 2 * 3).fill(-0.001), 3)
|
new THREE.Float32BufferAttribute(Array((divisions + 2) * 2 * 3).fill(-0.001), 3)
|
||||||
|
|
|
@ -8,14 +8,14 @@ function Arc(props) {
|
||||||
viewBox="0 0 16 16"
|
viewBox="0 0 16 16"
|
||||||
{...props}
|
{...props}
|
||||||
>
|
>
|
||||||
<g stroke="currentColor" strokeLinecap="round">
|
<g stroke="currentColor">
|
||||||
<path
|
<path
|
||||||
d="M7.75 2.35a13 13 0 016.5 11.281"
|
d="M8.553 3.145a12.5 12.5 0 015.644 9.339"
|
||||||
fill="none"
|
fill="none"
|
||||||
strokeWidth={1.5}
|
strokeWidth={1.5}
|
||||||
/>
|
/>
|
||||||
<path
|
<path
|
||||||
fill="#fff"
|
strokeLinecap="round"
|
||||||
d="M.75 12.631h2v2h-2zM6.75 1.35h2v2h-2zM13.25 12.631h2v2h-2z"
|
d="M.75 12.631h2v2h-2zM6.75 1.35h2v2h-2zM13.25 12.631h2v2h-2z"
|
||||||
/>
|
/>
|
||||||
</g>
|
</g>
|
||||||
|
@ -23,6 +23,28 @@ function Arc(props) {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function Coincident(props) {
|
||||||
|
return (
|
||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="1em"
|
||||||
|
height="1em"
|
||||||
|
viewBox="0 0 16 16"
|
||||||
|
{...props}
|
||||||
|
>
|
||||||
|
<g stroke="currentColor">
|
||||||
|
<path strokeLinecap="round" d="M7 7h2v2H7z" />
|
||||||
|
<path
|
||||||
|
d="M1.847 14.153l4.305-4.306M9.847 6.153l4.305-4.306"
|
||||||
|
fill="none"
|
||||||
|
strokeWidth={0.983}
|
||||||
|
/>
|
||||||
|
<path d="M10.034 10.034l3.932 3.932" fill="none" strokeWidth={1.51} />
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
function Dimension(props) {
|
function Dimension(props) {
|
||||||
return (
|
return (
|
||||||
<svg
|
<svg
|
||||||
|
@ -84,6 +106,27 @@ function Dimension(props) {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function Horizontal(props) {
|
||||||
|
return (
|
||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="1em"
|
||||||
|
height="1em"
|
||||||
|
fill="currentColor"
|
||||||
|
className="prefix__bi prefix__bi-intersect"
|
||||||
|
viewBox="0 0 16 16"
|
||||||
|
{...props}
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
d="M14.506 8.007l-13-.012"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
strokeWidth={2}
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
function Intersect(props) {
|
function Intersect(props) {
|
||||||
return (
|
return (
|
||||||
<svg
|
<svg
|
||||||
|
@ -176,9 +219,8 @@ function Line(props) {
|
||||||
{...props}
|
{...props}
|
||||||
>
|
>
|
||||||
<g stroke="currentColor">
|
<g stroke="currentColor">
|
||||||
<path d="M2 14l3-6h6l3-6" fill="none" strokeWidth={1.5} />
|
<path d="M2.5 13l2-4M6 8h4m1.5-1l2-4" fill="none" strokeWidth={1.5} />
|
||||||
<path
|
<path
|
||||||
fill="#fff"
|
|
||||||
strokeLinecap="round"
|
strokeLinecap="round"
|
||||||
d="M1 13h2v2H1zM4 7h2v2H4zM10 7h2v2h-2zM13 1h2v2h-2z"
|
d="M1 13h2v2H1zM4 7h2v2H4zM10 7h2v2h-2zM13 1h2v2h-2z"
|
||||||
/>
|
/>
|
||||||
|
@ -187,6 +229,42 @@ function Line(props) {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function Stl(props) {
|
||||||
|
return (
|
||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="1em"
|
||||||
|
height="1em"
|
||||||
|
viewBox="0 0 16 16"
|
||||||
|
{...props}
|
||||||
|
>
|
||||||
|
<text
|
||||||
|
style={{
|
||||||
|
lineHeight: 1.25,
|
||||||
|
}}
|
||||||
|
x={0.536}
|
||||||
|
y={12.164}
|
||||||
|
fontWeight={400}
|
||||||
|
fontSize={12}
|
||||||
|
fontFamily="sans-serif"
|
||||||
|
letterSpacing={0}
|
||||||
|
wordSpacing={0}
|
||||||
|
>
|
||||||
|
<tspan
|
||||||
|
x={0.536}
|
||||||
|
y={12.164}
|
||||||
|
style={{
|
||||||
|
InkscapeFontSpecification: "'Ubuntu Condensed, '",
|
||||||
|
}}
|
||||||
|
fontFamily="Ubuntu Condensed"
|
||||||
|
>
|
||||||
|
{"STL"}
|
||||||
|
</tspan>
|
||||||
|
</text>
|
||||||
|
</svg>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
function Subtract(props) {
|
function Subtract(props) {
|
||||||
return (
|
return (
|
||||||
<svg
|
<svg
|
||||||
|
@ -319,4 +397,25 @@ function Union_thin(props) {
|
||||||
</svg>
|
</svg>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
export { Arc, Dimension, Intersect, Intersect_thin, Line, Subtract, Union, Union_thin };
|
|
||||||
|
function Vertical(props) {
|
||||||
|
return (
|
||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="1em"
|
||||||
|
height="1em"
|
||||||
|
fill="currentColor"
|
||||||
|
className="prefix__bi prefix__bi-intersect"
|
||||||
|
viewBox="0 0 16 16"
|
||||||
|
{...props}
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
d="M8.012 1.5L8 14.5"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
strokeWidth={2}
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
export { Arc, Coincident, Dimension, Horizontal, Intersect, Intersect_thin, Line, Stl, Subtract, Union, Union_thin, Vertical };
|
|
@ -5,7 +5,7 @@ import React, { useEffect, useReducer } from 'react';
|
||||||
import { useDispatch, useSelector } from 'react-redux'
|
import { useDispatch, useSelector } from 'react-redux'
|
||||||
|
|
||||||
import { FaCube, FaEdit } from 'react-icons/fa'
|
import { FaCube, FaEdit } from 'react-icons/fa'
|
||||||
import { MdDone } from 'react-icons/md'
|
import { MdDone, MdSave, MdFolder} from 'react-icons/md'
|
||||||
import * as Icon from "./icons";
|
import * as Icon from "./icons";
|
||||||
|
|
||||||
|
|
||||||
|
@ -42,35 +42,52 @@ export const NavBar = () => {
|
||||||
|
|
||||||
|
|
||||||
const btnz = [
|
const btnz = [
|
||||||
activeSketchId ?
|
[MdDone, () => {
|
||||||
[MdDone, () => {
|
treeEntries.byId[activeSketchId].deactivate()
|
||||||
treeEntries.byId[activeSketchId].deactivate()
|
// dispatch({ type: 'update-descendents', sketch})
|
||||||
// dispatch({ type: 'update-descendents', sketch})
|
sc.activeSketch = null
|
||||||
sc.activeSketch = null
|
sc.render()
|
||||||
sc.render()
|
forceUpdate()
|
||||||
forceUpdate()
|
// sc.activeDim = this.activeSketch.obj3d.children[1].children
|
||||||
// sc.activeDim = this.activeSketch.obj3d.children[1].children
|
}, 'Finish'],
|
||||||
}, 'Finish'] :
|
[FaCube, extrude, 'Extrude [e]'],
|
||||||
[FaEdit, sc.addSketch, 'Sketch [s]']
|
|
||||||
,
|
|
||||||
[FaCube, extrude , 'Extrude [e]'],
|
|
||||||
[Icon.Union, ()=>boolOp('u'), 'Union'],
|
|
||||||
[Icon.Subtract, ()=>boolOp('s'), 'Subtract'],
|
|
||||||
[Icon.Intersect, ()=>boolOp('i'), 'Intersect'],
|
|
||||||
[Icon.Dimension, () => sc.extrude(treeEntries.byId[activeSketchId]), 'Dimension [d]'],
|
[Icon.Dimension, () => sc.extrude(treeEntries.byId[activeSketchId]), 'Dimension [d]'],
|
||||||
[Icon.Line, () => sc.extrude(treeEntries.byId[activeSketchId]), 'Line [l]'],
|
[Icon.Line, () => sc.extrude(treeEntries.byId[activeSketchId]), 'Line [l]'],
|
||||||
[Icon.Arc, () => sc.extrude(treeEntries.byId[activeSketchId]), 'Arc [a]'],
|
[Icon.Arc, () => sc.extrude(treeEntries.byId[activeSketchId]), 'Arc [a]'],
|
||||||
|
[Icon.Coincident, () => sc.extrude(treeEntries.byId[activeSketchId]), 'Arc [a]'],
|
||||||
|
[Icon.Vertical, () => sc.extrude(treeEntries.byId[activeSketchId]), 'Arc [a]'],
|
||||||
|
[Icon.Horizontal, () => sc.extrude(treeEntries.byId[activeSketchId]), 'Arc [a]'],
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
const btnz2 = [
|
||||||
|
[FaEdit, sc.addSketch, 'Sketch [s]']
|
||||||
|
,
|
||||||
|
[FaCube, extrude, 'Extrude [e]'],
|
||||||
|
[Icon.Union, () => boolOp('u'), 'Union'],
|
||||||
|
[Icon.Subtract, () => boolOp('s'), 'Subtract'],
|
||||||
|
[Icon.Intersect, () => boolOp('i'), 'Intersect'],
|
||||||
|
[MdSave, () => boolOp('i'), 'Intersect'],
|
||||||
|
[MdFolder, () => boolOp('i'), 'Intersect'],
|
||||||
|
[Icon.Stl, () => boolOp('i'), 'Intersect'],
|
||||||
]
|
]
|
||||||
|
|
||||||
const [_, forceUpdate] = useReducer(x => x + 1, 0);
|
const [_, forceUpdate] = useReducer(x => x + 1, 0);
|
||||||
|
|
||||||
return <div className='topNav flex justify-center items-center bg-gray-700'>
|
return <div className='topNav flex justify-center items-center bg-gray-700'>
|
||||||
{
|
{
|
||||||
btnz.map(([Icon, fcn, txt, shortcut], idx) => (
|
activeSketchId ?
|
||||||
<Icon className="btn w-auto h-full p-3.5" tooltip={txt}
|
btnz.map(([Icon, fcn, txt, shortcut], idx) => (
|
||||||
onClick={fcn} key={idx}
|
<Icon className="btn w-auto h-full p-3.5" tooltip={txt}
|
||||||
/>
|
onClick={fcn} key={idx}
|
||||||
))
|
/>
|
||||||
|
))
|
||||||
|
:
|
||||||
|
btnz2.map(([Icon, fcn, txt, shortcut], idx) => (
|
||||||
|
<Icon className="btn w-auto h-full p-3.5" tooltip={txt}
|
||||||
|
onClick={fcn} key={idx}
|
||||||
|
/>
|
||||||
|
))
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
|
|
43
todo.txt
|
@ -10,7 +10,7 @@ boolean flesh out refresh / replace mesh
|
||||||
- / delete mesh \\ done
|
- / delete mesh \\ done
|
||||||
- create derived part using relationship as name \\ done
|
- create derived part using relationship as name \\ done
|
||||||
- hidden bodies messes up hover highlight \\ fixed
|
- hidden bodies messes up hover highlight \\ fixed
|
||||||
- add for union and intersect
|
- add for union and intersect // done
|
||||||
- consume skeches after extrude // done
|
- consume skeches after extrude // done
|
||||||
- selection hover disspates when rehovered //fixed
|
- selection hover disspates when rehovered //fixed
|
||||||
- boolean unable to select click //fixed
|
- boolean unable to select click //fixed
|
||||||
|
@ -24,25 +24,50 @@ constraint angle // done
|
||||||
|
|
||||||
|
|
||||||
-unable to delete arc
|
-unable to delete arc
|
||||||
hover not clearing
|
hover not clearing sometimes
|
||||||
dim tags are not clearing
|
dim tags are not clearing
|
||||||
should unselect after boolean
|
should unselect after boolean
|
||||||
|
|
||||||
|
|
||||||
auto update extrude
|
auto update extrude
|
||||||
extrude dialogue
|
extrude dialogue
|
||||||
|
|
||||||
loopfind especially arc
|
loopfind especially arc
|
||||||
|
|
||||||
file save, stl export
|
file save, stl export
|
||||||
|
|
||||||
button panel cleanup
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
button panel cleanup
|
||||||
|
- finish
|
||||||
|
- extrude
|
||||||
|
- dim
|
||||||
|
-line
|
||||||
|
- arc
|
||||||
|
|
||||||
|
- vertical
|
||||||
|
- horizontal
|
||||||
|
-coincident
|
||||||
|
|
||||||
|
|
||||||
|
sketch
|
||||||
|
extrude
|
||||||
|
boolean +
|
||||||
|
boolean
|
||||||
|
boolean
|
||||||
|
|
||||||
|
|
||||||
|
load
|
||||||
|
save
|
||||||
|
stl
|
||||||
|
|
||||||
|
|
||||||
better default ent names
|
better default ent names
|
||||||
|
|
||||||
|
|
||||||
reattach sketch
|
reattach sketch
|
||||||
tree ent renaming
|
|
||||||
3 pt arc
|
3 pt arc
|
||||||
constraint labels, tangent
|
|
||||||
auto snap
|
auto snap
|
||||||
|
constraint labels,tangent, equal
|
||||||
|
parallel
|
||||||
|
tree ent renaming
|