Adds PDFSHXTEXT with the PDF Text Recognition Settings dialog, its
command-line form, the PDFSHXLAYER / PDFSHXBESTFONT / PDFSHXTEXTSETTINGS
variables and the profile settings they are kept in.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
The viewport hides the system cursor for its crosshair, and the progress
card's backdrop claimed no cursor of its own, so while a drawing opened
the pointer vanished over the viewport and Cancel could not be aimed at.
The backdrop now shows the arrow. (#1727)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
The DGN V7/V8 readers expose each element (level, symbology, geometry,
complex chains, text nodes, shared cells). DGNIMPORT / -DGNIMPORT convert a
model with the Standard mapping into a new drawing; IMPORT opens the
Import File window and routes PDF and DGN files to their importers.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
TEXT and MTEXT objects are merged into one MTEXT (top-down or in
selection order, word-wrapped or one paragraph per object, with the
original pitch kept as line spacing) or each TEXT and MTEXT line becomes
an MTEXT of its own. The SEttings option opens the Combine Text settings
dialog; the settings persist as profile values and are exposed as the
TXT2MTXT* variables and the txt2mtxt_settings automation action.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Import File split button (PDF Import / DGN Import / Import), Recognize
SHX Text, Recognition Settings and Combine Text; Land XML moves to the
panel slide-out and Open leaves the panel. Ribbon commands may be menu
macros (`;` answers the running command's prompt). KeyTips IF, PI, DI,
OI, PS, PT, TM; labels in every locale.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
- Block Attribute Manager: the error band's dismiss button is the close
icon, not a "×" glyph the web build may not have.
- Two signatures wrapped to the 100-column limit.
- MCP tool schema digest updated for the new `block_def_dialog` and
`attman_dialog` actions.
- Measurement docs: MEASUREGEOM's Quick mode.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Add a dockable Block Editor palette with selectable Parameters, Actions,
Parameter Sets and Constraints pages, reusing shared dock controls, icons
and ribbon-style hover bubbles.
Parameters, Actions, Parameter Sets and Block Properties Table are UI
catalogs only. Their entries remain disabled; this commit does not add
parameter placement, dynamic action behavior, parameter-set authoring or
block properties table functionality.
The Constraints page connects its geometric and dimensional entries to
existing ribbon commands. It reuses their implementations and adds no new
constraint behavior.
Keep the palette specific to BEDIT and retain its placement and selected
page across closing/reopening and Test Block. Opening, closing, switching
pages and clicking disabled entries preserve the document, undo history
and any running command.
Validation: 7 palette tests, 57 dock checks and 46 ribbon checks passed
(overlapping groups); rendered pages inspected and native debug build passed.
Add the no-selection Block section with annotation, orientation, scaling, exploding, units, description and hyperlink controls. Integrate definition edits with editor history, save checkpoints and discard, and keep staged text tied to its definition.
Persist annotation and hyperlink metadata on the block record, migrate legacy marker values on edit, and honor orientation and hyperlink descriptions during block creation. Cover native DWG/DXF roundtrips and replacement after reopening.
Options → User Preferences → Navigation style picks which mouse
gestures pan and orbit the model view (#1480):
- CAD (default): middle button pans, Shift + middle button orbits.
- Blender: middle button orbits, Shift + middle button pans.
- CATIA: middle button pans; pressing the left button during it orbits,
so 3D navigation needs only the mouse.
An armed orbit tool always orbits. The choice is saved with the user
settings.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
A selected block reference is previewed from its definition placed by
the reference's transform; the no-objects band is amber.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Live changes are taken back quietly before Apply, OK or Sync write the
list again, so each leaves exactly one undo step even when something
closed the open live step in between; Cancel takes them back without a
command-line notice. References keep their values through renames made
live.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
BATTMAN and ATTMAN open a manager for the attribute definitions of one
attributed block: block chips with reference counts and a pick button,
a table whose columns are chosen with chips, move up/down, remove, and
an edit card (Attribute / Text / Properties) for the selected row. Apply,
OK and Sync write the list back to the block definition and, when asked,
rebuild the existing references keeping values through tag renames;
each is one undo step. Live changes are taken back on Cancel. Automation
gains attman_dialog.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
The name card draws the selected objects, or the existing definition the
name picks. OK with no objects shows an in-window band offering to select
objects or to define an empty block. A switch opens the new block in the
block editor once it is defined; it is remembered with the other dialog
choices. Automation gains block_def_dialog.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
The Block Definition panel's Create Block is a split button listing
Create Block and Write Block; its face runs the last one chosen. The
slide-out lists Set Base Point and Synchronize with their labels, and
the large buttons read Manage Attributes and Block Editor.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Options > Files lets the fonts and plot style folders move elsewhere,
such as a share a whole team uses (Change... / Default). Fonts are then
looked up and downloaded there, and plot style tables listed and saved
there; the choice is kept in the profile.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
The color_book_dirs setting is gone. Colour books live in color_books in
the config folder (book::folder()), like the other fixed locations;
Options > Files shows it through Folders::color_books. read_all() and
load_from_dialog() use that folder directly.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_013rGmDUNr1hUf4zo1X3dak8
Options > Files lists the color book folder as a read-only row with Open
folder, like Plot styles or Fonts. The Add folder / Remove buttons, their
messages and the explanatory line (in all 22 locales) are gone; the
folder list stays in the settings for a later location option.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_013rGmDUNr1hUf4zo1X3dak8
book::load_from_dialog (pick, read, copy into the first folder) and
book::read_all (built-in book plus every .acb in the folders) move out of
update/mod.rs, which now just calls them. Same behaviour.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_013rGmDUNr1hUf4zo1X3dak8
- book::add_or_replace adds a colour book or replaces one of the same
name, for both reading the folders and loading a file.
- style.rs: the Plot Style and View Background colour targets use
math::color_rgb (and hex_string) instead of their own conversions.
- Ribbon: one layer_color lookup for Ribbon::active_layer_color and the
ribbon's ByLayer swatch.
- Picker: one swatch() for the Index and Document swatches, fill_of() for
"colour or gray" and divider() for the 1 px separators.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_013rGmDUNr1hUf4zo1X3dak8
- Arrow keys only walk the colours on screen: the Document tab's search
results, and the Color books matches while searching (the whole book,
page after page, otherwise). One helper per tab now gives the visible
colours to both the view and the arrow keys.
- show_identity no longer returns an unused bool; ink() absorbs its
one-use ink_is_dark helper.
- document::layer_identity joins a layer's book and colour name, used by
the Document scan and the panel's current colour instead of two copies.
- Recently-used sorting looks a colour's rank up once (sort_by_cached_key)
instead of on every comparison.
- Searching compares case-insensitively without allocating a lower-case
copy of every name on each redraw (ASCII queries).
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_013rGmDUNr1hUf4zo1X3dak8
- The pipette is Phosphor Icons' "eyedropper" (regular, MIT); its
licence is in assets/icons/ui/LICENSE-phosphor.txt and the SVG header.
- The load-book button and the page strip's up/down arrows use the active
tab's colours (background.strong and its text colour), slightly darker
on hover.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_013rGmDUNr1hUf4zo1X3dak8
- Colour books now come from folders, like AutoCAD's Color Book
Locations: Options > Files lists them (add, open, remove); by default
one color_books folder in the config directory. The Color Books tab
shows the built-in books plus every .acb in those folders; Load copies
the chosen file into the first folder. Web: session only, as before.
- Grid/list buttons use the app's toggle style (light accent, its text
colour for the icon, same corners as inactive).
- Color Books: the load button sits right of the book list; the search
box keeps its start over the page strip and runs to the end.
- Translations for the two new Options strings in all 22 locales.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_013rGmDUNr1hUf4zo1X3dak8
- Info line shows a colour-book colour as "BOOK - NAME".
- Document tab: a search box (by name) replaces the "Colors in this
drawing" heading; grid swatches no longer carry text; larger grid/list
icons, dark on the accent colour when active, like the OK button.
- Color books tab: no "Color book"/"Find" labels; the book list is as
wide as the colour bars, and the search box (magnifier, gray "Search")
and load button sit over the page strip and RGB values, all 28 px high;
the load button and page arrows use the button's dark text colour.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_013rGmDUNr1hUf4zo1X3dak8
ByLayer swatches were always gray. The Select Color panel's Current/New
band and info line now show the colour of the layer the colour is for
(the newest selected object's layer, or the current layer for new
objects); the ribbon's colour control and the ByLayer row of its colour
dropdown show the current layer's colour.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_013rGmDUNr1hUf4zo1X3dak8
-BLOCK, -WBLOCK, -BEDIT, ATTSYNC, BASE and INSBASE follow the reference
prompts and messages; empty blocks; WBLOCK keeps object coordinates and
stores INSBASE; annotative and hyperlink data on the block record; block
preview images; remembered dialog choices; block aliases.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Open the Edit Block Definition dialog when BEDIT is invoked without an active selection, listing candidate block definitions alphabetically while filtering layout records, anonymous blocks, and external references. Allow typing a new valid block name to start an empty block editor session that only commits to the drawing block table upon explicit save.
Preview the current unsaved block in a disposable drawing with independent history. Keep normal Draw tools available, append Close Test Block, and return to the original editor without saving. Guard persistence paths and handle refresh and parent-close lifecycle by stable document identity.
- True Color opens in RGB; the gradient field, hex and nearest index sit
at the bottom so CMYK's fourth slider doesn't move them; slider rows
closer together.
- Document tab: grid or list view (list drawn like the colour-book bars),
and Name A–Z / Z–A sorting (translated in all locales). Swatches of
colour-book colours show the colour's name.
- A colour-book colour picked as the current colour (nothing selected)
keeps its BOOK$NAME on the objects drawn with it.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_013rGmDUNr1hUf4zo1X3dak8
A code the reference shows on two buttons runs the button whose command
the reference runs for it (VC runs Viewport Configuration), decided by
the code table's order. Labels, combo values and panel titles report
their bounds while key tips are open, and each code takes the first
spot nearest the reference place that covers none of them nor another
code; a collapsed panel's title is measured to place its code beside
the words.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
- Editor modes RGB, HSB and CMYK; the saturation/brightness field and hue
strip now sit below the sliders in every mode instead of being a mode.
- The panel opens on the Document tab.
- Built-in colour books: RAL CLASSIC and SIKKENS 4041 (Open Colour
Systems Collection 2.0, CC BY-ND 4.0); CSS COLORS removed.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_013rGmDUNr1hUf4zo1X3dak8
Quick-access buttons take the numbers the reference toolbar gives the
same buttons (Print 6, Undo 7, Redo 8). Codes the reference shows on two
buttons appear on both, the first in ribbon order running. Codes sit
where the reference puts them: under tab and large-button labels, on a
large dropdown's arrow strip, with their corner at the icon's centre on
icon buttons, and centred on panel titles and the corner launcher; a
button code a panel code would cover rises clear of it.
Co-Authored-By: Claude Opus 5.5 <[email protected]>