Files
OCCT/tests/offset/bugs/bug5806
Pasukhin Dmitry 3b8185bafb Shape Healing - Optimize PCurve projection (#890)
- Implemented various test cases including projections of lines, circles, and B-splines on different surface types (planes, cylinders, spheres, and toroids).
- Refactored ShapeConstruct_ProjectCurveOnSurface to improve handling of periodic surfaces and edge cases.
- Updated header files to reflect new type aliases and improved structure for better readability and maintainability.
- Added a new function `extractBSplineCurve` to streamline the extraction of B-spline curves from both trimmed and untrimmed curves.
- Refactored `isBSplineCurveInvalid` to utilize the new extraction function, improving clarity and reducing code duplication.
- Updated `generateCurvePoints` to leverage the new extraction method for better handling of B-spline curves.
- Replaced std::vector with NCollection_Vector for better memory management in isBSplineCurveInvalid.
- Enhanced rebuildBSpline function to improve knot adjustment logic while preserving curve geometry.
- Introduced a new utility class, SurfaceProjectorWithCache, to enhance the projection of points onto B-spline surfaces by caching pole positions and their UV parameters.
2025-12-08 09:08:13 +00:00

39 lines
1.1 KiB
Plaintext

puts "============"
puts "OCC5806"
puts "============"
puts ""
######################################################
# BRepOffsetAPI_MakeThickSolid fails to build a result
######################################################
set BugNumber OCC5806
puts "demonstration of pipes and hollowing for GTISoft"
puts ""
puts "Scenario 3A: Hollowed general pipe - ThroughSection with following shell reconstruction"
circle c 0 100 0 1 0 0 5
mkedge ec c
wire wc ec
polyline pl 10 90 -10 10 90 10 10 110 10 10 110 -10 10 90 -10
if { [catch { thrusections resthru 1 1 wc pl } catch_result] } {
puts "Faulty ${BugNumber} : thrusections is wrong"
}
# straightforward hollowing will fail due to problems in the algorithm
explode resthru f
if { [catch { offsetshape result resthru -0.5 resthru_6 resthru_7 } catch_result] } {
puts "Faulty ${BugNumber} : offsetshape is wrong"
}
if { [isdraw result] } {
checkmaxtol result -min_tol 1.
checkprops result -s 1116.06
checkshape result
checknbshapes result -vertex 10 -edge 15 -wire 7 -face 7 -shell 1 -solid 1 -compsolid 0 -compound 0 -shape 41
checkview -display result -2d -path ${imagedir}/${test_image}.png
}