forked from 1b-agent/opencadstudio-upstream
ATTDEF: dialog, -ATTDEF prompts, tag display, Properties and ribbon
Attribute Definition dialog and Edit Attribute Definition dialog, -ATTDEF with the reference prompts and modes (AFLAGS), tag shown in the drawing, justification-aware grips, reworked Properties with validation, Home Block slide-out and Insert Block Definition panel, and the codec patch for ATTDEF DXF output and the R2013+ solid wire cache. Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
1 parent
3dcebf0dc6
commit
c5790c74a9
48 files changed
+2501
-435
No files matched your search
+984
-182
File diff suppressed because it is too large.
Load diff
@@ -31,7 +31,7 @@ impl CadModule for DrawModule {
|
||||
use crate::modules::annotate::{
|
||||
angular_dim, leader_cmd, linear_dim, mleader_cmd, mtext, radius_dim, text,
|
||||
};
|
||||
use crate::modules::insert::{create_block, insert_block};
|
||||
use crate::modules::insert::{attedit, create_block, edit_block, insert_block};
|
||||
use clipboard::{copy_clip, cut, paste};
|
||||
use draw::{arc, circle, ellipse, hatch, line, polyline, shapes};
|
||||
use groups::{group, ungroup};
|
||||
@@ -200,9 +200,13 @@ impl CadModule for DrawModule {
|
||||
},
|
||||
RibbonGroup {
|
||||
title: "Block",
|
||||
// Slide-out: Define / Manage / Synchronize Attributes and
|
||||
// Set Base Point.
|
||||
tools: vec![
|
||||
RibbonItem::LargeTool(create_block::tool()),
|
||||
RibbonItem::LargeTool(insert_block::tool()),
|
||||
RibbonItem::Tool(create_block::tool()),
|
||||
RibbonItem::Tool(edit_block::tool()),
|
||||
RibbonItem::Tool(attedit::tool()),
|
||||
],
|
||||
},
|
||||
RibbonGroup {
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
use crate::modules::{IconKind, ModuleEvent, ToolDef};
|
||||
pub const ICON: IconKind = IconKind::Svg(include_bytes!("../../../assets/icons/attsync.svg"));
|
||||
pub fn tool() -> ToolDef {
|
||||
ToolDef {
|
||||
id: "ATTSYNC",
|
||||
label: "Synchronize",
|
||||
icon: ICON,
|
||||
event: ModuleEvent::Command("ATTSYNC".to_string()),
|
||||
}
|
||||
}
|
||||
@@ -1,19 +1,8 @@
|
||||
use crate::t;
|
||||
|
||||
use crate::command::{CadCommand, CmdResult};
|
||||
use crate::modules::{IconKind, ModuleEvent, ToolDef};
|
||||
use glam::DVec3;
|
||||
|
||||
pub const ICON: IconKind = IconKind::Svg(include_bytes!("../../../assets/icons/base_point.svg"));
|
||||
pub fn tool() -> ToolDef {
|
||||
ToolDef {
|
||||
id: "BASE",
|
||||
label: "Set Base\nPoint",
|
||||
icon: ICON,
|
||||
event: ModuleEvent::Command("BASE".to_string()),
|
||||
}
|
||||
}
|
||||
|
||||
// ── Command implementation ────────────────────────────────────────────────
|
||||
|
||||
/// Picks one point and delegates to the inline `BASE <x> <y> <z>` handler,
|
||||
|
||||
@@ -1,14 +1,13 @@
|
||||
// Insert module — references, point clouds, blocks, attributes, import, content.
|
||||
|
||||
mod attdef;
|
||||
mod attedit;
|
||||
pub(crate) mod attedit;
|
||||
mod attman;
|
||||
mod attsync;
|
||||
pub mod base_point;
|
||||
mod content_browser;
|
||||
pub(crate) mod create_block;
|
||||
mod design_center;
|
||||
mod edit_block;
|
||||
pub(crate) mod edit_block;
|
||||
pub(crate) mod image_transparency;
|
||||
pub(crate) mod insert_block;
|
||||
mod landxml;
|
||||
@@ -106,19 +105,17 @@ impl CadModule for InsertModule {
|
||||
tools: vec![
|
||||
RibbonItem::LargeTool(mview_block::tool()),
|
||||
RibbonItem::LargeTool(insert_block::tool()),
|
||||
RibbonItem::Tool(create_block::tool()),
|
||||
RibbonItem::Tool(edit_block::tool()),
|
||||
RibbonItem::Tool(base_point::tool()),
|
||||
RibbonItem::LargeTool(attedit::tool()),
|
||||
],
|
||||
},
|
||||
// ── Attributes ────────────────────────────────────────────────────
|
||||
// ── Block Definition (slide-out: Set Base Point, Synchronize) ─────
|
||||
RibbonGroup {
|
||||
title: "Attributes",
|
||||
title: "Block Definition",
|
||||
tools: vec![
|
||||
RibbonItem::LargeTool(create_block::tool()),
|
||||
RibbonItem::LargeTool(attdef::tool()),
|
||||
RibbonItem::LargeTool(attedit::tool()),
|
||||
RibbonItem::Tool(attman::tool()),
|
||||
RibbonItem::Tool(attsync::tool()),
|
||||
RibbonItem::LargeTool(attman::tool()),
|
||||
RibbonItem::LargeTool(edit_block::tool()),
|
||||
],
|
||||
},
|
||||
// ── Import ────────────────────────────────────────────────────────
|
||||
|
||||
Reference in new issue
Block a user