feat: redesign View tab and fix Annotate/tab order
- Redesign View ribbon tab with 8 groups matching AutoCAD layout:
Viewport Tools (UCS Icon, ViewCube, Navigation Bar),
Navigate, Model Viewports (Viewport Configuration, Named, Join, Restore),
Visual Style (dropdown), Projection, Preset,
Palettes (Tool Palettes, Properties, Sheet Set Manager),
Interface (File Tabs, Layout Tabs, Tile Horiz/Vert, Cascade)
- Add Extract Data and Link Data tools to Annotate → Tables group
- Fix tab order to Home → Insert → Annotate → View → Manage via build.rs PRIORITY list
- Add 17 new SVG icons for all new commands
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-09 12:25:15 +03:00
|
|
|
// View module — viewport tools, navigation, visual styles, palettes, interface.
|
2026-03-22 14:56:27 +03:00
|
|
|
|
feat: redesign View tab and fix Annotate/tab order
- Redesign View ribbon tab with 8 groups matching AutoCAD layout:
Viewport Tools (UCS Icon, ViewCube, Navigation Bar),
Navigate, Model Viewports (Viewport Configuration, Named, Join, Restore),
Visual Style (dropdown), Projection, Preset,
Palettes (Tool Palettes, Properties, Sheet Set Manager),
Interface (File Tabs, Layout Tabs, Tile Horiz/Vert, Cascade)
- Add Extract Data and Link Data tools to Annotate → Tables group
- Fix tab order to Home → Insert → Annotate → View → Manage via build.rs PRIORITY list
- Add 17 new SVG icons for all new commands
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-09 12:25:15 +03:00
|
|
|
mod cascade;
|
|
|
|
|
mod file_tabs;
|
2026-03-22 14:56:27 +03:00
|
|
|
mod hidden;
|
feat: redesign View tab and fix Annotate/tab order
- Redesign View ribbon tab with 8 groups matching AutoCAD layout:
Viewport Tools (UCS Icon, ViewCube, Navigation Bar),
Navigate, Model Viewports (Viewport Configuration, Named, Join, Restore),
Visual Style (dropdown), Projection, Preset,
Palettes (Tool Palettes, Properties, Sheet Set Manager),
Interface (File Tabs, Layout Tabs, Tile Horiz/Vert, Cascade)
- Add Extract Data and Link Data tools to Annotate → Tables group
- Fix tab order to Home → Insert → Annotate → View → Manage via build.rs PRIORITY list
- Add 17 new SVG icons for all new commands
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-09 12:25:15 +03:00
|
|
|
mod layout_tabs;
|
|
|
|
|
mod navbar;
|
2026-03-22 14:56:27 +03:00
|
|
|
mod orbit;
|
|
|
|
|
mod ortho;
|
|
|
|
|
mod pan;
|
|
|
|
|
mod persp;
|
feat: redesign View tab and fix Annotate/tab order
- Redesign View ribbon tab with 8 groups matching AutoCAD layout:
Viewport Tools (UCS Icon, ViewCube, Navigation Bar),
Navigate, Model Viewports (Viewport Configuration, Named, Join, Restore),
Visual Style (dropdown), Projection, Preset,
Palettes (Tool Palettes, Properties, Sheet Set Manager),
Interface (File Tabs, Layout Tabs, Tile Horiz/Vert, Cascade)
- Add Extract Data and Link Data tools to Annotate → Tables group
- Fix tab order to Home → Insert → Annotate → View → Manage via build.rs PRIORITY list
- Add 17 new SVG icons for all new commands
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-09 12:25:15 +03:00
|
|
|
mod properties_palette;
|
|
|
|
|
mod sheetset;
|
2026-03-22 14:56:27 +03:00
|
|
|
mod solid;
|
feat: redesign View tab and fix Annotate/tab order
- Redesign View ribbon tab with 8 groups matching AutoCAD layout:
Viewport Tools (UCS Icon, ViewCube, Navigation Bar),
Navigate, Model Viewports (Viewport Configuration, Named, Join, Restore),
Visual Style (dropdown), Projection, Preset,
Palettes (Tool Palettes, Properties, Sheet Set Manager),
Interface (File Tabs, Layout Tabs, Tile Horiz/Vert, Cascade)
- Add Extract Data and Link Data tools to Annotate → Tables group
- Fix tab order to Home → Insert → Annotate → View → Manage via build.rs PRIORITY list
- Add 17 new SVG icons for all new commands
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-09 12:25:15 +03:00
|
|
|
mod tile_horiz;
|
|
|
|
|
mod tile_vert;
|
|
|
|
|
mod tool_palettes;
|
|
|
|
|
mod ucs_icon;
|
|
|
|
|
mod viewcube;
|
2026-03-22 14:56:27 +03:00
|
|
|
mod view_front;
|
|
|
|
|
mod view_iso;
|
|
|
|
|
mod view_right;
|
|
|
|
|
mod view_top;
|
feat: redesign View tab and fix Annotate/tab order
- Redesign View ribbon tab with 8 groups matching AutoCAD layout:
Viewport Tools (UCS Icon, ViewCube, Navigation Bar),
Navigate, Model Viewports (Viewport Configuration, Named, Join, Restore),
Visual Style (dropdown), Projection, Preset,
Palettes (Tool Palettes, Properties, Sheet Set Manager),
Interface (File Tabs, Layout Tabs, Tile Horiz/Vert, Cascade)
- Add Extract Data and Link Data tools to Annotate → Tables group
- Fix tab order to Home → Insert → Annotate → View → Manage via build.rs PRIORITY list
- Add 17 new SVG icons for all new commands
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-09 12:25:15 +03:00
|
|
|
mod vports_config;
|
|
|
|
|
mod vports_join;
|
|
|
|
|
mod vports_named;
|
|
|
|
|
mod vports_restore;
|
2026-03-22 14:56:27 +03:00
|
|
|
mod wireframe;
|
|
|
|
|
mod xray;
|
|
|
|
|
mod zoom_ext;
|
|
|
|
|
mod zoom_in;
|
|
|
|
|
mod zoom_out;
|
Feat: ROADMAP Phase 1-5 batch — trim/extend, plot scale, viewport UX, mline caps, table alignment
- TRIM/EXTEND: Ray and XLine entities supported as cutting boundaries and trim targets;
trim results in Ray→Line/Ray, XLine→Ray/Ray or Line; hover preview added
- Plot scale override: Fit/1:1/1:2/1:5/1:10/1:20/1:50/1:100/2:1 buttons added to Page Setup
panel; PageSetupCommit applies scale to PlotSettings
- Viewport UX: locked viewport gets orange border; selected viewport gets white border
- Named view → viewport assignment: Choice dropdown in properties panel copies
view_target/direction/height to the viewport entity
- MLine caps: perpendicular start/end cap lines added for open (non-closed) MLines
- Wipeout polygon grips: boundary vertices become editable grips when clipping_enabled+Polygonal;
world→pixel back-projection on drag
- Table cell alignment: CellStyle.alignment (1-9) drives left/center/right + top/middle/bottom
text positioning; cxf::measure_text() helper added
- New commands/features: DIMCONTINUE (DCO), DIMBASELINE (DBA), TOLERANCE (TOL), TABLE,
ATTDEF, ATTEDIT, ATTDISP, BREAKATPOINT (BAP), PLOTWINDOW (PW), MLINE (ML);
DIMSTYLE/DIMCURRENT/CLAYER/LTSCALE/CELTSCALE/SCALETEXT/XDATA/UCSICON/REGEN/DRAWORDER extended
- PLINE arc mode: A/L/CLOSE text input, bulge computation, arc preview
- Warning cleanup: removed unused imports and unreachable patterns
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-03 15:31:05 +03:00
|
|
|
pub mod plot_window;
|
2026-04-02 23:28:00 +03:00
|
|
|
pub mod zoom_window;
|
2026-03-22 14:56:27 +03:00
|
|
|
|
feat: redesign View tab and fix Annotate/tab order
- Redesign View ribbon tab with 8 groups matching AutoCAD layout:
Viewport Tools (UCS Icon, ViewCube, Navigation Bar),
Navigate, Model Viewports (Viewport Configuration, Named, Join, Restore),
Visual Style (dropdown), Projection, Preset,
Palettes (Tool Palettes, Properties, Sheet Set Manager),
Interface (File Tabs, Layout Tabs, Tile Horiz/Vert, Cascade)
- Add Extract Data and Link Data tools to Annotate → Tables group
- Fix tab order to Home → Insert → Annotate → View → Manage via build.rs PRIORITY list
- Add 17 new SVG icons for all new commands
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-09 12:25:15 +03:00
|
|
|
use crate::modules::{CadModule, RibbonGroup, RibbonItem};
|
2026-03-22 14:56:27 +03:00
|
|
|
|
|
|
|
|
pub struct ViewModule;
|
|
|
|
|
|
|
|
|
|
impl CadModule for ViewModule {
|
|
|
|
|
fn id(&self) -> &'static str {
|
|
|
|
|
"view"
|
|
|
|
|
}
|
|
|
|
|
fn title(&self) -> &'static str {
|
|
|
|
|
"View"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fn ribbon_groups(&self) -> Vec<RibbonGroup> {
|
|
|
|
|
vec![
|
feat: redesign View tab and fix Annotate/tab order
- Redesign View ribbon tab with 8 groups matching AutoCAD layout:
Viewport Tools (UCS Icon, ViewCube, Navigation Bar),
Navigate, Model Viewports (Viewport Configuration, Named, Join, Restore),
Visual Style (dropdown), Projection, Preset,
Palettes (Tool Palettes, Properties, Sheet Set Manager),
Interface (File Tabs, Layout Tabs, Tile Horiz/Vert, Cascade)
- Add Extract Data and Link Data tools to Annotate → Tables group
- Fix tab order to Home → Insert → Annotate → View → Manage via build.rs PRIORITY list
- Add 17 new SVG icons for all new commands
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-09 12:25:15 +03:00
|
|
|
// ── Viewport Tools ───────────────────────────────────────────────
|
|
|
|
|
RibbonGroup {
|
|
|
|
|
title: "Viewport Tools",
|
|
|
|
|
tools: vec![
|
|
|
|
|
RibbonItem::LargeTool(ucs_icon::tool()),
|
|
|
|
|
RibbonItem::LargeTool(viewcube::tool()),
|
|
|
|
|
RibbonItem::LargeTool(navbar::tool()),
|
|
|
|
|
],
|
|
|
|
|
},
|
|
|
|
|
// ── Navigate ─────────────────────────────────────────────────────
|
2026-03-22 14:56:27 +03:00
|
|
|
RibbonGroup {
|
|
|
|
|
title: "Navigate",
|
|
|
|
|
tools: vec![
|
feat: redesign View tab and fix Annotate/tab order
- Redesign View ribbon tab with 8 groups matching AutoCAD layout:
Viewport Tools (UCS Icon, ViewCube, Navigation Bar),
Navigate, Model Viewports (Viewport Configuration, Named, Join, Restore),
Visual Style (dropdown), Projection, Preset,
Palettes (Tool Palettes, Properties, Sheet Set Manager),
Interface (File Tabs, Layout Tabs, Tile Horiz/Vert, Cascade)
- Add Extract Data and Link Data tools to Annotate → Tables group
- Fix tab order to Home → Insert → Annotate → View → Manage via build.rs PRIORITY list
- Add 17 new SVG icons for all new commands
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-09 12:25:15 +03:00
|
|
|
RibbonItem::LargeTool(zoom_ext::tool()),
|
|
|
|
|
RibbonItem::Tool(zoom_in::tool()),
|
|
|
|
|
RibbonItem::Tool(zoom_out::tool()),
|
|
|
|
|
RibbonItem::Tool(pan::tool()),
|
|
|
|
|
RibbonItem::Tool(orbit::tool()),
|
2026-03-22 14:56:27 +03:00
|
|
|
],
|
|
|
|
|
},
|
feat: redesign View tab and fix Annotate/tab order
- Redesign View ribbon tab with 8 groups matching AutoCAD layout:
Viewport Tools (UCS Icon, ViewCube, Navigation Bar),
Navigate, Model Viewports (Viewport Configuration, Named, Join, Restore),
Visual Style (dropdown), Projection, Preset,
Palettes (Tool Palettes, Properties, Sheet Set Manager),
Interface (File Tabs, Layout Tabs, Tile Horiz/Vert, Cascade)
- Add Extract Data and Link Data tools to Annotate → Tables group
- Fix tab order to Home → Insert → Annotate → View → Manage via build.rs PRIORITY list
- Add 17 new SVG icons for all new commands
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-09 12:25:15 +03:00
|
|
|
// ── Model Viewports ───────────────────────────────────────────────
|
|
|
|
|
RibbonGroup {
|
|
|
|
|
title: "Model Viewports",
|
|
|
|
|
tools: vec![
|
|
|
|
|
RibbonItem::LargeTool(vports_config::tool()),
|
|
|
|
|
RibbonItem::Tool(vports_named::tool()),
|
|
|
|
|
RibbonItem::Tool(vports_join::tool()),
|
|
|
|
|
RibbonItem::Tool(vports_restore::tool()),
|
|
|
|
|
],
|
|
|
|
|
},
|
|
|
|
|
// ── Visual Style ──────────────────────────────────────────────────
|
2026-03-22 14:56:27 +03:00
|
|
|
RibbonGroup {
|
|
|
|
|
// WIREFRAME and SOLID ids are special-cased in ribbon.rs
|
|
|
|
|
// for toggle-state highlighting based on Ribbon::wireframe.
|
|
|
|
|
title: "Visual Style",
|
|
|
|
|
tools: vec![
|
feat: redesign View tab and fix Annotate/tab order
- Redesign View ribbon tab with 8 groups matching AutoCAD layout:
Viewport Tools (UCS Icon, ViewCube, Navigation Bar),
Navigate, Model Viewports (Viewport Configuration, Named, Join, Restore),
Visual Style (dropdown), Projection, Preset,
Palettes (Tool Palettes, Properties, Sheet Set Manager),
Interface (File Tabs, Layout Tabs, Tile Horiz/Vert, Cascade)
- Add Extract Data and Link Data tools to Annotate → Tables group
- Fix tab order to Home → Insert → Annotate → View → Manage via build.rs PRIORITY list
- Add 17 new SVG icons for all new commands
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-09 12:25:15 +03:00
|
|
|
RibbonItem::LargeDropdown {
|
|
|
|
|
id: "VISUAL_STYLE",
|
|
|
|
|
label: "Visual\nStyle",
|
|
|
|
|
icon: wireframe::tool().icon,
|
|
|
|
|
items: vec![
|
|
|
|
|
("WIREFRAME", "Wireframe", wireframe::tool().icon),
|
|
|
|
|
("SOLID", "Shaded", solid::tool().icon),
|
|
|
|
|
("HIDDEN", "Hidden", hidden::tool().icon),
|
|
|
|
|
("XRAY", "X-Ray", xray::tool().icon),
|
|
|
|
|
],
|
|
|
|
|
default: "WIREFRAME",
|
|
|
|
|
},
|
2026-03-22 14:56:27 +03:00
|
|
|
],
|
|
|
|
|
},
|
feat: redesign View tab and fix Annotate/tab order
- Redesign View ribbon tab with 8 groups matching AutoCAD layout:
Viewport Tools (UCS Icon, ViewCube, Navigation Bar),
Navigate, Model Viewports (Viewport Configuration, Named, Join, Restore),
Visual Style (dropdown), Projection, Preset,
Palettes (Tool Palettes, Properties, Sheet Set Manager),
Interface (File Tabs, Layout Tabs, Tile Horiz/Vert, Cascade)
- Add Extract Data and Link Data tools to Annotate → Tables group
- Fix tab order to Home → Insert → Annotate → View → Manage via build.rs PRIORITY list
- Add 17 new SVG icons for all new commands
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-09 12:25:15 +03:00
|
|
|
// ── Projection ────────────────────────────────────────────────────
|
2026-03-22 14:56:27 +03:00
|
|
|
RibbonGroup {
|
|
|
|
|
// ORTHO and PERSP ids are special-cased in ribbon.rs
|
|
|
|
|
// for toggle-state highlighting based on Camera::projection.
|
|
|
|
|
title: "Projection",
|
feat: redesign View tab and fix Annotate/tab order
- Redesign View ribbon tab with 8 groups matching AutoCAD layout:
Viewport Tools (UCS Icon, ViewCube, Navigation Bar),
Navigate, Model Viewports (Viewport Configuration, Named, Join, Restore),
Visual Style (dropdown), Projection, Preset,
Palettes (Tool Palettes, Properties, Sheet Set Manager),
Interface (File Tabs, Layout Tabs, Tile Horiz/Vert, Cascade)
- Add Extract Data and Link Data tools to Annotate → Tables group
- Fix tab order to Home → Insert → Annotate → View → Manage via build.rs PRIORITY list
- Add 17 new SVG icons for all new commands
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-09 12:25:15 +03:00
|
|
|
tools: vec![
|
|
|
|
|
RibbonItem::LargeTool(ortho::tool()),
|
|
|
|
|
RibbonItem::LargeTool(persp::tool()),
|
|
|
|
|
],
|
2026-03-22 14:56:27 +03:00
|
|
|
},
|
feat: redesign View tab and fix Annotate/tab order
- Redesign View ribbon tab with 8 groups matching AutoCAD layout:
Viewport Tools (UCS Icon, ViewCube, Navigation Bar),
Navigate, Model Viewports (Viewport Configuration, Named, Join, Restore),
Visual Style (dropdown), Projection, Preset,
Palettes (Tool Palettes, Properties, Sheet Set Manager),
Interface (File Tabs, Layout Tabs, Tile Horiz/Vert, Cascade)
- Add Extract Data and Link Data tools to Annotate → Tables group
- Fix tab order to Home → Insert → Annotate → View → Manage via build.rs PRIORITY list
- Add 17 new SVG icons for all new commands
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-09 12:25:15 +03:00
|
|
|
// ── Preset Views ──────────────────────────────────────────────────
|
2026-03-22 14:56:27 +03:00
|
|
|
RibbonGroup {
|
|
|
|
|
title: "Preset",
|
|
|
|
|
tools: vec![
|
feat: redesign View tab and fix Annotate/tab order
- Redesign View ribbon tab with 8 groups matching AutoCAD layout:
Viewport Tools (UCS Icon, ViewCube, Navigation Bar),
Navigate, Model Viewports (Viewport Configuration, Named, Join, Restore),
Visual Style (dropdown), Projection, Preset,
Palettes (Tool Palettes, Properties, Sheet Set Manager),
Interface (File Tabs, Layout Tabs, Tile Horiz/Vert, Cascade)
- Add Extract Data and Link Data tools to Annotate → Tables group
- Fix tab order to Home → Insert → Annotate → View → Manage via build.rs PRIORITY list
- Add 17 new SVG icons for all new commands
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-09 12:25:15 +03:00
|
|
|
RibbonItem::Tool(view_top::tool()),
|
|
|
|
|
RibbonItem::Tool(view_front::tool()),
|
|
|
|
|
RibbonItem::Tool(view_right::tool()),
|
|
|
|
|
RibbonItem::Tool(view_iso::tool()),
|
|
|
|
|
],
|
|
|
|
|
},
|
|
|
|
|
// ── Palettes ──────────────────────────────────────────────────────
|
|
|
|
|
RibbonGroup {
|
|
|
|
|
title: "Palettes",
|
|
|
|
|
tools: vec![
|
|
|
|
|
RibbonItem::LargeTool(tool_palettes::tool()),
|
|
|
|
|
RibbonItem::LargeTool(properties_palette::tool()),
|
|
|
|
|
RibbonItem::LargeTool(sheetset::tool()),
|
|
|
|
|
],
|
|
|
|
|
},
|
|
|
|
|
// ── Interface ─────────────────────────────────────────────────────
|
|
|
|
|
RibbonGroup {
|
|
|
|
|
title: "Interface",
|
|
|
|
|
tools: vec![
|
|
|
|
|
RibbonItem::LargeTool(file_tabs::tool()),
|
|
|
|
|
RibbonItem::LargeTool(layout_tabs::tool()),
|
|
|
|
|
RibbonItem::Tool(tile_horiz::tool()),
|
|
|
|
|
RibbonItem::Tool(tile_vert::tool()),
|
|
|
|
|
RibbonItem::Tool(cascade::tool()),
|
2026-03-22 14:56:27 +03:00
|
|
|
],
|
|
|
|
|
},
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
}
|