View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0027651 | Open CASCADE | OCCT:Modeling Algorithms | public | 2016-06-28 10:51 | 2023-08-01 15:08 |
Reporter | Assigned To | ||||
Priority | normal | Severity | minor | ||
Status | assigned | Resolution | open | ||
Product Version | 7.0.0 | ||||
Target Version | Unscheduled | ||||
Summary | 0027651: Modeling Algorithms - Add projection support in sewing pcurves handling | ||||
Description | This bug is child of CR27531 issue. It is necessary to check possibility of adding projection in sewing pcurves handling and add it if possible. Pseudo-code of current shared edge handling: 1) Take pcurve from the first face and try to bind it on the second. 2) If 1) failed, take pcurve from the second and bind on the first. The proposed solution is to add following parts: 3) Project the first 3d curve on the second face. 4) if 3) failed, project the second 3d curve on the first face. | ||||
Steps To Reproduce | test bugs modalg_6 bug27651 | ||||
Tags | No tags attached. | ||||
Test case number | |||||
|
After discussion it is decided to make additional methods in BRepLib that will update/add pcurve with checking it for same parameter property, and re-projecting if necessary. Such method will be called from sewing instead of SameParameter(). |
|
Branch CR27651 has been created by ifv. SHA-1: f68f3b28dd72fcc241885e6e843bf802b6dc9aee Detailed log of new commits: Author: ifv Date: Fri May 25 15:21:04 2018 +0300 0027651: Add projection support in sewing pcurves handling |
|
Branch CR27651 has been updated forcibly by ifv. SHA-1: 5352fb5f2973e71e6f5aa3e36996ef68eb0fc1c0 |
|
Branch CR27651 has been updated forcibly by ifv. SHA-1: b42d1da7b3579a2254f7aa204c5d4d7311ea7bfd |
|
Branch CR27651 has been updated forcibly by ifv. SHA-1: c3ad9fcb2a849abf960d5b51791d21ca313d34d4 |
|
Branch CR27651 has been updated forcibly by ifv. SHA-1: 10e41cab48dea3960f9c7fed4390abf817b4a86d |
|
Branch CR27651 has been updated forcibly by ifv. SHA-1: 397a0178fcd377072b868c86bef0cd74d28122fd |
|
Branch CR27651 has been updated forcibly by ifv. SHA-1: 011c677e09cfe9517c8bd3142a7606ba21b926dd |
|
Branch CR27651 has been updated forcibly by ifv. SHA-1: 9f56e3580ea124959ffe942944176824f7f54989 |
|
Branch CR27651 has been updated forcibly by ifv. SHA-1: 402d52899e43deb7bca45480665e6c52b8a23561 |
|
Branch CR27651 has been updated forcibly by ifv. SHA-1: 8d654b253801fb0f6c9770288da3c6dcbc7392f9 |
|
Branch CR27651 has been updated forcibly by ifv. SHA-1: e219e0f0fb805e599ff723a81b418e47825f811d |
|
Branch CR27651 has been updated forcibly by ifv. SHA-1: 1fb772b64a9481180215f340573fb6a385840b0d |
|
Branch CR27651 has been updated by ifv. SHA-1: 08d0acc067c5dfeb8078c1ae159e869a5c398f36 Detailed log of new commits: Author: ifv Date: Fri May 17 14:46:35 2019 +0300 Fix regressions |
|
Branch CR27651 has been updated forcibly by ifv. SHA-1: 251990c497d42584ccbf322011c0bf9e363c16dd |
|
Branch CR27651 has been updated forcibly by ifv. SHA-1: 99e1bdb9bd500bb0d3a56ea2447e0cf56e1a1f97 |
|
Branch CR27651 has been updated forcibly by ifv. SHA-1: d89e6298920cfc42b739d864495e9aaacac0b279 |
|
Branch CR27651 has been updated forcibly by ifv. SHA-1: 1461508de0f09515868b39e6aecff2426b93bbb7 |
|
Branch CR27651 has been updated forcibly by ifv. SHA-1: f90e18e2523c974bb613b6979e80f990c168a27c |
|
Branch CR27651 has been updated forcibly by ifv. SHA-1: e2059f336d42f1286d5596ae9d068f30b5c0ac8d |
|
Branch CR27651 has been updated forcibly by ifv. SHA-1: 5cd726c55e9cbe44df09e467978e67e1c95ab371 |
|
Branch CR27651 has been updated forcibly by ifv. SHA-1: 979161afe000ab12ca987e0da89edf53381b3116 |
|
CR27651 is ready for review. Test results is CR27651-master-IFV Some comments: Patch fixes #29732 and improves 0027614 (decrease tolerance 10.18 -> 5.8) Patch has some problems with performance (see CPU difference), for example, most difference: CPU bugs modalg_2 bug22804: 57.15 / 0.16 [+35618.75%] CPU bugs modalg_7 bug28700_2: 57.05 / 0.04 [+142525.00%] The reason is: when pcurve is bad, the old sewing algo only calculates tolerance, usually tolerance is very large and update edge, now algorithm try to get new pcurve by projection. For these cases (both cases have the same shape) projection time is rathe large. Result tolerance for old algo is 2352.4, for patch is 291.2 sewing is performed with tol = 200 |
|
Remarks: src/BRepLib/BRepLib_1.cxx - In the new methods SetPCurve, please check the presence of geometry (surface and curve) in input shapes before further processing (lines 384, 537). It is because we more and more deal with shapes with no geometry (only triangulation), and it is needed to protect low-level functionality from crashes on such shapes. - 428, 578: Please check this condition, I suspect it is wrong: if (theMaxTol >= aMaxTol || aNewTol > 10. * theMaxTol) - 478, 648: Checking aNewTol is redundant here, it is always > 0. - 565: Why edge tolerance is not updated here, by analogy with another SetPCurve method? src/BRepTest/BRepTest_BasicCommands.cxx - 1430: change addpcurve to setpcurve. |
|
Dear Galina, Please review the file BRepBuilderAPI_Sewing.cxx in this patch. |
|
1. Keep tolerance of edge (line 900) befor call method SameParameter()is useless because edge always created with tolerance Precision::Confusion(). 2. The condition myTolerance < aTolMax in the "if"statement on line 954 used for the pcurve reconstruction decision is unclear. Because value of myTolerance used only to decide should be boundary of faces be sewed or not. 3. It is desirable to split method RepLib::SetPCurve() on the to parts : 1. set existing pcurve for edge 2. reconstruction pcurve by project 3D curve on the surface. Plese note that in the sewing only second part (2 item) sould be used in order to keep performance. Please restore formating not modified lines in the method BRepBuilderAPI_Sewing::SameParameterEdge() in order to avoid big number of modifications due to changing of the formattiing. |
|
Branch CR27651 has been updated forcibly by ifv. SHA-1: 7d6ae7b71ade4963b98df455c717c25acec7a4ef |
|
Branch CR27651 has been updated by ifv. SHA-1: f9120eeacc94341cfc50c730a494b33e397fd37c Detailed log of new commits: Author: ifv Date: Wed Dec 25 12:47:09 2019 +0300 Modification according to remarks |
|
Branch CR27651 has been updated forcibly by ifv. SHA-1: 0e07189cb23d526e75b89013bd5d092d54a87aeb |
|
Branch CR27651 has been updated by ifv. SHA-1: cca76c5661d65a6f708736c2a181f5e4285c85c6 Detailed log of new commits: Author: ifv Date: Thu Jan 23 11:58:10 2020 +0300 Test modifications 23.01.20 |
Date Modified | Username | Field | Change |
---|---|---|---|
2016-06-28 10:51 |
|
New Issue | |
2016-06-28 10:51 |
|
Assigned To | => msv |
2016-06-28 10:51 |
|
Relationship added | child of 0027531 |
2016-06-28 11:25 |
|
Steps to Reproduce Updated | |
2016-06-28 11:40 |
|
Assigned To | msv => ifv |
2016-06-28 11:40 |
|
Status | new => assigned |
2016-10-28 11:53 |
|
Target Version | 7.1.0 => 7.2.0 |
2017-07-24 09:32 |
|
Target Version | 7.2.0 => 7.3.0 |
2017-12-05 17:08 |
|
Target Version | 7.3.0 => 7.4.0 |
2018-05-08 11:09 |
|
Assigned To | ifv => gka |
2018-05-08 12:29 |
|
Assigned To | gka => msv |
2018-05-08 12:32 |
|
Note Added: 0075873 | |
2018-05-08 12:32 |
|
Assigned To | msv => ifv |
2018-06-05 17:31 | git | Note Added: 0076626 | |
2018-06-07 12:09 | git | Note Added: 0076661 | |
2018-07-06 17:44 | git | Note Added: 0077314 | |
2018-07-09 13:36 | git | Note Added: 0077391 | |
2018-07-23 16:40 | git | Note Added: 0077929 | |
2018-07-24 17:31 | git | Note Added: 0077970 | |
2018-08-29 14:09 | git | Note Added: 0078832 | |
2018-08-31 13:22 | git | Note Added: 0078885 | |
2018-09-03 15:30 | git | Note Added: 0078941 | |
2018-12-29 13:35 | git | Note Added: 0081652 | |
2019-01-10 13:06 |
|
Relationship added | related to 0030435 |
2019-04-26 12:23 | git | Note Added: 0084008 | |
2019-05-14 15:47 | git | Note Added: 0084340 | |
2019-05-14 22:16 | kgv | Summary | Add projection support in sewing pcurves handling => Modeling Algorithms - Add projection support in sewing pcurves handling |
2019-05-17 14:55 | git | Note Added: 0084428 | |
2019-05-21 16:21 | git | Note Added: 0084512 | |
2019-05-24 11:02 | git | Note Added: 0084594 | |
2019-05-24 15:52 | git | Note Added: 0084606 | |
2019-05-27 16:48 | git | Note Added: 0084668 | |
2019-06-21 15:59 | git | Note Added: 0085199 | |
2019-07-02 16:25 | git | Note Added: 0085381 | |
2019-08-12 17:46 |
|
Target Version | 7.4.0 => 7.5.0 |
2019-10-01 15:43 | git | Note Added: 0087665 | |
2019-10-02 13:52 | git | Note Added: 0087687 | |
2019-10-02 13:54 |
|
Steps to Reproduce Updated | |
2019-10-02 14:18 |
|
Note Added: 0087690 | |
2019-10-02 14:18 |
|
Assigned To | ifv => msv |
2019-10-02 14:18 |
|
Status | assigned => resolved |
2019-10-04 18:33 |
|
Note Added: 0087838 | |
2019-10-04 18:33 |
|
Assigned To | msv => ifv |
2019-10-04 18:33 |
|
Status | resolved => assigned |
2019-10-04 18:34 |
|
Note Added: 0087839 | |
2019-11-11 16:58 |
|
Assigned To | ifv => gka |
2019-11-11 16:58 |
|
Status | assigned => feedback |
2019-11-12 12:38 |
|
Note Added: 0088909 | |
2019-11-12 12:43 |
|
Assigned To | gka => ifv |
2019-11-12 12:52 |
|
Status | feedback => assigned |
2019-12-23 14:13 | git | Note Added: 0089711 | |
2019-12-23 16:04 |
|
File Added: bug31242.brep | |
2019-12-23 16:05 |
|
File Deleted: bug31242.brep | |
2019-12-25 12:51 | git | Note Added: 0089752 | |
2020-01-20 17:46 | git | Note Added: 0089960 | |
2020-01-23 12:03 | git | Note Added: 0090007 | |
2020-09-15 16:27 |
|
Target Version | 7.5.0 => 7.6.0 |
2021-08-29 18:54 |
|
Target Version | 7.6.0 => 7.7.0 |
2022-10-24 10:42 |
|
Target Version | 7.7.0 => 7.8.0 |
2023-08-01 15:08 | dpasukhi | Target Version | 7.8.0 => Unscheduled |