Circle function and UI tool (#3860)

* circle

* fix another example

* fix bad comment

* toPoint fix

* cargo fmt

* resolve most of the tests

* fix last test

* missed circle in bracket

* remove console error

* fmt

* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest)

* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest)

* trigger ci

* remove three dot menu for circle

* make sure circle can be extruded

* fix up after merge

* add extrude test for circle

* clean up

* typo

* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest)

* Revert "A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest)"

This reverts commit 03f8eeb542.

* update docs again

* cmd bar test serialisation improvements

* tiny clean up

* fix after: Replace kittycad crate with kittycad-modeling-cmds

* fmt

* rename fix

* Update src/lib/toolbar.ts

Co-authored-by: Frank Noirot <frank@zoo.dev>

* add another error to list

* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest)

* image updates

* Revert "A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest)"

This reverts commit 505bb20bea.

* update markdown

* skip un reproducable windows test failure

* rust review

* leave issue todo comment

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Frank Noirot <frank@zoo.dev>
This commit is contained in:
Kurt Hutten
2024-09-23 22:42:51 +10:00
committed by GitHub
parent 7848d63177
commit f1b0e40388
122 changed files with 22670 additions and 512 deletions

View File

@ -93,11 +93,17 @@ const case = startSketchOn('-XZ')
|> extrude(65, %)
const thing1 = startSketchOn(case, 'end')
|> circle([-size / 2, -size / 2], 25, %)
|> circle({
center: [-size / 2, -size / 2],
radius: 25
}, %)
|> extrude(50, %)
const thing2 = startSketchOn(case, 'end')
|> circle([size / 2, -size / 2], 25, %)
|> circle({
center: [size / 2, -size / 2],
radius: 25
}, %)
|> extrude(50, %)
// We put "case" in the shell function to shell the entire object.
@ -118,11 +124,17 @@ const case = startSketchOn('XY')
|> extrude(65, %)
const thing1 = startSketchOn(case, 'end')
|> circle([-size / 2, -size / 2], 25, %)
|> circle({
center: [-size / 2, -size / 2],
radius: 25
}, %)
|> extrude(50, %)
const thing2 = startSketchOn(case, 'end')
|> circle([size / 2, -size / 2], 25, %)
|> circle({
center: [size / 2, -size / 2],
radius: 25
}, %)
|> extrude(50, %)
// We put "thing1" in the shell function to shell the end face of the object.
@ -146,11 +158,17 @@ const case = startSketchOn('XY')
|> extrude(65, %)
const thing1 = startSketchOn(case, 'end')
|> circle([-size / 2, -size / 2], 25, %)
|> circle({
center: [-size / 2, -size / 2],
radius: 25
}, %)
|> extrude(50, %)
const thing2 = startSketchOn(case, 'end')
|> circle([size / 2, -size / 2], 25, %)
|> circle({
center: [size / 2, -size / 2],
radius: 25
}, %)
|> extrude(50, %)
// We put "thing1" and "thing2" in the shell function to shell the end face of the object.
@ -533,6 +551,26 @@ shell({ faces: ['end'], thickness: 5 }, [thing1, thing2])
to: [number, number],
type: "TangentialArc",
} |
{
// arc's direction
ccw: bool,
// the arc's center
center: [number, number],
// The from point.
from: [number, number],
// the arc's radius
radius: number,
// The tag of the path.
tag: {
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
end: number,
start: number,
value: string,
},
// The to point.
to: [number, number],
type: "Circle",
} |
{
// The from point.
from: [number, number],
@ -932,6 +970,26 @@ shell({ faces: ['end'], thickness: 5 }, [thing1, thing2])
to: [number, number],
type: "TangentialArc",
} |
{
// arc's direction
ccw: bool,
// the arc's center
center: [number, number],
// The from point.
from: [number, number],
// the arc's radius
radius: number,
// The tag of the path.
tag: {
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
end: number,
start: number,
value: string,
},
// The to point.
to: [number, number],
type: "Circle",
} |
{
// The from point.
from: [number, number],