View Issue Details

IDProjectCategoryView StatusLast Update
0033739CommunityOCCT:Modeling Algorithmspublic2024-06-11 12:27
Reporterrkarapenko Assigned Toakaftasev  
PrioritynormalSeverityminor 
Status newResolutionopen 
PlatformWindowsOSVC++ 2022 
Product Version7.8.0 
Summary0033739: Modeling Algorithms - Sweep fails in "Right Corner" transition mode
DescriptionThe issue happens when using BSpline as a profile on fairly simple polyline path in "RIght Corner" transition mode.
Sweep operation completes, but resulting shape does not pass validation: `checkshape` command in Draw reports `BRepCheck_UnorientableShape` and `BRepCheck_InvalidRange`.
In "Round Corner" transition mode resulting shape seems to be valid.

Changing path by making the last segment shorter (by moving the last point closer to the previous) also gets it completed with valid result.

This issue may be related to https://tracker.dev.opencascade.org/view.php?id=28108
Steps To Reproduce# Execute in Draw
pload ALL

# Create path
vertex v1 0.0 6.0 0.0
vertex v2 0.0 6.0 15.0
vertex v3 0.0 7.0 64.0
# With the following vertex as the last point result is valid
# vertex v3 0.0 7.0 30.0

edge e1 v1 v2
edge e2 v2 v3

wire path0 e1 e2

# Create spline profile
# Control points:
# x=1.7777777777777788 y=3.7777777777777777 z=0.0000000000000000
# x=-1.7777777777777770 y=4.2222222222222223 z=0.0000000000000000
# x=-2.6666666666666652 y=5.9047619047619051 z=0.0000000000000000
# x=1.9727809129877783e-15 y=9.0000000000000000 z=0.0000000000000000
# x=2.6666666666666687 y=6.0952380952380967 z=0.0000000000000000
# Knots:
# 0.0000000000000000
# 2.8284271247461898
# 5.6568542494923797
# 8.4852813742385695
# 11.313708498984759
# Multiplicities:
# 0x00000002
# 0x00000001
# 0x00000001
# 0x00000001
# 0x00000002
# Weights:
# uniform, 1.0
# Degree: 3
# Closed: true
# Periodic: true
# pbsplinecurve name degree nbknots knot, umult pole, weight (periodic)
pbsplinecurve spl0 3 5 0.0 2 2.8284271247461898 1 5.6568542494923797 1 8.4852813742385695 1 11.313708498984759 2 \
1.7777777777777788 3.7777777777777777 0.0 1.0 \
-1.7777777777777770 4.2222222222222223 0.0 1.0 \
-2.6666666666666652 5.9047619047619051 0.0 1.0 \
1.9727809129877783e-15 9.0 0.0 1.0 \
2.6666666666666687 6.0952380952380967 0.0 1.0

mkedge ee spl0
wire prof0 ee

# Create sweep of prof0 along path0
mksweep path0
addsweep prof0 v1
# -C - Use transition mode BRepBuilderAPI_TransitionMode::BRepBuilderAPI_RightCorner
# -S - build a Solid
buildsweep res -C -S

# Check if result is valid
checkshape res

# Visualization
vinit -exitOnClose
vdisplay -dispMode 1 path0 prof0 res
vfit
TagsNo tags attached.
Test case number

Attached Files

  • sweep_test.tcl (1,682 bytes)

Activities

rkarapenko

2024-06-11 12:27

reporter  

sweep_test.tcl (1,682 bytes)

Issue History

Date Modified Username Field Change
2024-06-11 12:27 rkarapenko New Issue
2024-06-11 12:27 rkarapenko Assigned To => akaftasev
2024-06-11 12:27 rkarapenko File Added: sweep_test.tcl