forked from 1b-agent/opencadstudio-upstream
feat: plinegen + SAB parsing for Solid3D/Region/Body
LwPolyline PLINEGEN=0 (DXF default): emit SegmentedLines with NaN separators between vertex-to-vertex segments; wire_gpu resets arc-length to 0 after each NaN so linetype pattern restarts per vertex. PLINEGEN=1: existing Contour path unchanged (continuous pattern). WireModel gains plinegen field propagated through tessellate pipeline. Solid3D/Region/Body: call SabReader::read() when parse_sat() returns None due to binary SAB format (DWG files / newer AutoCAD exports). Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
This commit is contained in:
1 parent
63b17547f9
commit
27aca41dd1
39 files changed
+168
-15
No files matched your search
@@ -134,6 +134,7 @@ impl CadCommand for AttdefCommand {
|
||||
aci: 0,
|
||||
key_vertices: vec![],
|
||||
aabb: WireModel::UNBOUNDED_AABB,
|
||||
plinegen: true,
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -527,5 +527,6 @@ fn line_wire(from: Vec3, to: Vec3) -> WireModel {
|
||||
aci: 0,
|
||||
key_vertices: vec![],
|
||||
aabb: WireModel::UNBOUNDED_AABB,
|
||||
plinegen: true,
|
||||
}
|
||||
}
|
||||
@@ -88,6 +88,7 @@ impl CadCommand for LineCommand {
|
||||
aci: 0,
|
||||
key_vertices: vec![],
|
||||
aabb: WireModel::UNBOUNDED_AABB,
|
||||
plinegen: true,
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -113,6 +113,7 @@ impl CadCommand for MlineCommand {
|
||||
aci: 0,
|
||||
key_vertices: vec![],
|
||||
aabb: WireModel::UNBOUNDED_AABB,
|
||||
plinegen: true,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -112,6 +112,7 @@ impl CadCommand for ImageCommand {
|
||||
aci: 0,
|
||||
key_vertices: vec![],
|
||||
aabb: WireModel::UNBOUNDED_AABB,
|
||||
plinegen: true,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -86,6 +86,7 @@ impl CadCommand for RayCommand {
|
||||
aci: 0,
|
||||
key_vertices: vec![],
|
||||
aabb: WireModel::UNBOUNDED_AABB,
|
||||
plinegen: true,
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -164,6 +165,7 @@ impl CadCommand for XLineCommand {
|
||||
aci: 0,
|
||||
key_vertices: vec![],
|
||||
aabb: WireModel::UNBOUNDED_AABB,
|
||||
plinegen: true,
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -83,6 +83,7 @@ impl CadCommand for RevCloudCommand {
|
||||
aci: 0,
|
||||
key_vertices: vec![],
|
||||
aabb: WireModel::UNBOUNDED_AABB,
|
||||
plinegen: true,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -119,6 +119,7 @@ impl CadCommand for WipeoutCommand {
|
||||
aci: 0,
|
||||
key_vertices: vec![],
|
||||
aabb: WireModel::UNBOUNDED_AABB,
|
||||
plinegen: true,
|
||||
})
|
||||
}
|
||||
WipeoutMode::Polygonal => {
|
||||
@@ -140,6 +141,7 @@ impl CadCommand for WipeoutCommand {
|
||||
aci: 0,
|
||||
key_vertices: vec![],
|
||||
aabb: WireModel::UNBOUNDED_AABB,
|
||||
plinegen: true,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -76,6 +76,7 @@ impl CadCommand for AreaCommand {
|
||||
aci: 0,
|
||||
key_vertices: vec![],
|
||||
aabb: WireModel::UNBOUNDED_AABB,
|
||||
plinegen: true,
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -71,6 +71,7 @@ impl CadCommand for DistCommand {
|
||||
aci: 0,
|
||||
key_vertices: vec![],
|
||||
aabb: WireModel::UNBOUNDED_AABB,
|
||||
plinegen: true,
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -134,6 +134,7 @@ impl CadCommand for StretchCommand {
|
||||
aci: 0,
|
||||
key_vertices: vec![],
|
||||
aabb: WireModel::UNBOUNDED_AABB,
|
||||
plinegen: true,
|
||||
})
|
||||
}
|
||||
_ => None,
|
||||
|
||||
Reference in new issue
Block a user