mirror of
https://github.com/Open-Cascade-SAS/OCCT.git
synced 2026-05-11 01:58:22 +08:00
- 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.
39 lines
1.1 KiB
Plaintext
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
|
|
}
|