Mon, 12/04/2023 - 21:59
Forums:
Open Cascade is delighted to announce the release of Open CASCADE Technology version 7.8.0 to the public.
Overview
Version 7.8.0 is a minor release, encompassing approximately 110 improvements and corrections over the previous minor release 7.7.0.
What's New in OCCT 7.8.0
General
- Fixed
TDataStd_NamedData HasSmth()
methods to no longer return true for empty containers. - Improved general performance through code updates with static analysis.
- Implemented "Memory Manager" configurations: Native, TBB, JeMalloc, Flexible. JeMalloc leads to a performance increase of up to 40% for large files.
- Introduced CMake configuration for optimization profiles: Default and Production. Production activates all available compiler optimizations.
- Implemented move semantics into NCollection and TCollection containers.
- Modernized NCollection_Vector(NCollection_DynamicArray), NCollection_Array1, and NCollection_Array2.
- Updated memory allocation functionality to avoid unnecessary memory cleaning (set 0).
- Modernized NCollection_IncAllocator (optimized pool for small objects).
Modeling
- Addressed multiple bug fixes and improvements for various modeling algorithm methods.
- Increased memory management performance.
- Improved overall modeling stability.
- Resolved canonical geoplane detection problems.
Visualization
- Resolved compilation issues related to vtk 9.2.6.
- Improved SelectMgr_EntityOwner to process the selection scheme.
- Modified
Image_AlienPixMap::Save()
to write into a memory buffer instead of a file. - Reduced sensitivity of lines.
- Extended AIS_AnimationObject with syntax for defining rotation around a specific point.
- Introduced separate gesture mappings for dragging to AIS_ViewController.
- Integrated the ability to scale by moving the mouse on the OY axis.
Mesh
- Fixed
BRepMesh_IncrementalMesh
issue with overflowing system memory. Unhandled Standard_OutOfRange
,BRepMesh_PairOfIndex::Append()
no longer prevents triangulation with large deflection values.
Data Exchange
- Resolved multiple issues regarding DE Wrapper and Step import and export.
- Increased STEP parser performance.
- Introduced thread-safety interface to STEP import and export.
- Reorganized DE ToolKits according to specific CAD formats.
- Introduced DE plug-in system to load CAD format providers during library loading time.
- Fixed stability issues with XBF and IGES file formats.
- Addressed general problems with importing VRML V1.
- Improved processing of STEP-oriented dimensions.
Draw Test Harness
- Enabled loading of plugins on Linux OS.
- Reorganized DRAW DE ToolKits according to specific CAD formats.
- Resolved environment-related issues with debug tools
DrawTrSurf_Set
,DrawTrSurf_SetPnt
, andDrawTrSurf_SetPnt2d
.
How to Upgrade
For details on upgrading to the new version, please refer to OCCT Upgrade Guide.
Prepared packages are available at the following link: Release V7_8_0 · Open-Cascade-SAS/OCCT (github.com)
Feel free to contact us for any additional information.
Tue, 12/05/2023 - 00:08
The documentation https://dev.opencascade.org/doc/overview/html/occt__upgrade.html refers to the old version 7.7.0.
Tue, 12/05/2023 - 01:08
Thank you. My apologies. The link will be updated when IT team will be avaliable (5.12.23). Additionally, vc140-vc143 and gcc (static/shared) packages will be attached to the release.
But now, please check prepared documentation locally: https://github.com/Open-Cascade-SAS/OCCT/releases/download/V7_8_0/docume...
___
Upd.: The link updated.
Best regards, Dmitrii.
Wed, 12/06/2023 - 00:25
Hello,
Unfortunately, compilation fails with clang-16:
FAILED: src/TKernel/CMakeFiles/TKernel.dir/__/Message/Message_AttributeMeter.cxx.o
/usr/bin/c++ -DHAVE_DRACO -DHAVE_FFMPEG -DHAVE_FREEIMAGE -DHAVE_FREETYPE -DHAVE_GLES2_EXT -DHAVE_OPENGL_EXT -DHAVE_RAPIDJSON -DHAVE_TBB -DHAVE_TK -DHAVE_VTK -DHAVE_XLIB -DOCC_CONVERT_SIGNALS -DTKernel_EXPORTS -DVTK_OPENGL2_BACKEND -I/usr/local/include/tcl8.6 -I/usr/local/include/tk8.6 -I/usr/local/include/freetype2 -I/usr/local/include/vtk-9.2 -I/usr/local/ffmpeg4/include -I/usr/local/include/draco -I/usr/ports/cad/opencascade/work/.build/usr/local/include/OpenCASCADE -O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -isystem /usr/local/include -fexceptions -fPIC -Wall -Wextra -Wshorten-64-to-32 -O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -isystem /usr/local/include -DNDEBUG -DNo_Exception -std=gnu++11 -fPIC -MD -MT src/TKernel/CMakeFiles/TKernel.dir/__/Message/Message_AttributeMeter.cxx.o -MF src/TKernel/CMakeFiles/TKernel.dir/__/Message/Message_AttributeMeter.cxx.o.d -o src/TKernel/CMakeFiles/TKernel.dir/__/Message/Message_AttributeMeter.cxx.o -c /usr/ports/cad/opencascade/work/OCCT-7_8_0/src/Message/Message_AttributeMeter.cxx
/usr/ports/cad/opencascade/work/OCCT-7_8_0/src/Message/Message_AttributeMeter.cxx:256:43: error: cannot pass object of non-trivial type 'const std::pair<double, double>' through variadic function; call will abort at runtime [-Wnon-pod-varargs]
2, anIterator.Value(), anIterator.Value())
^
/usr/ports/cad/opencascade/work/OCCT-7_8_0/src/Message/Message_AttributeMeter.cxx:256:63: error: cannot pass object of non-trivial type 'const std::pair<double, double>' through variadic function; call will abort at runtime [-Wnon-pod-varargs]
2, anIterator.Value(), anIterator.Value())
^
2 errors generated.
Wed, 12/06/2023 - 13:23
Hello. Interesting thing, yes it is a regression. For some reason there was no problem on a little older compiler.
We will update a branch today. My apologies. We move forward a branch and apply a tag into new version.
Best regards, Dmitrii.
Wed, 12/06/2023 - 13:44
Tempelary solution - CR33544.
We continue to investigate a problem with Clang16.
_
Upd: No more problems with Clang-16.
Best regards. Dmitrii.
Wed, 12/06/2023 - 12:08
Hello,
can you tag the version in git?
Thanks
Wed, 12/06/2023 - 13:10
GitHub is already have a tag.
Our main mantise will be tag during a current week.
Best regards, Dmitrii.
Wed, 12/06/2023 - 13:17
In fact, I only see a branch not a tag. But anyway, the code is there.
Thanks.
Wed, 12/06/2023 - 15:17
genproj gives error;
PS C:\OpenCASCADE-7.8\OCCT_7_8_0> .\genproj.bat
Preparing to generate vc143 projects for wnt platform...
Collecting required header files into C:/OpenCASCADE-7.8/OCCT_7_8_0/inc ...
Generating VS project files for vc143
Error: Cannot determine type of unit FlexLexer, check adm/UDLIST!
while executing
"error "Error: Cannot determine type of unit $loc, check adm/UDLIST!" "
(procedure "osutils:tk:files" line 17)
invoked from within
"osutils:tk:files $tkloc [osutils:compilable $thePlatform] $theSrcDir"
(procedure "osutils:tk:cxxfiles" line 1)
invoked from within
"osutils:tk:cxxfiles $xlo wnt $theSrcDir"
(procedure "osutils:vcproj" line 64)
invoked from within
"osutils:vcproj $theVcVer $isUWP $theOutDir $aToolKit aGuidsMap $theSrcDir $theSourceDirOther"
(procedure "OS:vcproj" line 8)
invoked from within
"OS:vcproj $theVcVer $isUWP $aModule $theOutDir ::THE_GUIDS_LIST "src" """
(procedure "OS:MKVC" line 8)
invoked from within
"OS:MKVC $anOutDir $aModules $aTools $theSolution $theFormat $isUWP"
(procedure "OS:MKPRC" line 105)
invoked from within
"OS:MKPRC "$anAdmPath" "$theFormat" "$aLibType" "$aPlatform" "$aCmpl" "$aSolution""
(procedure "genproj" line 95)
invoked from within
"genproj vc143 wnt -solution OCCT"
("eval" body line 1)
invoked from within
"eval $cmdname [lrange $argv 1 end]"
(file "C:\OpenCASCADE-7.8\OCCT_7_8_0\adm/start.tcl" line 30)
Wed, 12/06/2023 - 15:19
Hello,
Thank you. As a temporary solution, please use CMake. It will have more options for optimisation and feautures.
Best regards, Dmitrii.
Wed, 12/06/2023 - 16:00
Problem fixed: please check CR33544_1. It will be a part of forwarded release branch
Best regards, Dmitrii.
Wed, 12/06/2023 - 21:35
Great! With the patches from https://git.dev.opencascade.org/gitweb/?p=occt.git;a=commitdiff;h=ffd7a3... it builds fine on FreeBSD / clang-16.
Best regards.
Wed, 12/06/2023 - 21:55
Branch CR0-780 was forwarded on that commit. Thank you for your research.
Best regards, Dmitrii.
Tue, 12/12/2023 - 04:12
The TopoDS_Shape::HashCode method is deleted, any other function get the shape hashcode?
Tue, 12/12/2023 - 09:23
it's in the upgrade guide https://dev.opencascade.org/doc/overview/html/occt__upgrade.html
Tue, 12/12/2023 - 12:35
Hello, you are free to use
const size_t aHash = std::hash<TopoDS_Shape>{}(aShape);
Or TopTools_ShapeMapHasher{}(aShape);
The difference beetween TopTools_ShapeMapHasher and std::hash is depends on location.
TopTools_ShapeMapHasher used IsSame method of TopoDS_Shape
std::hash used IsEqual method (==) of TopoDS_Shape
Wed, 12/13/2023 - 05:42
Hello,
https://dev.opencascade.org/release
Update the Download latest release to Open CASCADE Technology 7.8.0?
Best Regards.
Wed, 12/13/2023 - 13:30
Hello,
Thank you. It is on updating stage. On this week this page will be updated. But we a little rework release delivery.
Best regards, Dmitrii.
Wed, 12/13/2023 - 14:53
Compile error with 7.8.0 VS2015:
Error:
Wed, 12/13/2023 - 15:11
Hello, the problem is known.
Please update your VS with last version. Working version is 14.0.25420.01 Update 3
It is internal bug of old compiler.
Best regards, Dmitrii.
Wed, 12/13/2023 - 15:19
We don't be able to reproduce the problem, but could you try to put the next line in this file?
#include <Standard_HashUtils.hxx>
Best regards, Dmitrii.
Wed, 12/13/2023 - 15:40
If it will not help, please let us know. We will create workaround for enable_if functionality.
In this case please send us a version of VS15 that are you using.
Best regards, Dmitrii.
Thu, 12/14/2023 - 08:27
Hello Dmitrii.
It does not help. Visual Studio Community 2015, Version 14.0.25431.01 Update 3:
I will try to update Visual Studio. Thanks.
Thu, 12/14/2023 - 12:08
Thank you. Looks like your version is higher.
I will try to reproduce. There are can be another way to declare templates. The solution, that we be able to introduce for you - only a code patch(that will be a part of master branch later).
Best regards, Dmitrii.
Thu, 12/14/2023 - 12:10
During the day the patch will be prepared. My apologies.
Thu, 12/14/2023 - 13:15
Hello, please check branch CR33553.
Ticket 0033553: Foundation Classes - HashUtils compilation problem - MantisBT (opencascade.org)
Best regards, Dmitrii.
Thu, 12/14/2023 - 16:08
Great!
Thanks.
Thu, 12/14/2023 - 13:48
compilation fails in M1 Pro Mac , xcode 13.3 , macos 13.4
[ 60%] Linking CXX shared library ../../mac64/clang/lib/libTKViewerTest.dylib
ld: warning: option -s is obsolete and being ignored
Undefined symbols for architecture arm64:
"_ViewerTest_myViews", referenced from:
FindViewId(NSWindow const*) in ViewerTest_ViewerCommands_1.mm.o
-[Cocoa_WindowController windowWillClose:] in ViewerTest_ViewerCommands_1.mm.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [mac64/clang/lib/libTKViewerTest.7.8.0.dylib] Error 1
make[1]: *** [src/TKViewerTest/CMakeFiles/TKViewerTest.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 68%] Built target TKDEIGES
[ 97%] Built target TKDESTEP
Thu, 12/14/2023 - 14:25
But if you are not needed DRAW, you can disable -D BUILD_MODULE_Draw=OFF as a templeary solution. We will try to fix it.
Thu, 12/14/2023 - 14:23
Hello, thank you for sharing, but could you share log as a text file?
Best regards, Dmitrii.
Fri, 12/15/2023 - 06:12
ok
Fri, 12/15/2023 - 12:56
I mean a more logs (this doesn't conains necessary information)
Fri, 12/15/2023 - 12:58
Oh, I see the problem with Cocoa_Window
Did you be able to build the 7.7.0? The problem only with 7.8? If it is new problem, need more logs.
Mon, 12/18/2023 - 05:54
this all the build logs, i can build 7.7.1 and 7.7.2, not test 7.7.0
Mon, 12/18/2023 - 13:28
Hello, the problem is found. My apologyes. The problem in no-name namespace for static global variable, that can't be extern in this case.
The fix will be during the day.
Mon, 12/18/2023 - 14:53
Please check CR33557
https://git.dev.opencascade.org/gitweb/?p=occt.git;a=shortlog;h=refs/hea...
Best regards, Dmitrii.
Tue, 12/19/2023 - 10:35
Thanks.
Sun, 12/17/2023 - 12:11
Hello everyone, please ask. I updated the local 7.6.0 source code to 7.8.0, and then compiled it, but the error shown in the picture appeared. I don't know what the reason is. Note: I compiled with android studio. The relevant marks in the diagram indicate the compilation tools used and the location of the error.
Sun, 12/17/2023 - 15:08
Hello, it is know problem of some compilers(not defined standard specialization for std::hash for enumiration)
Fix available in the last WeekBranch (OCCT Git - occt.git/shortlog (opencascade.org))
IR-2023-12-15
Snapshot to dowload source: https://git.dev.opencascade.org/gitweb/?p=occt.git;a=snapshot;h=83bb2a32...
original issue: 0033554: Foundation Classes - Missed hash specialization for enumerations - MantisBT (opencascade.org)
Best regards, Dmitrii.
Wed, 12/20/2023 - 12:44
Thank you very much. After updating the local code to the latest submitted code, I can compile and generate a new library file.
Wed, 12/20/2023 - 12:04
Hello!
How to compile the new version 7.8, taking into account that I already have version 7.7 installed on my computer (Windows 11) using Windows installer VC++ 2017 64 bit: opencascade-7.7.0-vc14-64.exe?
Should this version be uninstalled and/or should we wait for a similar version like opencascade-7.8.0-vc14-64.exe?
Please indicate basic steps to upgrade to this new version for this update, I am quite inexperienced in using CMake .
Thank you very much!
Wed, 12/20/2023 - 12:53
Hello, exe files will not provided. We moved to package delivery. Look: OCCT 7.8 Release Candidate: Updated Maintenance Workflow - Forum Open Cascade Technology
We have some delay with preparing packages, (thet will be avaliavle from the Dowload page later) but now you can dowload occt-vc143-64 and 3rdparty-vc14-64
https://github.com/Open-Cascade-SAS/OCCT/releases/download/V7_8_0/3rdpar...
https://github.com/Open-Cascade-SAS/OCCT/releases/download/V7_8_0/occt-v...
Another files to dowload: Release V7_8_0 · Open-Cascade-SAS/OCCT (github.com)
To start DRAWEXE you need to have the next file structure:
rootFolder
├───occt-vc143-64
├───3rdparty-vc14-64
Best regards, Dmitrii.
Tue, 12/26/2023 - 20:35
Dear all, after compiling OCC 7.8 (with no errors) i want to replace OCC7.5 with OCC7.8 in my project. But i am getting a linking problem with the functions Standard_Transient::IncrementRefCounter and others because they are not exported anymore. See the source code "..\OCCT-7_8_0\src\Standard\Standard_Transient.hxx" line 96.
I have exported the functions again and try to run my project again.(Still have to run the first tests...)
Any suggestions or ideas what this code modification can break at run time?
I could not find any reasonable description why the export was removed at those positions. Any description for me?
BR Manuel
Tue, 12/26/2023 - 23:03
The method moved to the inline method. These changes shouldn't create any issues.
Please, check that you don't use the old OCCT version (header files). Perform a clean solution and fully rebuild (your solution). The possible reason is caching old linker connections.
If you know the possible problems after moving from "Export" to "inline", please let me know. but the necessary header already is defined in hxx, no more reason to separate functionality.
Best regards, Dmitrii.
Wed, 12/27/2023 - 16:41
Hi Dmitrii,
thanks for your reply. Both methods just working well. After a complete newly build also the linking error is gone.
Thanks....
Mon, 01/15/2024 - 15:58
Hi, Dmitrii,
do you know, when the binaries of additional components will be released for 7.8.0? It is already almost 1,5 month since the release of OCCT7.8.0, but still no build for the additional components...
It is hard productively to upgrade to the latest OCCT if the components are missing.
Regards,
Dzmitry
Mon, 01/15/2024 - 16:23
Hi, additional component is "our commercial"? They are updated, and delivering on request. "Kernel" will be updated soon (in this month).
Best regards, Dmitrii.
Mon, 01/15/2024 - 16:56
Ok, strange. We requested an updated ExpressMesh component already on 13th of December and till today, it was neither delivered nor we received any response on our numerous emails (we newly tried to request it on 5th and 11the of January)...
Mon, 01/15/2024 - 18:30
We sent you a clarification about necessary platform and compiler. Please check you mail. My apologies for the inconvenience
Best regards, Dmitrii.
Tue, 02/20/2024 - 15:32
Dear OCCT community,
If you encounter any doubts or encounter problems with the OCCT 7.8 release, please feel free to create a new topic or leave a comment on the current topic. Your input is invaluable in helping us address any issues and improve the OCCT experience for all users.
Best regards, OpenCascade Team