Files
OrcaSlicer/resources/images
Tommaso Bianchi a63bba2d55 Horizontal and vertical distance dimensions
Port of snaporca 9fa304c77a. Parity OK: 17 files identical, 8 diverging at their
expected counts.

The everyday dimension in SolidWorks and Onshape, and this kernel had no form of
it. Distance constrains the straight-line gap; LockX/LockY pin one point's
ABSOLUTE coordinate. Neither relates two points along an axis.

DistanceX/DistanceY emit SLVS_C_PROJ_PT_DISTANCE against two unit direction
lines built in the solver's G_FIXED group, so they add no degrees of freedom.

THE DIRECTION IS SIGNED, and getting it backwards is silent. libslvs defines a
LINE_SEGMENT's direction as point[0] - point[1] (entity.cpp) and
PROJ_PT_DISTANCE constrains (pB - pA).dot(dir) (constrainteq.cpp:234), so the
reference lines are built head-first to mean +X and +Y.

The same signedness was a real defect in the GUI: the inline editor was
pre-filled with |delta|, so when the closest endpoint pair ran right-to-left,
opening the dimension and accepting the number shown would flip the point to the
other side of its anchor. Opening a dimension and accepting its own value must
be a no-op. The refs are now ordered so the shown value is positive.

On the CAD-1000-hours corpus, dimensioning and constraining is 31.9% of all
observed CAD time -- the largest single class, 7.6x feature operations. This is
the item in the constraint epic that lands most directly on it.

