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 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + 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 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + 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 ( - - - {"STL"} - - + /> + ); } @@ -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