increase shape precision

This commit is contained in:
numzero 2026-10-20 02:40:31 +03:00
parent 9fd50e75fa
commit f3169f6215
2 changed files with 6 additions and 4 deletions

View File

@ -58,7 +58,7 @@ impl BevelGearShape {
pub fn cut(&mut self, cutter_tfm: Affine3A) { pub fn cut(&mut self, cutter_tfm: Affine3A) {
let cutter = self.desc.cutter(); let cutter = self.desc.cutter();
let z_proj = self.desc.pitch_distance(); let z_proj = self.desc.pitch_distance();
let cutting_line = cutter.to_shape(0.375..0.625, 200); let cutting_line = cutter.to_shape(0.375..0.625, self.points.len());
let cutting_line: Vec<_> = cutting_line let cutting_line: Vec<_> = cutting_line
.into_iter() .into_iter()
.map(|pt| { .map(|pt| {

View File

@ -117,17 +117,19 @@ impl Core {
teeth: args.tooth, teeth: args.tooth,
cone_halfangle: args.cone_halfangle, cone_halfangle: args.cone_halfangle,
}; };
let bevel_gear_shape = bevel_gear::BevelGearShape::new_blank(&bevel_gear_desc, 600); let bevel_gear_shape =
bevel_gear::BevelGearShape::new_blank(&bevel_gear_desc, 16 * args.tooth as usize);
let crown_gear_desc = bevel_gear_desc.cutter(); let crown_gear_desc = bevel_gear_desc.cutter();
let crown_gear_mesh = crown_gear::make_mesh_simple( let crown_gear_mesh = crown_gear::make_mesh_simple(
&crown_gear_desc, &crown_gear_desc,
&crown_gear::CrownGearVisual { &crown_gear::CrownGearVisual {
inner_radius: crown_gear_desc.pitch_radius / 2., inner_radius: crown_gear_desc.pitch_radius / 2.,
outer_radius: crown_gear_desc.pitch_radius, outer_radius: crown_gear_desc.pitch_radius
+ 2. * bevel_gear_desc.cone_halfangle.tan(),
base_thickness: 2.0, base_thickness: 2.0,
}, },
600, (16. * crown_gear_desc.teeth()).floor() as usize,
) )
.to_mesh() .to_mesh()
.to_standard_mesh() .to_standard_mesh()