chore: take the kernel and codec that draw the missing faces
Two faults kept faces out of a lifted solid, and both looked like a document problem rather than a reader one — the lift reported no loss at all. An edge's stored parameter pair can span the right length from the wrong place, putting a straight curve beside the face it bounds instead of along it. And a loop's coedges are not always listed in the order the ring runs, which the old chaining could not fix: it reversed the next piece in the list, where what was needed was a different piece. Either one leaves a ring that crosses itself, which ear clipping declines, so the face is dropped without a word. Handle 176 of Annotation-2D-Mesh-Solid-BIM.dwg now meshes all fourteen of its faces, where it managed ten. Across that file: 105 of 107 solids complete, 865 of 867 faces. Across VILLA_NEU_IFC3.dwg: 672 of 763 solids, 58922 of 59033 faces. The fallback sampler stays until that reaches all of them — a complete mesh is what stops it running, and 111 faces still need it. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
5a2aa13b74
commit
60ec29375f
2 changed files with 4 additions and 4 deletions
6
Cargo.lock
generated
6
Cargo.lock
generated
|
|
@ -6,7 +6,7 @@ version = 4
|
|||
name = "OpenCADStudio"
|
||||
version = "0.9.4"
|
||||
dependencies = [
|
||||
"acadifc 0.5.0 (git+https://github.com/OpenAEC-Foundation/acadifc.git?rev=88e3308)",
|
||||
"acadifc 0.5.0 (git+https://github.com/OpenAEC-Foundation/acadifc.git?rev=1ffe44e)",
|
||||
"ashpd",
|
||||
"bincode",
|
||||
"bytemuck",
|
||||
|
|
@ -70,7 +70,7 @@ checksum = "366ffbaa4442f4684d91e2cd7c5ea7c4ed8add41959a31447066e279e432b618"
|
|||
[[package]]
|
||||
name = "acadifc"
|
||||
version = "0.5.0"
|
||||
source = "git+https://github.com/OpenAEC-Foundation/acadifc.git?rev=88e3308#88e3308d0f14508346692705e6142de3f3d6a169"
|
||||
source = "git+https://github.com/OpenAEC-Foundation/acadifc.git?rev=1ffe44e#1ffe44ea986628a9915f3e4f0e0b1c433a131c3d"
|
||||
dependencies = [
|
||||
"acadrust",
|
||||
"base64",
|
||||
|
|
@ -904,7 +904,7 @@ checksum = "fc652a48c352aef3ea3aed32080501cf3ef6ed5da78602a020c991775b0aff04"
|
|||
[[package]]
|
||||
name = "cadkernel"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/HakanSeven12/cadkernel.git#9fc5bf5149e4cb3f75a3774b9a1db5c7ed6f19fc"
|
||||
source = "git+https://github.com/HakanSeven12/cadkernel.git#962ffc3eda748a7d675ddc868be628c334e20a3b"
|
||||
dependencies = [
|
||||
"cavalier_contours",
|
||||
]
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ env_logger = "0.11"
|
|||
# The CAD stack is reached through acadifc, which re-exports the codec and
|
||||
# the geometry kernel. Aliased to `acadrust` so existing `use acadrust::…`
|
||||
# paths keep resolving.
|
||||
acadrust = { package = "acadifc", git = "https://github.com/OpenAEC-Foundation/acadifc.git", rev = "88e3308", features = ["serde", "offset"] }
|
||||
acadrust = { package = "acadifc", git = "https://github.com/OpenAEC-Foundation/acadifc.git", rev = "1ffe44e", features = ["serde", "offset"] }
|
||||
dwg-thumbnailer = { path = "crates/dwg-thumbnailer" }
|
||||
flate2 = "1"
|
||||
image = { version = "0.25", default-features = false, features = ["png", "jpeg", "bmp", "tiff"] }
|
||||
|
|
|
|||
Loading…
Reference in a new issue