Commit Graph
123 Commits
Author SHA1 Message Date
ramox81andClaude Opus 5.5 cc7cae7d8e Remove Clipping tools show a small red cross on the clip icon
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-25 14:47:44 +03:00
Hakan SevenandClaude Opus 5.5 f537aff75c feat: node graph overlay; move to opencadcodec/opencadkernel/opencadgraph
The codec and kernel repositories and crates are renamed opencadcodec and
opencadkernel. Inside OCS they are depended on under short keys, so code
reads `codec::`, `kernel::` and the new `graph::` (opencadgraph, the node
graph engine). File-format and protocol spellings stay as they were: the
ACIS product id `acadrust`, the ACADRUST_* switches and the plugin
version keys `acadrust_version` / `acadrust_source`.

A button left of MCP on the command line opens a translucent node graph
over the viewport, with a palette of object, input, math, logic, list,
text and geometry nodes added by click or drag. An object node owns
drawing entities and its rows are the Properties panel's own rows for
them: the single-object page is extracted from refresh_properties as
entity_property_sections, values use the control protocol's
property_json, and writes go through set_property_value with a property
target override, so the panel, MCP and the graph share one read/write
path. A list reaching an object row makes one entity per element. Each
graph action is one undo step; the canvas pans and zooms.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-25 07:34:23 +03:00
ramox81andClaude Opus 5.5 6bd55bc32e Xref attach: Attach dialog, reference prompts, and xref drawings other applications can open
Attach External Reference dialog after XATTACH / ATTACH; ATTACH routes
drawings, PDFs and images; placement prompts and messages follow the
reference (presets, Corner/XYZ, nonzero check, existing definition reuse,
missing file, self-reference); name keeps the file's case; overlay and
path type at attach; one undo step for definition and INSERT; -XREF option
prompt and `?` table; XREF opens the palette; ER alias; xref Properties
rows; dependent symbols flagged and remapped and resolved content left out
of the saved file; dialog_ok automation action; localized labels.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-23 14:44:12 +03:00
Karim Jerbi 652f4d6bbc feat(blocks): implement Block Definition dialog (BLOCK/BMAKE) with on-screen sequencing
Implement the complete Block Definition dialog window launched via BLOCK
and BMAKE commands, featuring standard CAD layout, workflows, and entity
creation pipelines.

- Dialog UI & Layout:
  - 2-column compact CAD grid with synchronized vertical heights (580 × 390px).
  - Editable combobox with existing block names, invalid character validation,
    and inline redefinition badge.
  - Multi-line text editor widget for block descriptions (replacing single-line input).
  - Quick Select (QSELECT) button integration restoring dialog state upon completion.
  - Confirmation guard when attempting to redefine an existing block definition.
  - Centered radio buttons, clean coordinate inputs, and accessible keyboard shortcuts.

- Base Point & On-Screen Workflow:
  - BlockOnScreenCommand strictly enforces prompt sequencing: Base point is
    prompted before object selection.
  - Dynamically recalculates world_to_block and block_to_world affine transforms
    when base point is specified on-screen, preventing stale (0,0,0) normalization.
  - Supports Retain, Convert to block (INSERT placement), and Delete modes.

- Explode Enforcement:
  - Guarded EXPLODE command to prevent decomposing blocks flagged as non-explodable.

