diff --git a/icon/svgr_raw/extrude.svg b/icon/svgr_raw/extrude.svg
new file mode 100644
index 0000000..9b96bc5
--- /dev/null
+++ b/icon/svgr_raw/extrude.svg
@@ -0,0 +1,81 @@
+
+
diff --git a/icon/svgr_raw/extrude_master.svg b/icon/svgr_raw/extrude_master.svg
new file mode 100644
index 0000000..98ef38a
--- /dev/null
+++ b/icon/svgr_raw/extrude_master.svg
@@ -0,0 +1,89 @@
+
+
diff --git a/icon/svgr_raw/stl.svg b/icon/svgr_raw/stl.svg
index 3f13c24..7a32f82 100644
--- a/icon/svgr_raw/stl.svg
+++ b/icon/svgr_raw/stl.svg
@@ -27,7 +27,7 @@
inkscape:cx="22.832759"
inkscape:cy="6.3103299"
inkscape:document-units="px"
- inkscape:current-layer="layer1"
+ inkscape:current-layer="text841-6"
inkscape:document-rotation="0"
showgrid="false"
inkscape:window-width="1578"
@@ -55,16 +55,22 @@
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
- STL
+
+
+
+
+
diff --git a/src/react/icons.jsx b/src/react/icons.jsx
index 2af2ff7..1ecd465 100644
--- a/src/react/icons.jsx
+++ b/src/react/icons.jsx
@@ -106,6 +106,142 @@ function Dimension(props) {
);
}
+function Extrude(props) {
+ return (
+
+ );
+}
+
+function Extrude_master(props) {
+ return (
+
+ );
+}
+
function Horizontal(props) {
return (
);
}
@@ -418,4 +549,4 @@ function Vertical(props) {
);
}
-export { Arc, Coincident, Dimension, Horizontal, Intersect, Intersect_thin, Line, Stl, Subtract, Union, Union_thin, Vertical };
\ No newline at end of file
+export { Arc, Coincident, Dimension, Extrude, Extrude_master, Horizontal, Intersect, Intersect_thin, Line, Stl, Subtract, Union, Union_thin, Vertical };
\ No newline at end of file
diff --git a/src/react/navBar.jsx b/src/react/navBar.jsx
index f373a25..d9236f6 100644
--- a/src/react/navBar.jsx
+++ b/src/react/navBar.jsx
@@ -5,6 +5,7 @@ import React, { useEffect, useReducer } from 'react';
import { useDispatch, useSelector } from 'react-redux'
import { FaCube, FaEdit } from 'react-icons/fa'
+import { BsBoxArrowUp} from 'react-icons/bs'
import { MdDone, MdSave, MdFolder} from 'react-icons/md'
import * as Icon from "./icons";
@@ -50,26 +51,26 @@ export const NavBar = () => {
forceUpdate()
// sc.activeDim = this.activeSketch.obj3d.children[1].children
}, 'Finish'],
- [FaCube, extrude, 'Extrude [e]'],
- [Icon.Dimension, () => sc.extrude(treeEntries.byId[activeSketchId]), 'Dimension [d]'],
+ [Icon.Extrude, extrude, 'Extrude [e]'],
+ [Icon.Dimension, () => sc.activeSketch.drawDimension(), 'Dimension [d]'],
[Icon.Line, () => sc.extrude(treeEntries.byId[activeSketchId]), 'Line [l]'],
[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]'],
+ [Icon.Coincident, () => sc.extrude(treeEntries.byId[activeSketchId]), 'Arc [space]'],
+ [Icon.Vertical, () => sc.extrude(treeEntries.byId[activeSketchId]), 'Arc [v]'],
+ [Icon.Horizontal, () => sc.extrude(treeEntries.byId[activeSketchId]), 'Arc [h]'],
]
const btnz2 = [
[FaEdit, sc.addSketch, 'Sketch [s]']
,
- [FaCube, extrude, 'Extrude [e]'],
+ [Icon.Extrude, 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'],
+ [MdSave, () => boolOp('i'), 'Save [ctrl+s]'],
+ [MdFolder, () => boolOp('i'), 'Load'],
+ [Icon.Stl, () => boolOp('i'), 'Export STL'],
]
const [_, forceUpdate] = useReducer(x => x + 1, 0);
diff --git a/todo.txt b/todo.txt
index c9ba8a3..2b9bfb9 100644
--- a/todo.txt
+++ b/todo.txt
@@ -22,6 +22,8 @@ horizontal // done
- select sketch for extrusion, punt, leverage current sketch modality
constraint angle // done
+button panel cleanup // done
+
-unable to delete arc
hover not clearing sometimes
@@ -35,32 +37,6 @@ file save, stl export
-
-
-button panel cleanup
-- finish
-- extrude
-- dim
--line
-- arc
-
-- vertical
-- horizontal
--coincident
-
-
-sketch
-extrude
-boolean +
-boolean
-boolean
-
-
-load
-save
-stl
-
-
better default ent names