Frames: state-following ribbon list, DWF/DGN frames, image frame encoding and profile, frame-only picking

- The Frames list shows the drawing's frame state (hide / display and plot /
  display but not plot / frames vary), follows commands, undo and document
  switches, and lists the mixed state as a disabled item.
- DWFFRAME and DGNFRAME are frame variables of their own, kept in the header,
  and FRAME sets them with the others.
- Out-of-range frame values say "Requires an integer between 0 and 2." and
  ask again; a set value reports "Regenerating model.".
- IMAGEFRAME is stored in the image variables as bits (2 is written as 3) and
  a drawing without them uses the profile value, which setting IMAGEFRAME
  updates and the settings file keeps.
- Raster images, PDF underlays and wipeouts are picked on their frame only;
  underlay snap geometry is never picked.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
ramox81andClaude Opus 5.5 committed 2026-09-28 10:53:53 +03:00
1 parent 801882314f
commit 7f8f8457c7
72 files changed
+451 -65

No files matched your search

+6
View File
@@ -1197,6 +1197,12 @@ pub(super) fn message_attribute(source: &str) -> Option<(&'static str, &'static
"Frames & Print" => Some(("insert", "frames-print")),
"Frames Off" => Some(("insert", "frames-off")),
"Frames On" => Some(("insert", "frames-on")),
"Hide frames" => Some(("insert", "hide-frames")),
"Display and plot frames" => Some(("insert", "display-and-plot-frames")),
"Display but don't plot frames" => Some(("insert", "display-not-plot-frames")),
"*Frames vary*" => Some(("insert", "frames-vary")),
"Regenerating model." => Some(("insert", "regenerating-model")),
"Requires an integer between 0 and 2." => Some(("insert", "requires-int-0-2")),
"Frames On, Not Plotted" => Some(("draw", "frames-on-not-plotted")),
"Freeze" => Some(("layers", "freeze")),
"From DXF" => Some(("properties", "from-dxf")),