cyfung1031
bcd6322ee9
Plotting: honor model-space center and X/Y offsets ( #751 )
...
* plot: add bounded model-space paper placement
* plot: expose center and paper offset parameters
* ui: add model-space Plot offset controls
2026-10-13 04:34:04 -04:00
Marco Arnulfo
e71e17a8df
View: refuse a view that maps to an infinite viewport view, keeping the viewport ( fixes #714 ) ( #749 )
2026-10-13 04:33:59 -04:00
Marco Arnulfo
08cfbd5dd7
Select: pick a SOLID inside its fill, not its bounding rectangle ( fixes #718 ) ( #747 )
2026-10-13 04:33:52 -04:00
cyfung1031
890f7f1c6f
Performance: reuse nearby snap geometry for tracking acquisition ( #698 )
...
Squash of PR #698 by @cyfung1031.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 03:35:13 -04:00
mayloglog
4bb3acb913
Add Chinese language support to preferences ( #684 )
...
Squash of PR #684 by @mayloglog.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 03:28:17 -04:00
aldozar
0675648de8
Hatch: pick the pattern from swatches instead of typing its name ( fixes #669 ) ( #679 )
...
Squash of PR #679 by @aldozar.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 03:21:49 -04:00
aldozar
c2f8782cc2
Plot dialog: device, plot style table, Window <, and a preview of its settings ( #673 )
...
Squash of PR #673 by @aldozar.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 03:21:33 -04:00
aldozar
d365b60704
MIRROR and PASTE previews on the GPU; GPU previews in layouts too ( #655 )
...
Squash of PR #655 by @aldozar.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 03:21:18 -04:00
aldozar
cf797cbafe
Build the screen's model-space display list on all cores; read-write locks for glyph caches ( #654 )
...
Squash of PR #654 by @aldozar.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 03:21:04 -04:00
Lion
935cb98eed
SCRIPT command: run .scr files from the command line, menus and JSON (gaps.md E2) ( #693 )
...
Squash of PR #693 by @Lion-1209.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 03:13:51 -04:00
Diego Ospina
0178858e79
i18n(es): add 219 missing rows, fix mistranslations and terms ( #680 )
...
Squash of PR #680 by @diegozpy.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 03:13:36 -04:00
rangoDJ
875f99d26f
Deduplicate identical boundary loops to prevent empty hatch fills ( #671 )
...
Squash of PR #671 by @rangoDJ.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 03:13:20 -04:00
MarekSpodBiedry
69ea207617
Cache active viewport highlights per zoom band so zoom and pan stay smooth ( #687 ) ( #695 )
...
Squash of PR #695 by @MarekSpodBiedry.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 03:13:04 -04:00
Books
546eefc58a
Zoom the canvas by each mouse-wheel notch in the frame it arrives ( #692 )
...
Squash of PR #692 by @SBaksa.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 03:12:49 -04:00
rangoDJ
9a0d1b3a62
Prioritize command aliases in autocomplete and display shortcut match ( #656 )
...
Squash of PR #656 by @rangoDJ.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 03:12:17 -04:00
aldozar
507c5e5b34
File tabs: cut long drawing names short with an ellipsis ( #657 )
...
Squash of PR #657 by @aldozar.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 03:11:59 -04:00
Jason Brashear
bc6dc997ef
AUNITS: degrees/minutes/seconds angles round at the displayed precision ( #672 )
...
Squash of PR #672 by @webdevtodayjason.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 03:11:42 -04:00
aldozar
6ca8cec97d
BRICK: draw each vertical joint once ( #664 )
...
Squash of PR #664 by @aldozar.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 03:11:25 -04:00
CaseyKleinman
f8cb50eaa3
DXF: write kept application data groups as read, not as handle lists ( #681 )
...
Squash of PR #681 by @CaseyKleinman.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 03:11:09 -04:00
markmonkey
b6f2e86f78
Show block insertion XYZ in Properties Inspector ( #682 )
...
Squash of PR #682 by @markmonkey.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 03:10:53 -04:00
aldozar
c57879a5c8
GPU errors and device loss: keep running, autosave at once, tell the user ( #652 )
...
Squash of PR #652 by @aldozar.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 20:42:45 -04:00
PedroGuille
2404719c3b
Fix filled text zoom freezes with cached glyph meshes ( #651 )
...
Squash of PR #651 by @PedroGuille.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 20:42:29 -04:00
rangoDJ
90cd443000
Add regression tests for Plot Preview toolbar button ( fixes #442 ) ( #653 )
...
Squash of PR #653 by @rangoDJ.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 20:42:14 -04:00
PedroGuille
ac9483c9c1
Add raw-HID SpaceMouse 2D navigation ( #650 )
...
Squash of PR #650 by @PedroGuille.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 20:29:48 -04:00
pechnikov2026-star
ade5469a24
i18n: add Russian, Spanish, French, Portuguese and German interfaces ( #624 )
...
Squash of PR #624 by @pechnikov2026-star.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 20:22:47 -04:00
Daniel Lošák
6d7c652b65
i18n: add Czech (cs) interface language ( #639 )
...
Squash of PR #639 by @Losminek.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 20:11:51 -04:00
Gert Pellin - GPE
f7c6293d09
feat: SVG import — read SVG and SVGZ into native entities ( #636 )
...
Squash of PR #636 by @switch87.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 20:11:22 -04:00
Valentin Klein
89064fd82a
Drafting/plot/UI follow-ups: PolarSnap over isometric snap, MVIEW Restore, plot margins, PNG/SVG pens, PE_URL links, OPTIONS settings (part of #626 ) ( #633 )
...
Squash of PR #633 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 20:11:06 -04:00
aldozar
1e1f68bf40
Fix fatal wgpu buffer overflow; draw MOVE/COPY/ROTATE/SCALE previews and the selection highlight on the GPU ( #642 )
...
Squash of PR #642 by @aldozar.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 20:10:51 -04:00
STE1200
244feb6e89
Render: level of detail and view clipping for pattern hatches on screen ( fixes #544 ) ( #638 )
...
Squash of PR #638 by @STE1200.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 20:10:37 -04:00
aldozar
135c928fea
Hatches: draw the pattern definition stored in the file; scale library patterns in metric drawings ( #643 )
...
Squash of PR #643 by @aldozar.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 19:54:18 -04:00
Valentin Klein
9477f37503
File-format follow-ups: version-gated MULTILEADER and DIMSTYLE groups, kept $DWGCODEPAGE, PURGE multiline styles ( #632 )
...
Squash of PR #632 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 19:54:03 -04:00
Muhi
2fa967db65
fix(io): write DXF CLASS instance counts and preserve current leader style ( #635 )
...
Squash of PR #635 by @The-Great-Nothing.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 19:53:33 -04:00
Gert Pellin - GPE
4e276db858
Tool Sets: the gear on a category header opens that category's options ( #620 )
...
Squash of PR #620 by @switch87.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 19:53:19 -04:00
rangoDJ
9b3674e01f
Make right palette collapse arrow interactive ( fix #617 ) ( #640 )
...
Squash of PR #640 by @rangoDJ.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 19:53:05 -04:00
MarekSpodBiedry
c5ebf4d1cd
Keep inter-word spaces in stroke-font MTEXT ( #628 ) ( #644 )
...
Squash of PR #644 by @MarekSpodBiedry.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 19:52:51 -04:00
MarekSpodBiedry
83b8a84050
Add PTYPE as an alias of the Point Style command ( #622 ) ( #645 )
...
Squash of PR #645 by @MarekSpodBiedry.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 19:52:37 -04:00
PedroGuille
54ea5e743a
Spanish translation ( #610 )
...
Squash of PR #610 by @PedroGuille.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 14:42:39 -04:00
arekown
d7f3e48362
Add German (de) interface language ( #573 )
...
Squash of PR #573 by @arekown.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 14:36:40 -04:00
PedroGuille
f967dc7aca
Persist SNAPUNIT and GRIDUNIT in DXF ( fix #607 ) ( #614 )
...
Squash of PR #614 by @PedroGuille.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 14:28:56 -04:00
Valentin Klein
e1e61a13b5
feat(modify): SPLINEDIT Join, Edit vertex Add and Elevate order ( #559 )
...
Squash of PR #559 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 14:28:41 -04:00
MarekSpodBiedry
5ef32b3afa
Select: pick pattern hatches on their visible strokes ( #489 ) ( #599 )
...
Squash of PR #599 by @MarekSpodBiedry.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 14:28:14 -04:00
MarekSpodBiedry
04aa716920
Page Setup: report unsupported layout plot areas as not available yet ( #491 ) ( #597 )
...
Squash of PR #597 by @MarekSpodBiedry.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 14:28:00 -04:00
MarekSpodBiedry
d431b485bd
STYLE typed with no arguments opens the Text Style dialog instead of an error ( #535 ) ( #590 )
...
Squash of PR #590 by @MarekSpodBiedry.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 14:27:32 -04:00
MarekSpodBiedry
41c3c83fb9
AREA: refuse an open elliptical arc instead of measuring the whole ellipse ( #487 ) ( #601 )
...
Squash of PR #601 by @MarekSpodBiedry.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 14:04:40 -04:00
MarekSpodBiedry
5cb54c3969
Include multileader text in its bounds so zoom, window selection and viewports keep the whole text ( #488 ) ( #600 )
...
Squash of PR #600 by @MarekSpodBiedry.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 14:04:24 -04:00
MarekSpodBiedry
0b5a0a2eb8
Plot: apply an explicit scale to non-fitted layout plots ( #490 ) ( #598 )
...
Squash of PR #598 by @MarekSpodBiedry.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 14:04:10 -04:00
MarekSpodBiedry
73c91cbac5
Command line keyboard input works while the command line is hidden ( #497 ) ( #595 )
...
Squash of PR #595 by @MarekSpodBiedry.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 14:03:55 -04:00
MarekSpodBiedry
d51971b6d7
Parameters Manager: keep a pending expression when the window loses focus ( #498 ) ( #594 )
...
Squash of PR #594 by @MarekSpodBiedry.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 14:03:40 -04:00
MarekSpodBiedry
0fcf46d487
OFFSET: full ellipse copy goes to the side of the picked point ( #501 ) ( #591 )
...
Squash of PR #591 by @MarekSpodBiedry.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 14:03:24 -04:00
MarekSpodBiedry
f1919e31a5
Text style rename: update text inside block definitions ( #472 ) ( #588 )
...
Squash of PR #588 by @MarekSpodBiedry.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 14:03:07 -04:00
MarekSpodBiedry
6ef1e62755
Properties: turn a block reference's attribute text with its Rotation edit ( #473 ) ( #587 )
...
Squash of PR #587 by @MarekSpodBiedry.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 14:02:52 -04:00
MarekSpodBiedry
9e22617679
layer.delete: clear the deleted layer from viewport freeze and colour overrides ( #474 ) ( #586 )
...
Squash of PR #586 by @MarekSpodBiedry.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 14:02:36 -04:00
MarekSpodBiedry
c245e1de35
INSERT with explode records one undo step ( #475 ) ( #585 )
...
Squash of PR #585 by @MarekSpodBiedry.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 14:02:21 -04:00
MarekSpodBiedry
f59b32cac7
properties.set rejects a linetype that is not loaded ( #476 ) ( #584 )
...
Squash of PR #584 by @MarekSpodBiedry.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 14:02:06 -04:00
MarekSpodBiedry
3f781c3395
Align Text > Angle asks for the angle instead of failing with a missing-parameter error ( #478 ) ( #582 )
...
Squash of PR #582 by @MarekSpodBiedry.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 14:01:51 -04:00
MarekSpodBiedry
b23b45e976
Properties: reject a malformed lineweight instead of setting 0.25 mm ( #480 ) ( #580 )
...
Squash of PR #580 by @MarekSpodBiedry.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 13:41:25 -04:00
MarekSpodBiedry
fc30f2c2ea
Properties: changing a block's scale moves and resizes its attributes ( #481 ) ( #579 )
...
Squash of PR #579 by @MarekSpodBiedry.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 13:41:10 -04:00
MarekSpodBiedry
63a0ab4a32
dimstyle.rename and delete: cover dimensions inside block definitions ( #482 ) ( #578 )
...
Squash of PR #578 by @MarekSpodBiedry.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 13:40:55 -04:00
MarekSpodBiedry
d3ae8f3a8b
Dimension Space asks for the base, the dimensions and the spacing instead of failing ( #483 ) ( #577 )
...
Squash of PR #577 by @MarekSpodBiedry.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 13:40:39 -04:00
MarekSpodBiedry
3363d4a78c
SETVAR keeps text variables such as CLAYER as text, so a layer named 10 can be selected ( #484 ) ( #576 )
...
Squash of PR #576 by @MarekSpodBiedry.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 13:40:25 -04:00
MarekSpodBiedry
a5a9e3ef63
SETVAR accepts point objects for SNAPBASE, LIMMIN, LIMMAX and INSBASE ( #485 ) ( #575 )
...
Squash of PR #575 by @MarekSpodBiedry.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 13:40:10 -04:00
PedroGuille
40aa4fbf49
Fix OFFSET distance clicks and source picking ( #618 )
...
Squash of PR #618 by @PedroGuille.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 13:39:55 -04:00
PedroGuille
a181bbd609
Fix Measure Distance snapping through layout viewports ( #616 )
...
Squash of PR #616 by @PedroGuille.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 13:39:39 -04:00
Valentin Klein
b6383b5f3c
feat(file): COMPARE drawings with overlay and change areas ( fixes #563 ) ( #572 )
...
Squash of PR #572 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 13:25:17 -04:00
Valentin Klein
74e72c93f8
Plotters: device configurations with paper sizes and printable areas ( fixes #564 ) ( #570 )
...
Squash of PR #570 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 13:25:00 -04:00
Valentin Klein
7e437cb62d
feat(ui): QuickCalc palette; CAL points, vector functions, unit conversion (part of #563 ) ( #569 )
...
Squash of PR #569 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 13:24:46 -04:00
Valentin Klein
7a13ca7d05
PDF export: real text in embedded TrueType subsets (part of #560 ) ( #571 )
...
Squash of PR #571 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 13:24:14 -04:00
Valentin Klein
70b0cce997
PDF export: layers as PDF layers (OCG), several sheets per file, hyperlinks (part of #560 ) ( #567 )
...
Squash of PR #567 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 13:23:59 -04:00
Tasos Sangiotis
a880f8a4b0
DXF: keep full-circle, spline and clockwise ellipse hatch edges ( fixes #492 , #493 , #494 ) ( #549 )
...
Squash of PR #549 by @tsangiotis.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 13:23:45 -04:00
Valentin Klein
8f59410c33
Plot styles: apply line end, join and fill styles (part of #564 ) ( #566 )
...
Squash of PR #566 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 13:13:32 -04:00
Valentin Klein
0bab712575
feat(inquiry): COUNT across layouts and nested blocks, COUNTLIST, COUNTTABLE (part of #563 ) ( #565 )
...
Squash of PR #565 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 13:13:18 -04:00
Valentin Klein
c4cc40355a
feat(drafting): isometric snap/grid, ISODRAFT, ISOPLANE, ELLIPSE Isocircle ( #561 )
...
Squash of PR #561 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 13:13:02 -04:00
Valentin Klein
d2fda54e8a
feat(modify): PEDIT Edit vertex Break/Straighten/Tangent/Regen, SPLINEDIT fit data and vertex options, closed-spline fit tolerance (part of #554 ) ( #558 )
...
Squash of PR #558 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 13:12:46 -04:00
Valentin Klein
d0dd5cfe16
Support files: DWT templates for NEW/QNEW, SAVEAS .dwt, user alias files ( fixes #552 ) ( #562 )
...
Squash of PR #562 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 13:12:32 -04:00
Valentin Klein
9fd1b8988d
Support files: user .lin linetypes and .pat hatch patterns (part of #552 ) ( #557 )
...
Squash of PR #557 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 13:12:17 -04:00
Brandon Thomas
52015c0b17
CONSTRAINTINFER test: make the array of copies explicitly non-associative ( #621 )
...
Arrays are associative by default since #455 , so arrayrect makes one
block reference; the test wants many separate objects.
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 12:49:35 -04:00
Valentin Klein
0135e793f7
Constraints: CONSTRAINTINFER while drawing and editing, DOF status on the canvas ( fixes #546 ) ( #555 )
...
Squash of PR #555 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 12:48:06 -04:00
Valentin Klein
58eefa8432
Constraints: DOF report, G2 Smooth, ellipse/spline/block geometry (part of #546 ) ( #550 )
...
Squash of PR #550 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 12:47:53 -04:00
Valentin Klein
9ca0dcf7d4
Tables: table breaking and CSV data links ( fixes #534 ) ( #553 )
...
Squash of PR #553 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 12:47:39 -04:00
Valentin Klein
784a7937ef
Tables: cell styles, formulas, TABLEDIT and TABLEEXPORT (part of #534 ) ( #548 )
...
Squash of PR #548 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 12:47:25 -04:00
Valentin Klein
8005201db9
feat(text): MTEXT paragraph formatting (indents, tabs, lists) and columns ( #547 )
...
Squash of PR #547 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 12:47:12 -04:00
Valentin Klein
a4504cc098
DXF: keep what we don't model on save — unknown entities and objects, foreign xdata, extension dictionaries, reactors, colour books ( fixes #528 ) ( #545 )
...
Squash of PR #545 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 12:46:58 -04:00
Wladmir Júnior
235ef4f9ab
Add Brazilian Portuguese (pt-BR) interface language ( #539 )
...
Squash of PR #539 by @WladmirJunior.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 12:34:47 -04:00
Valentin Klein
b13f1e6fa4
OPTIONS: preferences dialog, JSON form and a user profile that survives restarts ( fixes #23 ) ( #531 )
...
Squash of PR #531 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 12:34:34 -04:00
Valentin Klein
afae36cb60
REGION: region entity, UNION/SUBTRACT/INTERSECT, MASSPROP ( fixes #510 ) ( #526 )
...
Squash of PR #526 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 12:12:09 -04:00
Valentin Klein
bc7744b27b
Xrefs: External References palette and XREF ( fixes #525 ) ( #533 )
...
Squash of PR #533 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 12:11:52 -04:00
Valentin Klein
0230250bf5
Xrefs: XATTACH, -XREF, XBIND, XOPEN; load at open, save only the reference (part of #525 ) ( #530 )
...
Squash of PR #530 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 12:11:37 -04:00
Valentin Klein
c390364a16
Grip dimensional input: length, angle and radius fields while stretching a grip, DYNDIVIS/DYNDIGRIP (part of #519 , stacked on #440 ) ( #527 )
...
Squash of PR #527 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 12:11:22 -04:00
Valentin Klein
57f70b6b46
QDIM: Staggered, Baseline, Ordinate, Radius, Diameter, datumPoint and Edit ( fixes #507 ) ( #524 )
...
Squash of PR #524 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 12:11:07 -04:00
Valentin Klein
8ca4265627
Dynamic Input options menu (DYNPROMPT), second-value lock; INS on ATTDEF/MLEADER, GCEN on closed splines (part of #519 ) ( #523 )
...
Squash of PR #523 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 12:10:52 -04:00
Valentin Klein
c334fedf31
Dimension edits: DIMEDIT Oblique/New/Rotate/Home, DIMJOGGED, DIMJOGLINE, DIMBREAK, DIMINSPECT (part of #507 ) ( #522 )
...
Squash of PR #522 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 12:10:38 -04:00
Valentin Klein
b7b37e29cd
HELIX: helix entity drawn as a spline (part of #510 ) ( #521 )
...
Squash of PR #521 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 12:10:24 -04:00
Jason Brashear
63af07f782
Dimension text: degrees/minutes/seconds angles round at the displayed precision ( #520 )
...
Squash of PR #520 by @webdevtodayjason.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 12:10:11 -04:00
Valentin Klein
fa0ce3c70f
Shortcut menus: command line, drawing and layout tabs, Layers and Properties palettes ( fixes #512 ) ( #518 )
...
Squash of PR #518 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 12:09:56 -04:00
Valentin Klein
289855aa67
MLINE: multiline entity, MLSTYLE and MLEDIT (part of #510 ) ( #517 )
...
Squash of PR #517 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 11:48:27 -04:00
Valentin Klein
997aef85d5
Shortcut menus: command menu while a command runs, selection menu with object edits (part of #512 ) ( #515 )
...
Squash of PR #515 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 11:48:12 -04:00
Valentin Klein
836badce4c
Dimension styles: fit, text movement, suppressed halves, fixed extension lines, linetypes and lineweights and more DIM variables (part of #507 ) ( #514 )
...
Squash of PR #514 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 11:47:57 -04:00
Valentin Klein
43958b537e
DXF: read pre-2007 files in their $DWGCODEPAGE (CJK, Cyrillic, Central European…) ( fixes #505 ) ( #511 )
...
Squash of PR #511 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 11:47:42 -04:00
Valentin Klein
78944a8341
DXF: reopen-and-save keeps one *D block per dimension and stable handles ( fixes #495 ) ( #508 )
...
Squash of PR #508 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 11:47:11 -04:00
Valentin Klein
7ecac5fb66
Tiled model viewports: VPORTS, saved viewport configurations, DXF VPORT table (part of #463 ) ( #504 )
...
Squash of PR #504 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 11:43:11 -04:00
Valentin Klein
c9c3031de9
Named views (VIEW), Zoom Realtime and Dynamic, ZOOMFACTOR (part of #463 ) ( #503 )
...
Squash of PR #503 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 11:42:56 -04:00
Valentin Klein
b4b62e4cf0
FILLET and CHAMFER with polyline segments ( fixes #466 ) ( #502 )
...
Squash of PR #502 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 11:42:41 -04:00
Valentin Klein
8e07de0f4e
Annotative scaling: DXF and status bar annotation scale list ( fixes #468 ) ( #506 )
...
Squash of PR #506 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 11:42:27 -04:00
Valentin Klein
e7bb447d58
Annotative scaling: scale list, CANNOSCALE, OBJECTSCALE, ANNOALLVISIBLE (part of #468 ) ( #486 )
...
Squash of PR #486 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 11:42:13 -04:00
Valentin Klein
c0a19dfb9e
FILLET with elliptical arcs and splines (part of #466 ) ( #470 )
...
Squash of PR #470 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 11:41:59 -04:00
Valentin Klein
ea0f866c7c
EXTEND, JOIN and LENGTHEN on elliptical arcs and splines (part of #466 ) ( #469 )
...
Squash of PR #469 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 11:41:45 -04:00
Valentin Klein
10f7a9b2a3
SETVAR/GETVAR: header variables the commands keep, TRANSPARENCYDISPLAY, dimension variables in SETVAR ? ( fixes #461 ) ( #467 )
...
Squash of PR #467 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 11:36:59 -04:00
Valentin Klein
0371c448f6
DXF: native MULTILEADER read and write instead of LEADER + MTEXT ( fixes #459 ) ( #465 )
...
Squash of PR #465 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 11:36:45 -04:00
Valentin Klein
f3553783a0
UNDO Mark/Back, BEgin/End, Auto and Control; MREDO; UNDOCTL (part of #461 ) ( #464 )
...
Squash of PR #464 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 11:36:30 -04:00
Valentin Klein
6aa7c03fad
Status bar: viewport scale list and lock toggle ( fixes #453 ) ( #462 )
...
Squash of PR #462 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 11:36:16 -04:00
Valentin Klein
d42313cde2
ARRAYEDIT and ARRAYCLOSE for associative arrays ( fixes #448 ) ( #460 )
...
Squash of PR #460 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 11:36:02 -04:00
Valentin Klein
61a8a5f984
Viewports: polygonal, object and clipped viewports, VPCLIP, MVIEW ON/OFF/Lock/Restore (part of #453 ) ( #458 )
...
Squash of PR #458 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 11:35:46 -04:00
Valentin Klein
d6aa802c75
Hatch: HPGAPTOL, pattern origin, separate hatches, island style; HATCHEDIT options and -HATCHEDIT ( fixes #451 ) ( #457 )
...
Squash of PR #457 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 11:29:05 -04:00
Valentin Klein
bd2a7597c5
Associative arrays: ASsociative, Levels and polar ROWs (part of #448 ) ( #455 )
...
Squash of PR #455 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 11:28:48 -04:00
Valentin Klein
e02d1ebd08
Hatch: associative hatches follow their boundary objects; DXF 97/330 source objects (part of #451 ) ( #454 )
...
Squash of PR #454 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 11:28:33 -04:00
Valentin Klein
61812b25de
OVERKILL: tolerance, ignored properties, overlapping and end-to-end lines and arcs, polyline segments ( fixes #439 ) ( #452 )
...
Squash of PR #452 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 11:28:18 -04:00
Valentin Klein
6f1ca71e98
PolarSnap, relative polar angles, Extension on ellipse and spline ends, tracking options in Drafting Settings ( fixes #441 ) ( #450 )
...
Squash of PR #450 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 11:28:02 -04:00
Valentin Klein
a652c57537
MATCHPROP: source/destination picker and Settings (part of #439 ) ( #449 )
...
Squash of PR #449 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 11:27:48 -04:00
Valentin Klein
151722feb0
DATAEXTRACTION and EATTEXT: block and attribute data to rows, CSV and a table ( fixes #433 ) ( #447 )
...
Squash of PR #447 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 11:24:14 -04:00
Valentin Klein
9b136d6c19
Draw order: DRAWORDER Above/Under objects, TEXTTOFRONT, HATCHTOBACK, SORTENTSTABLE read (part of #439 ) ( #446 )
...
Squash of PR #446 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 11:23:59 -04:00
Valentin Klein
9427b77209
Temporary tracking point TT and tracking TK at every point prompt (part of #441 ) ( #445 )
...
Squash of PR #445 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 11:23:45 -04:00
Valentin Klein
77de6af455
BATTMAN: edit, remove and reorder attribute definitions; references follow (part of #433 ) ( #444 )
...
Squash of PR #444 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 11:23:32 -04:00
Valentin Klein
7429e7dcbe
Grips: multifunctional grip menus for polylines, lines and arcs ( fixes #425 ) ( #440 )
...
Squash of PR #440 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 11:23:18 -04:00
Valentin Klein
25c9658908
Select objects: BOX, AUto, SIngle, Multiple, Group and Undo keywords ( fixes #428 ) ( #438 )
...
Squash of PR #438 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 11:23:03 -04:00
Valentin Klein
608aa225a7
Grips: hot-grip options (Base point/Copy/Undo/Reference/eXit) and multiple hot grips (part of #425 ) ( #435 )
...
Squash of PR #435 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 11:22:48 -04:00
Valentin Klein
65d5ee48d3
SELECTSIMILAR and object isolation: ISOLATEOBJECTS, HIDEOBJECTS, UNISOLATEOBJECTS (part of #428 ) ( #434 )
...
Squash of PR #434 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 11:20:02 -04:00
Valentin Klein
b3a73626b2
SAVEAS version and binary DXF, default save version ( fixes #421 ) ( #431 )
...
Squash of PR #431 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 11:19:47 -04:00
Valentin Klein
9e3379882f
TOLERANCE: GD&T feature control frames ( fixes #420 ) ( #427 )
...
Squash of PR #427 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 11:19:32 -04:00
Valentin Klein
139d98bf6f
DXF/DWG at a chosen version 2000–2018 and binary DXF (part of #421 ) ( #426 )
...
Squash of PR #426 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 11:19:18 -04:00
Valentin Klein
475a70e573
Groups: PICKSTYLE group selection, Ctrl+Shift+A and -GROUP options ( fixes #417 ) ( #424 )
...
Squash of PR #424 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 11:19:04 -04:00
Valentin Klein
64eed455e5
Autosave (SAVETIME, SAVEFILEPATH) and Drawing Recovery after a crash ( fixes #406 ) ( #416 )
...
Squash of PR #416 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 11:18:49 -04:00
Valentin Klein
b4777fa8b3
fonts: embed craft-fonts when built with CRAFT_FONTS_DIR ( #321 )
...
Squash of PR #321 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 11:13:43 -04:00
Valentin Klein
d74f7a4108
Right-to-left drawing text: bidi and Arabic-script shaping (Persian, Arabic, Urdu) ( #315 )
...
Squash of PR #315 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 11:13:29 -04:00
Valentin Klein
becb109cc1
Scripts and the command line read a trailing or double space as Enter ( fixes #227 ) ( #229 )
...
Squash of PR #229 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 11:13:15 -04:00
Valentin Klein
6900110291
Select objects: W, C, F, WP and CP selection modes ( fixes #224 ) ( #226 )
...
Squash of PR #226 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 11:13:01 -04:00
Valentin Klein
4e505a6adb
Transparent 'ZOOM/'PAN run nested and resume the interrupted command ( fixes #220 ) ( #221 )
...
Squash of PR #221 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 11:12:47 -04:00
Valentin Klein
c35a952271
Print opens a Plot dialog ( #160 ) ( #200 )
...
Squash of PR #200 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 11:12:34 -04:00
Valentin Klein
699dd1aeca
IMPORT, EXPORT, Plot Preview and Batch Publish; ATTACH, SHARE, 3DORBIT say not available yet (part of #9 ) ( #186 )
...
Squash of PR #186 by @vangel76.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 04:26:39 -04:00
skylar taylor-barrick
58a8494f98
UI: retain shared workspace while merging current main
2026-10-10 18:31:07 -06:00
Valentin Klein
fc4220e9b7
Plot styles: named styles (STB), PLOTSTYLE, STYLESMANAGER and table files (part of #410 ) ( #418 )
...
Layers and objects get a PlotStyle property (ByLayer/ByBlock/name) applied
through named tables (built-in default.stb and monochrome.stb, our own
definitions). DXF keeps the names in the ACAD_PLOTSTYLENAME dictionary of
ACDBPLACEHOLDER objects with group 390 on layers and objects; tables kept in
the drawing travel in a CADCRAFT_PLOTSTYLES XRECORD. PLOTSTYLE sets an object's
or the current (CPLOTSTYLE) style; STYLESMANAGER lists, creates, edits, deletes,
loads and saves tables in our own JSON format (docs/plot-styles.md). A Plot
Style Manager dialog edits a table's styles and the layout's table; the
Properties palette shows the current plot style and table.
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 19:21:24 -04:00
Valentin Klein
58a349772e
Groups: GROUP, UNGROUP and GROUPEDIT commands; erased members leave their groups (part of #417 ) ( #422 )
...
GROUP makes named or unnamed (*A1, *A2…) groups from the selection, typed
("Select objects or [Name/Description]") or as JSON. UNGROUP removes a group
picked by one of its objects or by name. GROUPEDIT adds and removes objects and
renames a group; removing the last object deletes it. groups.list reports them.
After every command, members that no longer exist leave their groups and empty
groups are deleted (undo restores both). The drawing model and the ACAD_GROUP
DXF round trip already existed.
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 19:20:06 -04:00
Valentin Klein
87d1e28345
MLEADER: spline and no-leader types, block content ( fixes #408 ) ( #419 )
...
MLEADER's Options answered "not available yet" for Leader type sPline and
None and for Content type Block. Spline leaders now draw as smooth curves
through their points (DXF LEADER path type 72 = 1); None places only the
content at one picked point; Block asks for a block name and how it
attaches (Center extents or Insertion point) and inserts it at the end of
the landing. MLeader gains `spline` and `block` (serde defaults); DXF stays
LEADER + MTEXT/INSERT. PURGE, RENAME, copy/paste, FLATTEN, grips and
extents follow the block content. The choices are remembered like the
other MLEADER options. docs/gaps.md: top-10 row 5, F1 and F10 narrowed.
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 19:20:02 -04:00
Valentin Klein
a395ec3d2d
SPLINE: Knots, start/end Tangency, toLerance and Object (part of #408 ) ( #413 )
...
SPLINE's Knots, Object, start/end Tangency and toLerance options printed
"not available yet". Fit-point splines now take a knot parametrisation
(chord, square root, uniform), end tangents (clamped cubic with derivative
constraints) and a fit tolerance (least-squares approximation with the
fewest control points that stay within it). The spline keeps these options
so grip and SPLINEDIT edits refit the same way; DXF writes the tolerance
(44) and tangents (12/13) and recovers the parametrisation from the knots.
Object turns 2D/3D polylines with straight segments (PEDIT Spline output)
into splines through their vertices.
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 19:19:57 -04:00
Valentin Klein
3ffe1ca2af
MTEXT: Height, Justify, Line spacing, Rotation, Style, Width, Columns (part of #408 ) ( #415 )
...
The options at MTEXT's "Specify opposite corner" prompt printed "not
available yet". Each now asks its question and returns to the corner
prompt: Height (also sets TEXTSIZE), Justify (TL..BR, the insertion point
is the box's attachment point), Line spacing (At least/Exactly, then a
factor such as 1.5x or a distance), Rotation (picked, or typed through the
drawing's angle settings; the box turns with it), Style (? lists them),
Width (replaces the opposite corner) and Columns (No; Dynamic and Static
say columns are not available yet). MText stores the line spacing style
(DXF group 73) so Exactly round-trips.
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 19:19:53 -04:00
Valentin Klein
ee34f423cc
Plot styles: colour-dependent tables apply to PDF plots and layouts (part of #410 ) ( #412 )
...
A PlotStyleTable model in doc with our own built-in tables (default.ctb keeps
object properties, monochrome.ctb prints black, grayscale.ctb prints the grey of
each colour's luminance). The render builder resolves each object's style by its
index colour (true colours by the nearest index) and applies colour, screening,
linetype and lineweight. PLOT/EXPORTPDF use the page setup's table (or the
plotStyleTable option); layouts with Display plot styles (PAGESETUP
displayPlotStyles, DXF plot flag 2) show it on screen and in PNG/SVG exports.
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 19:19:48 -04:00
Valentin Klein
f537377355
AUDIT and RECOVER: find and fix database errors, open damaged drawings repaired (part of #406 ) ( #411 )
...
AUDIT checks for missing layers, linetypes, styles and block definitions,
current-style variables naming missing entries, invalid geometry (NaN or
infinite numbers, zero-length lines, zero-radius circles and arcs),
block definitions that contain themselves, duplicate handles, and
references to missing objects (dimension associations, groups,
constraints, viewport layer lists). It asks "Fix any errors detected?
[Yes/No] <N>:"; the JSON form `audit {fix?}` returns a structured
report. RECOVER opens a file through the read hook and applies AUDIT's
fixes. A question prompt now shows its answers without "or".
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 19:19:44 -04:00
Brandon Thomas
0ef61cdff5
cargo fmt after the community PR batch
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 18:44:34 -04:00
Valentin Klein
242a00923d
Object snap overrides at point prompts, Shift/Ctrl+right-click snap menu, Tab cycling ( fixes #393 ) ( #409 )
...
Typed END, MID, CEN, GCEN, NOD, QUA, INT, APP, EXT, INS, PER, TAN, NEA,
PAR (any start of the word from three letters, with `_`/`'` prefixes)
and NON push a one-pick snap frame on the point-modifier layer: the
prompt reads "Endpoint of:", a typed point is snapped with that mode
alone within the aperture (or rejected with "No Endpoint found for
specified point."), and the canvas snaps the cursor with it
(Session::snap_override). A command's own keyword still wins (ARC/ZOOM
`cen`); `_cen` always snaps. Overrides nest with FROM and the filters.
Shift+right-click or Ctrl+right-click on the canvas opens the object
snap menu (From, Mid Between 2 Points, Point Filters, the snap modes,
None, Osnap Settings...), whose items type the same overrides. Tab over
a snap marker with nothing typed cycles the candidate snaps
(pointmod::snap_candidates: the running snap first, then the closest of
each mode).
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 18:44:21 -04:00
Valentin Klein
2f9ebc6f63
PLINE arc options and Length, XLINE polyline segments ( fixes #397 ) ( #407 )
...
PLINE arc mode answered "not available yet" for Angle, CEnter, Direction,
Radius and Second pt, and line mode for Length. Each now asks its questions
(included angles and directions read the drawing's angle settings) and adds
the segment. XLINE's options were already in draw2's XlineM2; the dead
keyword stub in draw.rs's RAY machine goes, and Offset/Reference use the
polyline segment picked rather than the first one.
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 18:44:08 -04:00