Fix Concentric build integration

This commit is contained in:
ramox81 committed 2026-09-17 16:21:39 +03:00
1 parent a6a70420c4
commit d9f3d71342
3 files changed
+6 -6

No files matched your search

+2 -2
View File
@@ -55,8 +55,8 @@ impl ConcentricConstraintCommand {
let planar = crate::entities::curve::entity_curve(entity)?;
let local = planar.plane.project(point.to_array())?;
let segments = planar.curve.segments();
let (index, segment) = cadkernel::geom2d::nearest_of(segments.iter(), local)?;
matches!(segment, cadkernel::geom2d::Curve::Arc(_))
let (index, _) = cadkernel::geom2d::nearest_of(segments.iter(), local)?;
matches!(segments.get(index), Some(cadkernel::geom2d::Curve::Arc(_)))
.then(|| ParametricRef::segment_center(handle, index))
}
_ => None,
+3 -3
View File
@@ -23,8 +23,8 @@ pub use point_on_entity::{
};
pub use tangent_command::TangentConstraintCommand;
pub use tools::{
colinear, concentric, equal, fixed, horizontal, normal, parallel, perpendicular, symmetric,
tangent, vertical,
colinear, concentric as concentric_tool, equal, fixed, horizontal, normal, parallel,
perpendicular, symmetric, tangent, vertical,
};
pub use value::{
angle_tool, dimensional_tools, distance_tool, AngleConstraintCommand,
@@ -67,7 +67,7 @@ impl CadModule for ParametricModule {
"SMOOTHCONSTRAINT", "Smooth",
include_bytes!("../../../assets/icons/constrain/smooth.svg"),
)),
RibbonItem::LargeTool(concentric::tool()),
RibbonItem::LargeTool(concentric_tool::tool()),
RibbonItem::LargeTool(horizontal::tool()),
RibbonItem::LargeTool(symmetric::tool()),
RibbonItem::LargeTool(fixed::tool()),
+1 -1
View File
@@ -837,11 +837,11 @@ fn glyph_placement_for_reference(
if let Some(segment) = r.segment_center_index() {
let planar = crate::entities::curve::entity_curve(entity)?;
let curve = planar.curve.segments().into_iter().nth(segment)?;
let on_arc = planar.plane.point_at(curve.point_at(0.5));
let cadkernel::geom2d::Curve::Arc(arc) = curve else {
return None;
};
let center = planar.plane.point_at(arc.centre);
let on_arc = planar.plane.point_at(arc.point_at(0.5));
let center = Vector3::new(center[0], center[1], center[2]);
let on_arc = Vector3::new(on_arc[0], on_arc[1], on_arc[2]);
return Some((on_arc, on_arc - center));