- Dynamic Themed Icons:
  - Added pick_point.svg, select_objects.svg, quick_select.svg, and warning_triangle.svg.
  - Routed all icons through the semantic theming engine so line work (#B4B6B9)
    and accents (#6DB7ED) adapt automatically to the active theme.

- Tests:
  - Added unit tests for retain/convert/delete modes, redefinition, explodable flag,
    on-screen base point transform recalculation, and command sequencing.
2026-09-22 17:05:15 +01:00
Hakan Seven 76451f7298 Merge pull request #1331 from ramox81/codex/smooth-constraint-parity
# Conflicts:
#	src/app/commands/styleprops.rs
2026-09-17 17:10:49 +03:00
ramox81 7c6665153c Complete Smooth G2 constraint workflow 2026-09-17 12:39:23 +03:00
ramox81 cbf1e76c69 Fix perpendicular constraint behavior 2026-09-17 10:48:44 +03:00
Christopher Overbeck 6a63726eff Add Windows SpaceMouse navigation through 3DxWare 2026-09-15 13:20:19 -05:00
Felix RiestraandClaude Sonnet 5 0f739b459d Add bounding-box object alignment (ALIGNLEFT/TOP/etc.), ported from Mac2CAM
Six one-shot alignment commands for the current selection —
ALIGNLEFT/ALIGNHCENTER/ALIGNRIGHT/ALIGNTOP/ALIGNVCENTER/ALIGNBOTTOM —
distinct from the existing point-picking ALIGN/ALIGN3D command: each
nudges every selected object (or complete group, via new
Scene::selected_object_units) so its bounding-box edge/center lines up
with the extreme edge/center already present in the selection, closer
to a word processor's "align objects" than AutoCAD's 3-point ALIGN.

Wired as plain one-click Tool entries in the Modify extension panel,
next to the existing ALIGN entry, matching that panel's flat-list
convention (no point prompts, so no dropdown submenu needed).

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-09-15 01:08:41 +02:00
Hakan Seven 7b4cef41f7 Complete parametric ribbon and constraint tools 2026-09-14 01:05:39 +03:00
Hakan Seven 05d95e2e72 Use a centered triangular ruler for measurement tools 2026-09-13 14:34:42 +03:00
Hakan Seven 052b6b239d fix: clean up mobile sponsor artwork 2026-09-13 12:53:24 +03:00
Hakan Seven e2b37edd23 feat: add mobile sponsor banner 2026-09-13 10:28:05 +03:00
Hakan Seven 754cc89fab Merge PR #1216: expose MTP in snap menus 2026-09-12 15:12:04 +03:00
odofaro 03075612fa feat(snap): expose MTP in snap override and context menus
The MTP/M2P midpoint-between-two-points modifier existed as a typed transparent command only. Add it to the Shift+RMB snap override menu as an icon-only cell after Parallel (hover tooltip, no text) with a new osnap/mtp.svg marker, plus a context-menu entry while a point prompt is active.
2026-09-11 17:57:55 +02:00
Hakan Seven 13600996d3 Merge pull request #1176 from Ramox81 2026-09-11 09:55:04 +03:00
Hakan Seven 90af02664d Merge pull request #1175 from Ramox81 2026-09-11 09:55:03 +03:00
Hakan Seven c03bd91b85 Merge pull request #1174 from Ramox81 2026-09-11 09:55:03 +03:00
Hakan Seven ed7be0cda4 Merge pull request #1173 from Ramox81 2026-09-11 09:55:03 +03:00
Hakan Seven 940c6e07f6 Merge pull request #1172 from Ramox81 2026-09-11 09:55:03 +03:00
Hakan Seven a5a0b7ab72 Merge pull request #1171 from Ramox81 2026-09-11 09:55:03 +03:00
Hakan Seven f249452773 Merge pull request #1170 from Ramox81 2026-09-11 09:55:03 +03:00
Hakan Seven 2ee2a7b35c Merge pull request #1169 from Ramox81 2026-09-11 09:55:03 +03:00
Hakan Seven 991abb9174 Merge pull request #1168 from Ramox81 2026-09-11 09:55:03 +03:00
Hakan Seven e735411a24 Merge pull request #1167 from Ramox81 2026-09-11 09:55:03 +03:00
Hakan Seven c731c0cafb Merge pull request #1166 from Ramox81 2026-09-11 09:55:03 +03:00
Hakan Seven fa1f747bf0 Merge pull request #1165 from Ramox81 2026-09-11 09:55:03 +03:00
Hakan Seven 188dbb695d Merge pull request #1164 from Ramox81 2026-09-11 09:55:03 +03:00
ramox81 c56ade3f2e Expose Draw Order in the Modify extension 2026-09-11 09:35:37 +03:00
ramox81 e52965cfb0 Expose Delete Duplicate Objects in the Modify extension 2026-09-11 09:35:29 +03:00
ramox81 0af477544d Expose Copy Nested Objects in the Modify extension 2026-09-11 09:35:23 +03:00
ramox81 4a2ea35644 Expose Reverse in the Modify extension 2026-09-11 09:35:17 +03:00
ramox81 f6d9b52ec5 Expose Join in the Modify extension 2026-09-11 09:35:10 +03:00
ramox81 cd82deff3c Expose Break at Point in the Modify extension 2026-09-11 09:35:04 +03:00
ramox81 d2d0cbc3d7 Expose Break in the Modify extension 2026-09-11 09:34:58 +03:00
ramox81 0b619732a6 Expose Align in the Modify extension 2026-09-11 09:34:51 +03:00
ramox81 c816538237 Expose Edit Hatch in the Modify extension 2026-09-11 09:34:45 +03:00
ramox81 d836d1df38 Expose Edit Spline in the Modify extension 2026-09-11 09:34:38 +03:00
ramox81 4989f882f4 Expose Edit Polyline in the Modify extension 2026-09-11 09:34:31 +03:00
ramox81 558e4d7cfd Expose Lengthen in the Modify extension 2026-09-11 09:34:25 +03:00
ramox81 bf590d7d26 Expose Set to ByLayer in Modify with interactive selection 2026-09-11 09:34:19 +03:00
Felix Riestra ad718def3f Merge remote-tracking branch 'origin/main' into merge-test/main-into-constraints
# Conflicts:
#	src/app/command_driver.rs
#	src/command.rs
#	src/ui/ribbon/mod.rs
#	src/ui/window/options.rs
2026-09-10 23:34:50 +02:00
Felix RiestraandClaude Sonnet 5 bd9a2d08f7 Add Properties-panel Constraints/Parameters sections, a constraint-pill
value toggle, and redesigned constraint-ribbon icons

Properties panel:
- New "Parameters" section (shown with no selection) listing every named
  parameter with inline name/formula editing, add, and delete, backed by
  new PropValue::ParamRow/ParamAddRow and command_driver handlers
  (resolve_named_parameter_edit, on_prop_param_commit/_delete/_add_new).
  A fresh parameter's formula now defaults to "1", not "0" — a 0-length
  seed value is a genuine solver singularity for a Distance constraint
  driven by that parameter, with no defined direction to grow back out of.
- New "Constraints" section (shown for a single selected entity) listing
  every constraint touching it as a clickable PropValue::EntityLink that
  selects the linked entities in the viewport, danger-tinted when the
  constraint conflicts.

Constraint pills:
- New Options > General toggle, "Show values and parameter names on
  constraint markers" (on by default, persisted). Off, every pill shows
  just its bare glyph instead of glyph+driven-value/parameter-name — the
  glyph alone is enough to see a constraint is present, without the value
  text covering nearby geometry on a dense sketch.

Constraint-ribbon icons:
- Replaced all 18 unicode/letter glyph icons (including the plain "F",
  "L", "M", "S" letters) with proper SVGs under assets/icons/constrain/,
  matching the Modify section's two-color style (#B4B6B9 white / #6DB7ED
  blue, consistent stroke width). Tangent reuses the Draw section's
  white-arc-plus-blue-dots motif.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-09-10 23:16:11 +02:00
Hakan Seven f4eeba75df style(icons): refresh editing tool artwork 2026-09-10 22:20:34 +03:00
Hakan Seven 464ebc3140 Merge pull request #1151 from ramox81 2026-09-10 17:15:58 +03:00
Hakan Seven 0c46d2d828 Merge pull request #1150 from ramox81 2026-09-10 17:15:57 +03:00
Hakan Seven 1ad8eccbe6 Merge pull request #1149 from ramox81 2026-09-10 17:15:55 +03:00
Hakan Seven 9e9664c843 Merge pull request #1147 from ramox81 2026-09-10 17:15:50 +03:00
Hakan Seven ae4f739757 Merge pull request #1146 from ramox81 2026-09-10 17:15:49 +03:00
Hakan Seven abfd7943f3 Merge pull request #1145 from ramox81 2026-09-10 17:15:47 +03:00