fix circle sketch on face (#1668)

* fix circle sketch on face

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* cargo.lock

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* fix tests

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

---------

Signed-off-by: Jess Frazelle <github@jessfraz.com>
This commit is contained in:
Jess Frazelle
2024-03-07 14:53:37 -08:00
committed by GitHub
parent 5a7f12a06d
commit ff9229f55a
9 changed files with 156 additions and 103 deletions

View File

@ -8,9 +8,8 @@ use crate::{
};
pub const CIRCLE_FN: &str = r#"
(plane, center, radius) => {
const sg = startSketchOn(plane)
|> startProfileAt([center[0] + radius, center[1]], %)
(center, radius, surface) => {
const sg = startProfileAt([center[0] + radius, center[1]], surface)
|> arc({
angle_end: 360,
angle_start: 0,
@ -70,14 +69,6 @@ impl StdLibFn for Circle {
let mut args = Vec::new();
for parameter in &self.function.params {
match parameter.identifier.name.as_str() {
"plane" => {
args.push(crate::docs::StdLibFnArg {
name: parameter.identifier.name.to_owned(),
type_: "SketchData".to_string(),
schema: <crate::std::sketch::SketchData>::json_schema(&mut generator),
required: true,
});
}
"center" => {
args.push(crate::docs::StdLibFnArg {
name: parameter.identifier.name.to_owned(),
@ -94,6 +85,14 @@ impl StdLibFn for Circle {
required: true,
});
}
"surface" => {
args.push(crate::docs::StdLibFnArg {
name: parameter.identifier.name.to_owned(),
type_: "SketchSurface".to_string(),
schema: <crate::std::sketch::SketchData>::json_schema(&mut generator),
required: true,
});
}
_ => panic!("Unknown parameter: {:?}", parameter.identifier.name),
}
}