diff --git a/Cargo.lock b/Cargo.lock index 7c766a3fb..d3793ddd0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -72,7 +72,7 @@ checksum = "366ffbaa4442f4684d91e2cd7c5ea7c4ed8add41959a31447066e279e432b618" [[package]] name = "acadrust" version = "0.5.4" -source = "git+https://git@github.com/HakanSeven12/cadcodec.git?rev=da65c079396eb6e48d0f5d411eb0f87477479ee2#da65c079396eb6e48d0f5d411eb0f87477479ee2" +source = "git+https://git@github.com/HakanSeven12/cadcodec.git?rev=0edbe8a945fa1de434d6ee88b2836dcaad459cbc#0edbe8a945fa1de434d6ee88b2836dcaad459cbc" dependencies = [ "ahash 0.8.12", "anyhow", @@ -878,7 +878,7 @@ checksum = "fc652a48c352aef3ea3aed32080501cf3ef6ed5da78602a020c991775b0aff04" [[package]] name = "cadkernel" version = "0.1.0" -source = "git+https://github.com/HakanSeven12/cadkernel.git?rev=3899c46e22e92d2e888f43405a36031365d6b1d5#3899c46e22e92d2e888f43405a36031365d6b1d5" +source = "git+https://github.com/HakanSeven12/cadkernel.git?rev=0e7b97e4e6a22e4c46fb8b72e3bdd1dce3262052#0e7b97e4e6a22e4c46fb8b72e3bdd1dce3262052" dependencies = [ "acadrust", "cavalier_contours", diff --git a/Cargo.toml b/Cargo.toml index 3922dfc21..b5e08fe6c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -27,8 +27,8 @@ glam = { version = "0.33", features = ["bytemuck"] } rfd = "0.17" clap = { version = "4", features = ["derive"] } env_logger = "0.11" -acadrust = { git = "https://github.com/HakanSeven12/cadcodec.git", rev = "da65c079396eb6e48d0f5d411eb0f87477479ee2", features = ["serde"] } -cadkernel = { git = "https://github.com/HakanSeven12/cadkernel.git", rev = "3899c46e22e92d2e888f43405a36031365d6b1d5", features = ["acis", "offset"] } +acadrust = { git = "https://github.com/HakanSeven12/cadcodec.git", rev = "0edbe8a945fa1de434d6ee88b2836dcaad459cbc", features = ["serde"] } +cadkernel = { git = "https://github.com/HakanSeven12/cadkernel.git", rev = "0e7b97e4e6a22e4c46fb8b72e3bdd1dce3262052", features = ["acis", "offset"] } dwg-thumbnailer = { path = "crates/dwg-thumbnailer" } flate2 = "1" image = { version = "0.25", default-features = false, features = ["png", "jpeg", "bmp", "tiff"] } @@ -61,7 +61,7 @@ iced_core = { git = "https://github.com/iced-rs/iced.git", rev = "23604ff22ab0aa iced_widget = { git = "https://github.com/iced-rs/iced.git", rev = "23604ff22ab0aad9e00b9327cb7b8546ed84db39" } [patch."https://github.com/HakanSeven12/cadcodec.git"] -acadrust = { git = "https://git@github.com/HakanSeven12/cadcodec.git", rev = "da65c079396eb6e48d0f5d411eb0f87477479ee2" } +acadrust = { git = "https://git@github.com/HakanSeven12/cadcodec.git", rev = "0edbe8a945fa1de434d6ee88b2836dcaad459cbc" } [target.'cfg(not(target_arch = "wasm32"))'.dependencies] diff --git a/src/modules/insert/solid3d_cmds.rs b/src/modules/insert/solid3d_cmds.rs index 6b31dc3e7..1d460c714 100644 --- a/src/modules/insert/solid3d_cmds.rs +++ b/src/modules/insert/solid3d_cmds.rs @@ -2138,6 +2138,14 @@ impl CadCommand for LoftCommand { if Self::keyword(text, &["UNDO"]).is_some() { return Some(self.undo_selection()); } + // Leave hexadecimal object identifiers to the shared pick-input router. + // Treating them as unknown options would consume scripted section, + // guide and path selections before on_entity_pick can receive them. + if self.needs_entity_pick() + && u64::from_str_radix(text.trim().trim_start_matches("0x"), 16).is_ok() + { + return None; + } match self.state.step { LoftStep::Sections => match Self::keyword(text, &["POINT", "JOIN", "MODE"]) { Some(0) => { @@ -2239,7 +2247,7 @@ impl CadCommand for LoftCommand { } LoftStep::StartBulge | LoftStep::EndBulge => { if !self.set_numeric_setting(text) { - return Some(self.invalid(t!("Enter a finite bulge magnitude greater than zero.").into_owned())); + return Some(self.invalid(t!("Enter a finite, non-negative bulge magnitude.").into_owned())); } } LoftStep::Closed | LoftStep::AlignDirection => {