VERIFICATION LIMIT, as with the previous commit: this fork's kernel suite still
cannot run (find_package(assimp) fails at configure time, snaporca-w80c). The
shared sources are byte-identical to snaporca's, where kernel is 2603 assertions
/ 200 cases and ALL LADDERS HELD across all seven rungs.
2026-08-31 01:46:09 +02:00
..
2024-05-20 23:18:05 +08:00
2024-05-20 23:18:05 +08:00
2025-12-18 12:17:29 +00:00
2025-10-28 15:29:54 +08:00
2025-09-25 16:25:54 +08:00
2022-08-05 16:11:42 +08:00
2022-08-05 16:11:42 +08:00
2022-08-05 16:11:42 +08:00
2022-08-05 16:11:42 +08:00
2022-08-05 16:11:42 +08:00
2022-08-05 16:11:42 +08:00
2022-08-05 16:11:42 +08:00
2022-08-05 16:11:42 +08:00
2026-05-10 02:21:13 +08:00
2023-08-08 22:14:20 +08:00
2025-10-05 16:02:17 +08:00
2025-10-28 15:29:53 +08:00
2025-10-28 15:30:06 +08:00
2025-10-28 15:29:53 +08:00
2025-09-17 15:49:03 +08:00
2025-10-28 15:29:53 +08:00
2025-09-17 15:49:03 +08:00
2025-10-28 15:29:53 +08:00
2025-10-28 15:30:06 +08:00
2024-07-23 18:00:21 +08:00
2022-07-15 23:42:08 +08:00
2022-07-15 23:42:08 +08:00
2024-03-04 22:00:47 +08:00
2024-03-04 22:00:47 +08:00
2024-03-04 22:00:47 +08:00
2025-12-31 00:02:48 +08:00
2025-12-31 00:02:48 +08:00
2025-10-05 16:02:17 +08:00
2024-05-20 23:18:05 +08:00
2024-05-20 23:18:05 +08:00
2024-05-20 23:18:05 +08:00
2024-05-20 23:18:05 +08:00
2024-05-20 23:18:05 +08:00
2025-10-28 15:29:54 +08:00
2024-03-04 22:00:47 +08:00
2024-05-20 23:18:05 +08:00
2022-07-15 23:42:08 +08:00
2024-05-20 23:18:05 +08:00
2024-05-20 23:18:05 +08:00
2024-05-20 23:18:05 +08:00
2022-07-15 23:42:08 +08:00
2025-09-18 16:49:36 +08:00
2025-09-18 10:18:18 +08:00
2025-10-05 16:02:17 +08:00
2025-10-05 16:02:17 +08:00
2025-10-05 16:02:17 +08:00
2025-10-28 15:30:06 +08:00
2025-10-05 16:02:17 +08:00
2025-10-05 16:02:17 +08:00
2025-10-05 16:02:17 +08:00
2025-10-05 16:02:17 +08:00
2025-10-28 15:29:54 +08:00
2025-10-28 15:29:54 +08:00
2026-07-09 19:42:21 +08:00
2026-07-09 19:42:21 +08:00
2026-05-21 09:04:26 +08:00
2025-10-08 17:05:55 +08:00
2025-10-08 17:05:55 +08:00
2025-10-05 16:02:17 +08:00
2022-12-15 04:38:15 -05:00
2022-12-15 04:38:15 -05:00
2022-12-15 04:38:15 -05:00
2022-12-15 04:38:15 -05:00
2022-12-15 04:38:15 -05:00
2022-12-15 04:38:15 -05:00
2022-12-15 04:38:15 -05:00
2022-12-15 04:38:15 -05:00
2022-12-15 04:38:15 -05:00
2022-12-15 04:38:15 -05:00
2022-12-15 04:38:15 -05:00
2025-10-05 16:02:17 +08:00
2025-10-05 16:02:17 +08:00
2025-10-05 16:02:17 +08:00
2024-05-20 23:18:05 +08:00
2025-07-18 16:01:25 +08:00
2024-05-20 23:18:05 +08:00
2024-05-20 23:18:05 +08:00
2023-08-08 22:14:20 +08:00
2023-08-08 22:14:20 +08:00
2025-08-26 10:26:29 +08:00
2024-07-23 18:00:21 +08:00
2024-03-04 22:00:47 +08:00
2025-10-26 16:13:14 +08:00
2025-10-26 16:13:14 +08:00
2025-10-26 16:13:14 +08:00
2025-10-26 16:13:14 +08:00
2023-03-09 01:05:51 +08:00
2025-08-24 23:18:19 +08:00
2025-10-28 15:29:54 +08:00
2025-10-28 15:29:54 +08:00
2025-10-05 16:02:17 +08:00
2025-10-05 16:02:17 +08:00
2025-09-17 10:44:26 +08:00
2024-03-04 22:00:47 +08:00
2023-08-08 22:14:20 +08:00
2022-12-15 04:38:15 -05:00
2025-10-28 15:29:54 +08:00
2022-07-15 23:42:08 +08:00
2025-09-05 17:54:48 +08:00
2024-03-04 22:00:47 +08:00
2024-03-04 22:00:47 +08:00
2024-03-04 22:00:47 +08:00
2023-03-17 21:05:54 +08:00
2023-03-17 19:16:36 +08:00
2023-03-17 19:16:36 +08:00
2023-08-09 13:42:41 +08:00
2023-04-12 17:05:23 +08:00
2024-03-04 22:00:47 +08:00
2023-08-09 13:42:41 +08:00
2025-10-05 16:02:17 +08:00
2025-12-18 12:17:29 +00:00
2025-12-18 12:17:29 +00:00
2026-07-02 17:49:36 +08:00
2024-05-20 23:18:05 +08:00
2024-05-20 23:18:05 +08:00
2024-05-20 23:18:05 +08:00
2025-10-05 16:02:17 +08:00
2025-10-05 16:02:17 +08:00
2025-10-05 16:02:17 +08:00
2025-10-05 16:02:17 +08:00
2024-05-20 23:18:05 +08:00
2024-05-20 23:18:05 +08:00
2024-05-20 23:18:05 +08:00
2024-05-20 23:18:05 +08:00
2024-05-20 23:18:05 +08:00
2025-10-08 17:05:55 +08:00
2025-10-05 16:02:17 +08:00
2026-05-10 02:21:13 +08:00
2026-05-10 02:21:13 +08:00
2025-10-28 15:29:51 +08:00
2025-10-28 15:29:54 +08:00
2025-08-24 23:18:19 +08:00
2025-10-28 15:30:02 +08:00
2025-10-12 12:53:13 +08:00
2025-10-05 16:02:17 +08:00
2025-10-05 16:02:17 +08:00
2024-05-20 23:18:05 +08:00
2025-04-20 13:20:20 +08:00
2025-10-05 16:02:17 +08:00
2022-07-15 23:42:08 +08:00
2023-03-17 21:05:54 +08:00
2025-10-05 16:02:17 +08:00
2025-10-05 16:02:17 +08:00
2025-10-05 16:02:17 +08:00
2024-05-20 23:18:05 +08:00
2024-05-20 23:18:05 +08:00
2024-03-04 22:00:47 +08:00
2022-12-15 04:38:15 -05:00
2023-08-08 22:14:20 +08:00
2023-08-08 22:14:20 +08:00
2025-12-18 12:17:29 +00:00