Joints engine: joint origins that snap to faces, round ends or points (re-found on every solve, so joints follow edits), joints (rigid, revolute, slider, cylindrical, pin-slot, planar, ball) with values, limits, flip and offset, As-built Joint, Rigid Group, Drive Joints, Motion Link, a joint-graph solver from grounded occurrences (degrees of freedom per occurrence, loop conflicts reported), Interference between bodies

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AS5Tn3xieewUSg3uxrMVdL
This commit is contained in:
bherbruckandClaude Opus 5.5 committed 2026-10-08 02:59:56 +00:00
1 parent 13b72bb011
commit c2309eb43b
7 files changed
+1242

No files matched your search

+4
View File
@@ -249,6 +249,10 @@ impl Session {
pub fn refresh(&mut self) {
self.model.evaluate(&self.doc);
self.revision += 1;
// Joints follow the geometry their origins snap to.
if !self.doc.assembly.joints.is_empty() {
cmd::joints::resolve(self);
}
if let Some(id) = self.active_sketch
&& self.doc.feature(id).is_none()
{