1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-09 13:22:24 +03:00

Compare commits

...

10 Commits

Author SHA1 Message Date
Pasukhin Dmitry
858dd02fed Coding - Bump version to 7.9.0 stable release #380 2025-02-17 22:00:23 +00:00
Pasukhin Dmitry
7f7e7df782 Documentation - Update coding rules and formatting guidelines #379 2025-02-17 22:00:07 +00:00
dpasukhi
20c7202089 Testing - Remove unstable test cases 2025-02-17 18:15:58 +00:00
Zernova Marina
8fb662b0aa Visualization - NCollection_DataMap::Find() exception from AIS_Selection::Select() #375
Problem with NCollection_DataMap::Find() exception during multiple selection in OCC viewer.
Incorrect call is made from AIS_Selection::Select() method at line:
AIS_NListOfEntityOwner::Iterator aListIter = myResultMap.Find (theOwner);
Original issue: 0033742
2025-02-17 15:52:24 +00:00
jfa
e375bd7c3e Modeling Algorithms - UnifySameDomain improvement #371
Extend ShapeUpgrade_UnifySameDomain algorithm working on cases,
  where SurfaceOfRevolution or SurfaceOfLinearExtrusion was made on basis of TrimmedCurve.
Original issue: 0033328
2025-02-17 14:12:49 +00:00
astromko
4c5f9c77cb Modeling - Removing surface after transformation #374
Old surface is not removed after translation or rotation with geometry copying
Removed unnecessary condition that was added by an earlier fix.
Added a test case.
Original issue: 0033591
2025-02-17 14:12:43 +00:00
Pasukhin Dmitry
ed6005b75a Testing - Summarize only with success reference #377
Fix GitHub Actions workflow to filter completed runs by success status
2025-02-17 14:11:03 +00:00
Pasukhin Dmitry
04a15e36f7 Testing - Remove installation of Visual C++ 2010 #376 2025-02-17 14:10:48 +00:00
jfa
0a73cac759 Configuration - CMake symbol isolation issue on Windows #373
Fixed Salome compilation problem on Windows by M.Bernhard
2025-02-17 12:52:41 +00:00
jfa
6f42ada2e6 Modeling - SIGSEGV BRepAdaptor_Curve2d and UnifySameDomain #372
SIGSEGV with MakeVertexInsideFace.
Fixed exceptions with loading null curve and using out of range index.
By K.Leontev. [bos #37951]
2025-02-17 11:12:21 +00:00
17 changed files with 242 additions and 805 deletions

View File

@@ -534,12 +534,6 @@ jobs:
.\systemwidedeploy.cmd 5
shell: cmd
- name: Install Visual C++ 2010 Redistributable
run: |
choco install -y vcredist2010
refreshenv
shell: cmd
- name: Install CJK Fonts
run: |
Invoke-WebRequest -Uri https://noto-website-2.storage.googleapis.com/pkgs/Noto-hinted.zip -OutFile Noto-hinted.zip
@@ -651,13 +645,6 @@ jobs:
.\systemwidedeploy.cmd 5
shell: cmd
- name: Install Visual C++ 2010 Redistributable
if: steps.check_failures.outputs.failed_count > 0
run: |
choco install -y vcredist2010
refreshenv
shell: cmd
- name: Install CJK Fonts
if: steps.check_failures.outputs.failed_count > 0
run: |
@@ -775,12 +762,6 @@ jobs:
.\systemwidedeploy.cmd 5
shell: cmd
- name: Install Visual C++ 2010 Redistributable
run: |
choco install -y vcredist2010
refreshenv
shell: cmd
- name: Install CJK Fonts
run: |
Invoke-WebRequest -Uri https://noto-website-2.storage.googleapis.com/pkgs/Noto-hinted.zip -OutFile Noto-hinted.zip
@@ -892,13 +873,6 @@ jobs:
.\systemwidedeploy.cmd 5
shell: cmd
- name: Install Visual C++ 2010 Redistributable
if: steps.check_failures.outputs.failed_count > 0
run: |
choco install -y vcredist2010
refreshenv
shell: cmd
- name: Install CJK Fonts
if: steps.check_failures.outputs.failed_count > 0
run: |
@@ -1761,7 +1735,7 @@ jobs:
run: |
response=$(curl -s \
-H "Accept: application/vnd.github.v3+json" \
"https://api.github.com/repos/${{ github.repository }}/actions/runs?branch=${{ github.event.pull_request.base.ref }}&status=completed")
"https://api.github.com/repos/${{ github.repository }}/actions/runs?branch=${{ github.event.pull_request.base.ref }}&status=success")
latest_run_id=$(echo "$response" | jq -r '.workflow_runs[] | select(.name=="Build and Test OCCT on Multiple Platforms") | .id' | head -n 1)
echo "latest_run_id=$latest_run_id" >> $GITHUB_ENV

View File

@@ -26,7 +26,7 @@ endif()
if (MSVC)
# suppress C26812 on VS2019/C++20 (prefer 'enum class' over 'enum')
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /fp:precise /wd\"26812\"")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /fp:precise /wd26812")
# suppress warning on using portable non-secure functions in favor of non-portable secure ones
add_definitions (-D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_DEPRECATE)
else()

View File

@@ -19,4 +19,4 @@
set (OCC_VERSION_MAJOR 7 )
set (OCC_VERSION_MINOR 9 )
set (OCC_VERSION_MAINTENANCE 0 )
set (OCC_VERSION_DEVELOPMENT "beta2" )
set (OCC_VERSION_DEVELOPMENT )

View File

@@ -12,54 +12,70 @@ The easiest way to install third-party libraries is to download archive with pre
from [Development Portal](https://dev.opencascade.org/resources/download/3rd-party-components).
You can also build third-party libraries from their sources, see @ref build_upgrade_building_3rdparty for instructions.
On Linux and macOS we recommend to use libraries maintained by distributive developers, when possible.
On Linux and macOS we recommend using libraries maintained by distributive developers when possible.
@section build_occt_win_cmake Building with CMake tool
@section build_requirements System Requirements
This chapter describes the [CMake](https://cmake.org/download/)-based build process, which is now suggested as a standard way to produce the binaries of Open CASCADE Technology from sources.
OCCT requires CMake version 3.1 or later.
* **CMake** version 3.10 or later (3.16+ recommended for precompiled headers support)
* C++11 compliant compiler (required)
* Supported platforms and compilers:
* Windows:
- Visual Studio 2015 or later
- MinGW-w64 7.3 or later
* Linux:
- GCC 5.0 or later
- Clang 3.8 or later
* macOS:
- Apple Clang 9.0 or later
- Xcode 9.0 or later
CMake is a tool that generates the actual project files for the selected target build system (e.g. Unix makefiles) or IDE (e.g. Visual Studio 2010).
Here we describe the build procedure on the example of Windows platform with Visual Studio 2010.
@section build_occt_cmake Building with CMake
This chapter describes the [CMake](https://cmake.org/download/)-based build process, which is the standard way to produce OCCT binaries from sources.
CMake is a tool that generates project files for the selected target build system (e.g. Unix makefiles) or IDE (e.g. Visual Studio).
Here we describe the build procedure using Windows platform with Visual Studio as an example.
However, CMake is cross-platform and can be used to build OCCT on Linux and macOS in essentially the same way.
CMake deals with three directories: source, build or binary and installation.
* The source directory is where the sources of OCCT are located in your file system;
* The build or binary directory is where all files created during CMake configuration and generation process will be located. The mentioned process will be described below.
* The installation directory is where binaries will be installed after building the *INSTALL* project that is created by CMake generation process, along with header files and resources required for OCCT use in applications.
* The build or binary directory is where all files created during CMake configuration and generation process will be located;
* The installation directory is where binaries will be installed after building the *INSTALL* project, along with header files and resources required for OCCT use in applications.
The good practice is not to use the source directory as a build one.
Different configurations should be built in different build directories to avoid conflicts.
It is however possible to choose one installation directory for several configurations of OCCT (differentiated by platform, bitness, compiler and build type), for example:
Different configurations should be built in different build directories to avoid conflicts.
For example:
d:/occt/ - the source directory
d:/tmp/occt-build-vc10-x64 - the build directory with the generated
d:/tmp/occt-build-vc14-x64 - the build directory with the generated
solution and other intermediate files created during a CMake tool working
d:/occt-install - the installation directory that is
able to contain several OCCT configurations
d:/occt-install - the installation directory that can
contain several OCCT configurations
@subsection build_cmake_conf Configuration process
For unexperienced users we recommend to start with *cmake-gui* -- a cross-platform GUI tool provided by CMake on Windows, Mac and Linux.
For inexperienced users we recommend starting with *cmake-gui* -- a cross-platform GUI tool provided by CMake on Windows, Mac and Linux.
A command-line alternative, *ccmake* can also be used.
If the command-line tool is used, run the tool from the build directory with a single argument indicating the source (relative or absolute path) directory, and press *c* to configure:
If the command-line tool is used, run it from the build directory with a single argument indicating the source directory:
cd d:/tmp/occt-build-vc10-x64
cd d:/tmp/occt-build-vc14-x64
ccmake d:/occt
Then press *c* to configure.
@figure{/build/build_occt/images/cmake_image000.png}
If the GUI tool is used, run this tool without additional arguments and after that specify the source directory by clicking **Browse Source** and the build (binary) one by clicking **Browse Build**:
If the GUI tool is used, run this tool without additional arguments and specify the source directory by clicking **Browse Source** and the build directory by clicking **Browse Build**:
@figure{/build/build_occt/images/cmake_image001.png}
@note Each configuration of the project should be built in its own directory.
When building multiple configurations it is suggested to indicate in the name of build directories the system, bitness and compiler (e.g., <i>d:/occt/build/win32-vc10</i>).
When building multiple configurations it is suggested to indicate in the name of build directories the system, bitness and compiler (e.g., <i>d:/occt/build/win32-vc14</i>).
Once the source and build directories are selected, "Configure" button should be pressed in order to start manual configuration process.
It begins with selection of a target configurator. It is "Visual Studio 10 2010 Win64" in our example.
It begins with selection of a target configurator. It is "Visual Studio 14 2015 Win64" in our example.
@figure{/build/build_occt/images/cmake_image002.png}
@@ -86,24 +102,29 @@ The following table gives the full list of environment variables used at the con
| Variable | Type | Purpose |
|----------|------|---------|
| CMAKE_BUILD_TYPE | String | Specifies the build type on single-configuration generators (such as make). Possible values are Debug, Release and RelWithDebInfo |
| USE_FREETYPE | Boolean | Indicates whether FreeType product should be used in OCCT for text rendering |
| USE_FREEIMAGE | Boolean | Indicates whether FreeImage product should be used in OCCT visualization module for support of popular graphics image formats (PNG, BMP, etc.) |
| USE_OPENVR | Boolean | Indicates whether OpenVR product should be used in OCCT visualization module for support of Virtual Reality |
| USE_OPENGL | Boolean | Indicates whether TKOpenGl graphic driver using OpenGL library (desktop) should be built within OCCT visualization module |
| USE_GLES2 | Boolean | Indicates whether TKOpenGles graphic driver using OpenGL ES library (embedded OpenGL) should be built within OCCT visualization module |
| USE_RAPIDJSON | Boolean | Indicates whether RapidJSON product should be used in OCCT Data Exchange module for support of glTF mesh file format |
| USE_DRACO | Boolean | Indicates whether Draco product should be used in OCCT Data Exchange module for support of Draco compression in glTF mesh file format |
| USE_TK | Boolean | Indicates whether Tcl/Tk product should be used in OCCT Draw Harness module for user interface (in addition to Tcl, which is mandatory for Draw Harness) |
| USE_TBB | Boolean | Indicates whether TBB (Threading Building Blocks) 3rd party is used or not. Note that OCCT remains parallel even without TBB product |
| USE_VTK | Boolean | Indicates whether VTK 3rd party is used or not. OCCT comes with a bridge between CAD data representation and VTK by means of its dedicated VIS component (VTK Integration Services). You may skip this 3rd party unless you are planning to use VTK visualization for OCCT geometry. See the official documentation @ref occt_user_guides__vis for the details on VIS |
| USE_FREETYPE | Boolean | Indicates whether FreeType product should be used in OCCT for text rendering |
| USE_FREEIMAGE | Boolean | Indicates whether FreeImage product should be used in OCCT visualization module for support of popular graphics image formats |
| USE_FFMPEG | Boolean | Indicates whether FFmpeg framework should be used for video encoding/decoding support |
| USE_OPENVR | Boolean | Indicates whether OpenVR product should be used in OCCT visualization module for VR support |
| USE_OPENGL | Boolean | Indicates whether TKOpenGl graphic driver using OpenGL library (desktop) should be built |
| USE_GLES2 | Boolean | Indicates whether TKOpenGles graphic driver using OpenGL ES library should be built |
| USE_RAPIDJSON | Boolean | Indicates whether RapidJSON product should be used for JSON format support |
| USE_DRACO | Boolean | Indicates whether Draco mesh compression library should be used |
| USE_TK | Boolean | Indicates whether Tcl/Tk product should be used in Draw Harness for user interface |
| USE_TBB | Boolean | Indicates whether TBB (Threading Building Blocks) should be used for parallel computations |
| USE_VTK | Boolean | Indicates whether VTK bridge should be built |
| BUILD_USE_PCH | Boolean | Enable/disable use of precompiled headers. Requires CMake 3.16 or later |
| BUILD_USE_VCPKG | Boolean | Use vcpkg for managing third-party dependencies |
| BUILD_INCLUDE_SYMLINK | Boolean | Use symbolic links instead of copies for header files in build directory |
| BUILD_MODULE_<MODULE>| Boolean | Indicates whether the corresponding OCCT module should be built |
| BUILD_LIBRARY_TYPE | String | Specifies library type ("Shared" or "Static") |
| BUILD_CPP_STANDARD | String | Select C++ standard (C++11, C++14, C++17, C++20, C++23) |
| 3RDPARTY_DIR | Path | Defines the root directory where all required 3rd party products will be searched. Once you define this path it is very convenient to click "Configure" button in order to let CMake automatically detect all necessary products|
| 3RDPARTY_FREETYPE_* | Path | Path to FreeType binaries |
| 3RDPARTY_TCL_* 3RDPARTY_TK_* | Path | Path to Tcl/Tk binaries |
| 3RDPARTY_FREEIMAGE* | Path | Path to FreeImage binaries |
| 3RDPARTY_TBB* | Path | Path to TBB binaries |
| 3RDPARTY_VTK_* | Path | Path to VTK binaries |
| BUILD_MODULE_<MODULE>| Boolean | Indicates whether the corresponding OCCT module should be built or not. It should be noted that some toolkits of a module can be built even if this module is not checked (this happens if some other modules depend on these toolkits). The main modules and their descriptions can be found in @ref user_guides |
| BUILD_LIBRARY_TYPE | String | Specifies the type of library to be created. "Shared" libraries are linked dynamically and loaded at runtime. "Static" libraries are archives of object files used when linking other targets. Note that Draw Harness plugin system is incompatible with "Static" builds, and therefore it is disabled for these builds.|
| BUILD_ADDITIONAL_TOOLKITS | String | Semicolon-separated individual toolkits to include into build process. If you want to build some particular libraries (toolkits) only, then you may uncheck all modules in the corresponding *BUILD_MODUE_\<MODULE\>* options and provide the list of necessary libraries here. Of course, all dependencies will be resolved automatically |
| BUILD_YACCLEX | Boolean | Enables Flex/Bison lexical analyzers. OCCT source files relating to STEP reader and ExprIntrp functionality are generated automatically with Flex/Bison. Checking this option leads to automatic search of Flex/Bison binaries and regeneration of the mentioned files |
| BUILD_SAMPLES_MFC | Boolean | Indicates whether MFC samples should be built together with OCCT. This option is only relevant to Windows platforms |
@@ -113,7 +134,6 @@ The following table gives the full list of environment variables used at the con
| BUILD_PATCH | Path | Points to the directory recognized as a "patch" for OCCT. If specified, the files from this directory take precedence over the corresponding native OCCT sources. This way you are able to introduce patches to Open CASCADE Technology not affecting the original source distribution |
| BUILD_WITH_DEBUG | Boolean | Enables extended messages of many OCCT algorithms, usually printed to cout. These include messages on internal errors and special cases encountered, timing, etc. |
| BUILD_ENABLE_FPE_SIGNAL_HANDLER | Boolean | Enable/Disable the floating point exceptions (FPE) during DRAW execution only. Corresponding environment variable (CSF_FPE) can be changed manually in custom.bat/sh scripts without regeneration by CMake. |
| BUILD_CPP_STANDARD | String | Employ corresponding c++ standard (C++11, C++14, ..C++23) for building OCCT |
| CMAKE_CONFIGURATION_TYPES | String | Semicolon-separated CMake configurations |
| INSTALL_DIR | Path | Points to the installation directory. *INSTALL_DIR* is a synonym of *CMAKE_INSTALL_PREFIX*. The user can specify both *INSTALL_DIR* or *CMAKE_INSTALL_PREFIX* |
| INSTALL_DIR_BIN | Path | Relative path to the binaries installation directory (absolute path is ${INSTALL_DIR}/${INSTALL_DIR_BIN}) |
@@ -211,7 +231,7 @@ The directory structure is as follows:
samples - samples
src - all required source files for OCCT
tests - OCCT test suite
win32\vc10\bind - binary files (installed 3rdparties and occt)
win32\vc14\bind - binary files (installed 3rdparties and occt)
\libd - libraries (installed 3rdparties and occt)
@note The above example is given for debug configuration.
@@ -219,7 +239,7 @@ However, it is generally safe to use the same installation directory for the rel
In the latter case the contents of install directory will be enriched with subdirectories and files related to the release configuration.
In particular, the binaries directory win64 will be expanded as follows:
\win32\vc10\bind
\win32\vc14\bind
\libd
\bin
\lib
@@ -235,10 +255,11 @@ This section describes the steps to build OCCT libraries for Android from a comp
The steps on Windows 7 and Ubuntu 15.10 are similar. There is the only one difference: makefiles are built with mingw32-make on Windows and native GNU make on Ubuntu.
Required tools (download and install if it is required):
- CMake 3.0+
- [Cross-compilation toolchain for CMake](https://github.com/taka-no-me/android-cmake)
- [Android NDK r12+](https://developer.android.com/ndk/downloads)
- GNU Make: MinGW v4.82+ for [Windows](https://www.mingw-w64.org/), GNU Make 4.0 for Ubuntu.
- CMake 3.10+ (3.16+ recommended)
- Android NDK r19+
- Android SDK API level 21+
- For Windows: MinGW-w64 7.3+ or Visual Studio 2015+
- For Linux/macOS: GNU Make 4.0+
Run GUI tool provided by CMake and:
- Specify the root folder of OCCT (`$CASROOT`, which contains *CMakelists.txt* file) by clicking **Browse Source**.
@@ -263,9 +284,9 @@ specify `CMAKE_MAKE_PROGRAM` to mingw32-make executable.
@figure{/build/build_occt/images/android_image005.png}
How to configure OCCT, see @ref build_cmake_conf "Configure" section taking into account the specific configuration variables for Android:
- `ANDROID_ABI` = `armeabi-v7a`
- `ANDROID_NATIVE_API_LEVEL` = `15`
- `ANDROID_NDK_LAYOUT` is equal to `CMAKE_BUILD_TYPE` variable
- `ANDROID_ABI` = `armeabi-v7a`, `arm64-v8a`, `x86`, or `x86_64`
- `ANDROID_PLATFORM` = `android-21` (minimum supported API level)
- `ANDROID_STL` = `c++_shared` (recommended)
- `BUILD_MODULE_Draw` = `OFF`
@figure{/build/build_occt/images/android_image006.png}

View File

@@ -233,13 +233,18 @@ void Average (const Standard_Real** theArray,
To improve the open source readability and, consequently, maintainability, the following set of rules is applied.
### Clang-format [MANDATORY]
The source code should be formatted using the clang-format tool with the configuration file provided in the OCCT repository.
The version of clang-format should be 18.1.8 or higher.
### International language [MANDATORY]
All comments in all sources must be in English.
### Line length
Try to stay within the limit of 120 characters per line in all sources.
Try to stay within the limit of 100 characters per line in all sources.
### C++ style comments
@@ -254,49 +259,6 @@ Delete unused code instead of commenting it or using \#define.
Indentation in all sources should be set to two space characters.
Use of tabulation characters for indentation is disallowed.
### Separating spaces
Punctuation rules follow the rules of the English language.
* C/C++ reserved words, commas, colons and semicolons should be followed by a space character if they are not at the end of a line.
* There should be no space characters after '(' and before ')'. Closing and opening brackets should be separated by a space character.
* For better readability it is also recommended to surround conventional operators by a space character.
Examples:
~~~~{.cpp}
while (true) // NOT: while( true ) ...
{
DoSomething (theA, theB, theC, theD); // NOT: DoSomething(theA,theB,theC,theD);
}
for (anIter = 0; anIter < 10; ++anIter) // NOT: for (anIter=0;anIter<10;++anIter){
{
theA = (theB + theC) * theD; // NOT: theA=(theB+theC)*theD
}
~~~~
### Declaration of pointers and references
In declarations of simple pointers and references put asterisk (*) or ampersand (&) right after the type without extra space.
Since declaration of several variables with mixed pointer types contrudicts this rule, it should be avoided. Instead, declare each variable independently with fully qualified type.
Examples:
~~~~{.cpp}
Standard_Integer *theVariable; // not recommended
Standard_Integer * theVariable; // not recommended
Standard_Integer* theVariable; // this is OK
Standard_Integer *&theVariable; // not recommended
Standard_Integer *& theVariable; // not recommended
Standard_Integer*& theVariable; // this is OK
Standard_Integer **theVariable; // not recommended
Standard_Integer ** theVariable; // not recommended
Standard_Integer** theVariable; // this is OK
Standard_Integer *theA, theB, **theC; // not recommended (declare each variable independently)
~~~~
### Separate logical blocks
Separate logical blocks of code with one blank line and comments.
@@ -330,19 +292,16 @@ Each descriptive block should contain at least a function name and purpose descr
See the following example:
~~~~{.cpp}
// =======================================================================
// function : TellMeSmthGood
// purpose : Gives me good news
// =======================================================================
// ================================================================================================
void TellMeSmthGood()
{
...
}
// =======================================================================
// function : TellMeSmthBad
// purpose : Gives me bad news
// =======================================================================
// ================================================================================================
void TellMeSmthBad()
{
...
@@ -400,23 +359,6 @@ if (THE_LIMIT == theValue) // bad style (global constant vs. variable)
if (theValue == THE_LIMIT) // OK
~~~~
### Alignment
Use alignment wherever it enhances the readability. See the following example:
~~~~{.cpp}
MyPackage_MyClass anObject;
Standard_Real aMinimum = 0.0;
Standard_Integer aVal = theVal;
switch (aVal)
{
case 0: computeSomething(); break;
case 12: computeSomethingElse (aMinimum); break;
case 3:
default: computeSomethingElseYet(); break;
}
~~~~
### Indentation of comments
Comments should be indented in the same way as the code to which they refer or they can be in the same line if they are short.

View File

@@ -7,7 +7,7 @@ Upgrade from older OCCT versions {#occt__upgrade}
This document provides technical details on changes made in particular versions of OCCT. It can help to upgrade user applications based on previous versions of OCCT to newer ones.
@ref upgrade_occt780 "SEEK TO THE LAST CHAPTER (UPGRADE TO 7.8.0)"
@ref upgrade_occt790 "SEEK TO THE LAST CHAPTER (UPGRADE TO 7.9.0)"
@subsection upgrade_intro_precautions Precautions
@@ -2409,3 +2409,77 @@ The most recommended manager is `JeMalloc`. To use it with a plugin system, like
`BUILD_OPT_PROFILE` is a new variable to define optimization level. Available profiles:
* `Default` - specializes only in quality-dependent parameters for the compiler.
* `Production` - specializes in performance and quality-dependent parameters for the compiler and linker.
@section upgrade_occt790 Upgrade to OCCT 7.9.0
@subsection upgrade_790_code_formatting Code Formatting update
The entire code base has been formatted with `clang-format` 18.1.8 (Windows) using settings available in the root of the repository.
Most custom patches on top of previous releases will likely have merge conflicts.
When encountering merge conflicts, it is recommended to use `clang-format` to format the code.
To maintain patches, it is recommended to merge them into the main repository as part of a contribution. See [Get Involved](https://dev.opencascade.org/get_involved) and [Contribution Guide](https://github.com/Open-Cascade-SAS/OCCT/discussions/36).
@subsection upgrade_790_migration Migration to GitHub
The OCCT repository has been migrated to GitHub. The new repository is available at [GitHub](https://github.com/Open-Cascade-SAS/OCCT).
The old repository will be available for some time, but it is recommended to use the new repository for all new changes.
Contribution to the new repository is available through the GitHub interface - see [Get Involved](https://dev.opencascade.org/get_involved) and [Contribution Guide](https://github.com/Open-Cascade-SAS/OCCT/discussions/36).
@subsection upgrade_790_configuration GenProj no longer supported
The `GenProj` tool is no longer supported. It is recommended to use CMake for building OCCT.
In case of problems, please refer to the [CMake Guide](https://dev.opencascade.org/doc/overview/html/build_upgrade__building_occt.html).
@subsection upgrade_790_modeling_scale_exception Disabling exception for transformation with scale
The exception for transformation with scale has been disabled by default.
These exceptions were enabled in OCCT 7.6.0 for all cases of applying a transformation on a `TopoDS_Shape` with scale or negative determinant.
Now the exceptions are disabled by default but can be enabled by changing the parameter in the method which applies the transformation on `TopoDS_Shape`.
@subsection upgrade_790_de_wrapper Migration of DE_Wrapper classes
The DE Wrapper classes have been reorganized to follow a single style throughout the OCCT open source and commercial code.
All DE formats starting from 7.8.0 were grouped into their own TKs with the `TKDE` prefix.
Now all DE Wrapper interfaces have moved to their own package with the `DE` prefix.
DE Wrapper classes follow the pattern: `DE<Format>_Parameters`, `DE<Format>_Provider`, and `DE<Format>_ConfigurationNode`.
Example: `DESTEP_Parameters`, `DESTEP_Provider`, `DESTEP_ConfigurationNode`.
@subsection upgrade_790_de_shape_healing Migration of shape healing parameters
The shape healing parameters have migrated from the resource file to the DE interface.
The previous implementation was based on the resource file or `Interface_Static`.
Now the parameters are stored in the `DE_ShapeFixParameters` structure with the option to use a string-string map to store extra parameters.
To use the previous interface, use code similar to:
~~~~{.cpp}
STEPControl_Reader aReader;
XSAlgo_ShapeProcessor::ProcessingData aProcessingData =
XSAlgo_ShapeProcessor::ReadProcessingData("read.step.resource.name", "read.step.sequence");
aReader.SetShapeFixParameters(std::move(aProcessingData.first));
aReader.SetShapeProcessFlags(aProcessingData.second);
~~~~
It is recommended to use the new interface to store parameters in the `DE_ShapeFixParameters` structure directly.
@subsection upgrade_790_de_interface_static Migration of DE parameters from Interface_Static
During transfer operations, all parameters that were stored in `Interface_Static` have moved to their own DE structure.
The parameters are read only once during initialization and stored in the model.
Parameters are now available as part of the DE Wrapper interface, for example: `DESTEP_Parameters`, `DEIGES_Parameters`.
Code samples showing how to set the parameters can be found in `DESTEP_Provider` and `DEIGES_Provider`.
@subsection upgrade_790_general_handle_types Deprecated Handle types
The `Handle_*` type names have been deprecated in favor of directly using the macro.
The `Handle_*` type names are still available, but it is recommended to use the macro directly.
Example:
~~~~{.cpp}
Handle(TDataStd_Application) anApp = new TDataStd_Application(); // recommended
Handle_TDataStd_Application anApp = new TDataStd_Application(); // deprecated
~~~~
@subsection upgrade_790_general_map NCollection_Map algorithm method migration
The `NCollection_Map` class has been reorganized to migrate extra methods to the `NCollection_MapAlgo` class.
Boolean operations on maps are now available in the `NCollection_MapAlgo` class.

View File

@@ -65,8 +65,11 @@ AIS_SelectStatus AIS_Selection::Select(const Handle(SelectMgr_EntityOwner)& theO
const Standard_Boolean wasSelected = theOwner->IsSelected();
const Standard_Boolean toSelect = theOwner->Select(theSelScheme, isDetected);
if (toSelect && !wasSelected)
if (!wasSelected || !myResultMap.IsBound(theOwner))
{
if (!toSelect)
return AIS_SS_NotDone;
AIS_NListOfEntityOwner::Iterator aListIter;
myresult.Append(theOwner, aListIter);
myResultMap.Bind(theOwner, aListIter);
@@ -74,11 +77,6 @@ AIS_SelectStatus AIS_Selection::Select(const Handle(SelectMgr_EntityOwner)& theO
return AIS_SS_Added;
}
if (!toSelect && !wasSelected)
{
return AIS_SS_NotDone;
}
AIS_NListOfEntityOwner::Iterator aListIter = myResultMap.Find(theOwner);
if (myIterator == aListIter)
{

View File

@@ -57,9 +57,12 @@ void BRepAdaptor_Curve2d::Initialize(const TopoDS_Edge& E, const TopoDS_Face& F)
{
myEdge = E;
myFace = F;
Standard_Real pf, pl;
const Handle(Geom2d_Curve) PC = BRep_Tool::CurveOnSurface(E, F, pf, pl);
Geom2dAdaptor_Curve::Load(PC, pf, pl);
Standard_Real aFirs, aLast;
const Handle(Geom2d_Curve) aPCurve = BRep_Tool::CurveOnSurface(E, F, aFirs, aLast);
if (!aPCurve.IsNull())
{
Geom2dAdaptor_Curve::Load(aPCurve, aFirs, aLast);
}
}
//=================================================================================================

View File

@@ -280,10 +280,6 @@ Standard_Boolean BRepTools_TrsfModification::NewCurve(const TopoDS_Edge& E,
{
Standard_Real f, l;
C = BRep_Tool::Curve(E, L, f, l);
if (C.IsNull())
{
return Standard_False;
}
Tol = BRep_Tool::Tolerance(E);
Tol *= Abs(myTrsf.ScaleFactor());

View File

@@ -89,13 +89,10 @@ public:
Handle(Poly_PolygonOnTriangulation)& P)
Standard_OVERRIDE;
//! Returns true if the edge E has been modified.
//! If the edge has been modified:
//! Always returns true indicating that the edge E is always modified.
//! - C is the new geometric support of the edge,
//! - L is the new location, and
//! - Tol is the new tolerance.
//! If the edge has not been modified, this function
//! returns false, and the values of C, L and Tol are not significant.
Standard_EXPORT Standard_Boolean NewCurve(const TopoDS_Edge& E,
Handle(Geom_Curve)& C,
TopLoc_Location& L,

View File

@@ -435,9 +435,17 @@ static Standard_Boolean FindCoordBounds(const TopTools_SequenceOfShape&
theNumberOfIntervals = aPairSeq.Length();
if (aPairSeq.Length() == 2)
{
theMinCoord = aPairSeq(2).first - thePeriod;
else
}
else if (aPairSeq.Length() > 0)
{
theMinCoord = aPairSeq(1).first;
}
else
{
return Standard_False;
}
theMaxCoord = aPairSeq(1).second;
return Standard_True;
@@ -1225,6 +1233,13 @@ static Standard_Boolean getCylinder(Handle(Geom_Surface)& theInSurface, gp_Cylin
{
Handle(Geom_SurfaceOfRevolution) aRS = Handle(Geom_SurfaceOfRevolution)::DownCast(theInSurface);
Handle(Geom_Curve) aBasis = aRS->BasisCurve();
while (aBasis->IsKind(STANDARD_TYPE(Geom_TrimmedCurve)))
{
Handle(Geom_TrimmedCurve) aTc = Handle(Geom_TrimmedCurve)::DownCast(aBasis);
aBasis = aTc->BasisCurve();
}
if (aBasis->IsKind(STANDARD_TYPE(Geom_Line)))
{
Handle(Geom_Line) aBasisLine = Handle(Geom_Line)::DownCast(aBasis);
@@ -1247,6 +1262,13 @@ static Standard_Boolean getCylinder(Handle(Geom_Surface)& theInSurface, gp_Cylin
Handle(Geom_SurfaceOfLinearExtrusion) aLES =
Handle(Geom_SurfaceOfLinearExtrusion)::DownCast(theInSurface);
Handle(Geom_Curve) aBasis = aLES->BasisCurve();
while (aBasis->IsKind(STANDARD_TYPE(Geom_TrimmedCurve)))
{
Handle(Geom_TrimmedCurve) aTc = Handle(Geom_TrimmedCurve)::DownCast(aBasis);
aBasis = aTc->BasisCurve();
}
if (aBasis->IsKind(STANDARD_TYPE(Geom_Circle)))
{
Handle(Geom_Circle) aBasisCircle = Handle(Geom_Circle)::DownCast(aBasis);

View File

@@ -0,0 +1,16 @@
puts "================================"
puts "0033328: Modeling Algorithms - UnifySameDomain improvement"
puts "================================"
puts ""
restore [locate_data_file bug33328_Shell_1.brep] shell
numshapes shell
checknbshapes shell -vertex 6 -edge 7 -wire 2 -face 2 -shell 1 -solid 0
unifysamedom res shell
#Warning: BRepTools_ReShape::Replace: shape already recorded
checknbshapes res -vertex 4 -edge 4 -wire 1 -face 1 -shell 1 -solid 0

View File

@@ -0,0 +1,16 @@
puts "================================"
puts "0033328: Modeling Algorithms - UnifySameDomain improvement"
puts "================================"
puts ""
restore [locate_data_file bug33328_Shell_2.brep] shell
numshapes shell
checknbshapes shell -vertex 6 -edge 7 -wire 2 -face 2 -shell 1 -solid 0
unifysamedom res shell
#Warning: BRepTools_ReShape::Replace: shape already recorded
checknbshapes res -vertex 4 -edge 4 -wire 1 -face 1 -shell 1 -solid 0

View File

@@ -0,0 +1,18 @@
puts "========================"
puts "0033591: Modeling Algorithms - Regression: old surface is not removed after translation or rotation with geometry copying"
puts "========================"
puts ""
pload MODELING
psphere Sphere_1 80
trotate Sphere_1 0 0 0 0 1 0 90 -copy
ttranslate Sphere_1 0 0 200 -copy
catch {dump Sphere_1} dumpOutput
if {[regexp {Dump of ([0-9]+) surfaces} $dumpOutput match num]} {
set numSurfaces $num
}
if {$numSurfaces != 1} {
puts "Error: The number of surfaces must be 1"
}

View File

@@ -1,22 +0,0 @@
puts "========"
puts "278: Data Exchange, Fail to export to GLTF with draco buffer index out of bounds"
puts "========"
vclear
vclose ALL
Close *
set aTmpGltf "${imagedir}/${casename}_tmp.glb"
ReadStep D [locate_data_file "bug31670_russian.stp"]
XGetOneShape s D
incmesh s 0.1
XNewDoc D
XAddShape D s
WriteGltf D "$aTmpGltf" -draco -mergefaces
ReadGltf D1 "$aTmpGltf"
XGetOneShape s1 D1
checknbshapes s1 -face 11 -compound 10 -shape 21

View File

@@ -1,618 +1,13 @@
# !!!! This file is generated automatically, do not edit manually! See end script
set filename bug29525_rev_part_neu_01.prt_converted_from_datakit.stp
set filename nist_ftc_08_asme1_ap242-2.stp
set ref_data {
Property for [0:1:1:1]:
PRO_MP_ALT_COGX : ->
D_BASE_UNIT SOURCE : User-Defined
PRO_MP_TRF_21 DESCRIPTION : NULL
PRO_MP_IXY DESCRIPTION : NULL
PRO_MP_VOLUME ACCESS : Locked
XSEC_NAME DESCRIPTION : NULL
MC_ERRORS DESCRIPTION : NULL
I_CUSTOMER_PROJ ACCESS : Full
PRO_MP_TRF_23 DESIGNATED : NO
PRO_MP_COGY DESIGNATED : NO
PRO_MP_COGY ACCESS : Locked
GEWINDE_TIEFE : 16.320000
PRO_MP_ALT_IYY ACCESS : Full
PRO_MP_ALT_MASS SOURCE : Alternate Mass Prop
PRO_MP_ALT_COGY DESCRIPTION : NULL
D_DOC_CLASS DESCRIPTION : NULL
MBD SOURCE : User-Defined
PRO_MP_ALT_INERTIA_ORIGIN DESIGNATED : NO
I_ECM DESCRIPTION : NULL
D_DEPARTMENT DESIGNATED : YES
I_3D_RELEASE DESCRIPTION : NULL
I_APP_VERSION DESCRIPTION : NULL
PRO_MP_ALT_INERTIA_ORIGIN : PRO_MP_ALT_CSYS
PRO_MP_TRF_31 DESCRIPTION : NULL
PRO_MP_AREA SOURCE : Mass Properties
GEWINDE_DURCHM : 8.000000
PDMREV DESIGNATED : NO
D_LOGIN ACCESS : Full
PRO_MP_ALT_IXY DESIGNATED : NO
D_LOCATION SOURCE : User-Defined
PRO_MP_ALT_VOLUME DESCRIPTION : NULL
PDMREV DESCRIPTION : NULL
MC_ERRORS : 0
PRO_MP_TRF_13 DESCRIPTION : NULL
PTC_WM_LIFECYCLE : CONTI_CAD_Lifecycle
D_DOC_PART DESIGNATED : YES
PRO_MP_MASS DESIGNATED : NO
PRO_MP_COGY : ->
PRO_MP_AREA DESCRIPTION : NULL
PROI_REVISION ACCESS : Limited
PRO_MP_DENSITY DESIGNATED : NO
I_CUSTOMER_PROJ DESIGNATED : YES
PTC_MODIFIED DESCRIPTION : NULL
D_ECM_DESCRIPTION : -
D_FORMAT : -
PRO_MP_ALT_IZZ ACCESS : Full
PRO_MP_IXX DESCRIPTION : NULL
PROI_RELEASE ACCESS : Limited
BOHR_DURCHM ACCESS : Locked
PRO_MP_TRF_32 DESIGNATED : NO
PTC_WM_MODIFIED_ON : 04-Oct-16 09:42:00 AM
PTC_WM_VERSION ACCESS : Limited
PRO_MP_IYZ DESIGNATED : NO
PRO_MP_COGY SOURCE : Mass Properties
PTC_WM_LOCATION ACCESS : Limited
I_ADD_INFO ACCESS : Full
PTC_WM_MODIFIED_BY : von Bernuth Constantin (uidu3660) (uidu3660: Engineering)
PRO_MP_IZZ DESIGNATED : NO
SCHRAUBEN_GROESSE DESIGNATED : NO
D_WEIGHT_WEIGHED DESCRIPTION : NULL
D_MATERIAL ACCESS : Full
PRO_MP_TRF_42 SOURCE : Mass Properties
PRO_MP_ALT_AREA DESIGNATED : NO
D_DEPARTMENT DESCRIPTION : NULL
PRO_MP_TRF_12 DESIGNATED : NO
PTC_WM_CREATED_BY DESCRIPTION : NULL
GEWINDEGÄNGE_PRO_INCH : 20.320000
PRO_MP_ALT_INERTIA_ORIGIN DESCRIPTION : NULL
PRO_MP_ALT_AREA SOURCE : Alternate Mass Prop
D_WEIGHT_WEIGHED : -
PROI_RELEASE DESCRIPTION : NULL
PRO_MP_CSYS DESCRIPTION : NULL
I_3D_RELEASE : -
I_CUSTOMER_PROJ SOURCE : User-Defined
PRO_MP_TRF_12 SOURCE : Mass Properties
I_NAME_OLD : -
MC_MODE SOURCE : User-Defined
PRO_MP_TRF_31 DESIGNATED : NO
METRISCH ACCESS : Locked
PRO_MP_IYZ : ->
I_RANGE SOURCE : User-Defined
PRO_MP_TRF_33 : ->
PRO_MP_ALT_COGY ACCESS : Full
GDTA_EINHEITEN_HINWEISE : 12
PRO_MP_ALT_COGZ : ->
PROI_VERSION SOURCE : Alternate Mass Prop
I_CUSTOMER_PROJ DESCRIPTION : NULL
I_ADD_INFO DESIGNATED : YES
D_WEIGHT_WEIGHED SOURCE : User-Defined
PRO_MP_TRF_41 ACCESS : Locked
KLASSE DESIGNATED : NO
D_LAST_MODIFIED DESIGNATED : YES
PRO_MP_TRF_23 DESCRIPTION : NULL
PTC_WM_LOCATION DESIGNATED : NO
D_SURFACE SOURCE : User-Defined
PRO_MP_ALT_COGZ DESIGNATED : NO
PROI_LOCATION SOURCE : Alternate Mass Prop
GEWINDEGÄNGE_PRO_INCH ACCESS : Locked
GEWINDE_DURCHM DESCRIPTION : NULL
D_DOCNR ACCESS : Full
D_DOC_TYPE SOURCE : User-Defined
PRO_MP_TRF_33 ACCESS : Locked
CONTI_CLASS ACCESS : Full
PRO_MP_MASS DESCRIPTION : NULL
MBD DESIGNATED : NO
PROI_CREATED_BY DESCRIPTION : NULL
PRO_MP_ALT_IZZ : ->
PRO_MP_TRF_32 : ->
PROI_BRANCH DESIGNATED : NO
D_LOCATION DESIGNATED : YES
D_DESCRIPTION1 SOURCE : User-Defined
PRO_MP_TRF_22 SOURCE : Mass Properties
GEWINDE_DURCHM SOURCE : Mass Properties
D_WEIGHT_CALC : -
MC_MODE DESIGNATED : YES
D_ADD_INFORMATION SOURCE : User-Defined
PRO_MP_ALT_INERTIA_ORIGIN ACCESS : Full
PRO_MP_ALT_VOLUME : ->
I_CUSTOMER_PROJ : -
I_NAME_OLD ACCESS : Full
PRO_MP_TRF_41 SOURCE : Mass Properties
PTC_WM_ITERATION DESIGNATED : NO
PROI_VERSION DESCRIPTION : NULL
PRO_MP_ALT_CSYS : DEFAULT
MP_DENSITY : ->
PRO_MP_IZZ SOURCE : Mass Properties
PTC_MODIFIED ACCESS : Limited
PRO_MP_IYY DESCRIPTION : NULL
D_SURFACE ACCESS : Full
WT_EPMDOC_NUMBER ACCESS : Limited
PRO_MP_MASS SOURCE : Mass Properties
PDMRL DESCRIPTION : NULL
XSEC_NAME ACCESS : Full
PRO_MP_ALT_MASS : ->
D_DOC_PART SOURCE : User-Defined
PRO_MP_ALT_VOLUME SOURCE : Alternate Mass Prop
PRO_MP_ALT_IYY DESCRIPTION : NULL
PTC_MODIFIED SOURCE : Alternate Mass Prop
D_DOC_TYPE ACCESS : Full
PRO_MP_TRF_23 SOURCE : Mass Properties
CUSTOMER DESCRIPTION : NULL
PRO_MP_ALT_IYZ : ->
D_WEIGHT_CALC ACCESS : Full
D_BASE_UNIT : -
PRO_MP_MASS : ->
PTC_WM_MODIFIED_ON DESCRIPTION : NULL
PRO_MP_DENSITY ACCESS : Locked
PRO_MP_DENSITY SOURCE : Mass Properties
GEWINDE_LÄNGE SOURCE : Mass Properties
PTC_WM_MODIFIED_BY DESIGNATED : NO
I_3D_RELEASE ACCESS : Full
PRO_MP_ALT_COGZ DESCRIPTION : NULL
PTC_WM_TEAM DESCRIPTION : NULL
PROI_CREATED_ON DESCRIPTION : NULL
BOHRER_SPITZENWINKEL DESCRIPTION : NULL
PROI_RELEASE SOURCE : Alternate Mass Prop
D_DESCRIPTION0 SOURCE : User-Defined
PRO_MP_ALT_IXZ : ->
D_LAST_MODIFIED DESCRIPTION : NULL
PRO_MP_ALT_IZZ DESCRIPTION : NULL
WT_EPMDOC_NUMBER : REV_PART_NEU_01.PRT
PTC_WM_MODIFIED_ON DESIGNATED : NO
D_MATERIAL SOURCE : User-Defined
PRO_MP_ALT_IYY SOURCE : Alternate Mass Prop
PTC_WM_CREATED_ON : 04-Oct-16 09:41:59 AM
PRO_MP_IYZ ACCESS : Locked
MC_CONFIG DESIGNATED : YES
BOHR_DURCHM SOURCE : Mass Properties
PRO_MP_ALT_IXZ DESIGNATED : NO
GEWINDE_LÄNGE : 16.320000
PTC_WM_MODIFIED_ON ACCESS : Limited
PRO_MP_TRF_13 ACCESS : Locked
PRO_MP_IXY ACCESS : Locked
D_DEPARTMENT ACCESS : Full
PRO_MP_DENSITY DESCRIPTION : NULL
PRO_MP_AREA ACCESS : Locked
PTC_WM_REVISION ACCESS : Limited
PRO_MP_TRF_31 : ->
PRO_MP_IYZ DESCRIPTION : NULL
PTC_WM_TEAM SOURCE : Mass Properties
D_MATNR ACCESS : Full
I_ADD_INFO SOURCE : User-Defined
KLASSE : H
PRO_MP_IYY SOURCE : Mass Properties
CONTI_CLASS DESCRIPTION : -
PTC_WM_VERSION : AA.0
D_LOGIN DESCRIPTION : NULL
PRO_MP_COGX ACCESS : Locked
D_ECM_DESCRIPTION SOURCE : User-Defined
PDMDB ACCESS : Limited
D_WEIGHT_WEIGHED ACCESS : Full
MBD ACCESS : Full
PRO_MP_COGZ : ->
D_MATNR DESIGNATED : YES
D_LOGIN SOURCE : User-Defined
PRO_MP_IYY DESIGNATED : NO
GDTA_STANDARD_REF_HINWEISE : 18
PRO_MP_TRF_33 DESCRIPTION : NULL
BOHR_TIEFE DESIGNATED : NO
PRO_MP_ALT_IZZ SOURCE : Alternate Mass Prop
CUSTOMER_PROJ0 : -
GEWINDE_TIEFE SOURCE : Mass Properties
PRO_MP_IXX : ->
CUSTOMER_PROJ0 ACCESS : Full
PDMRL : Planned
D_DEPARTMENT : -
PRO_MP_TRF_11 ACCESS : Locked
WT_EPMDOC_NUMBER DESCRIPTION : NULL
PRO_MP_TRF_11 DESIGNATED : NO
PRO_MP_CSYS SOURCE : Mass Properties
PRO_MP_ALT_COGY SOURCE : Alternate Mass Prop
PDMREV : AA.0+
PRO_MP_INERTIA_ORIGIN ACCESS : Locked
PTC_WM_CREATED_BY SOURCE : Mass Properties
D_DOC_SUBTYPE : -
D_SURFACE_TEXT ACCESS : Full
PTC_WM_LIFECYCLE SOURCE : Mass Properties
PRO_MP_TRF_21 : ->
I_USE_STATUS DESCRIPTION : NULL
D_DOC_PART ACCESS : Full
I_CUSTOMER_RELATION ACCESS : Full
STEIGUNG DESIGNATED : NO
PTC_ORGANIZATION_ID DESIGNATED : NO
I_APP_VERSION DESIGNATED : YES
MP_DENSITY SOURCE : Alternate Mass Prop
PRO_MP_ALT_IYZ ACCESS : Full
D_WEIGHT_WEIGHED DESIGNATED : YES
PROI_BRANCH :
PROI_RELEASE DESIGNATED : NO
XSEC_SRF DESCRIPTION : NULL
GDTA_STANDARD_REF_HINWEISE SOURCE : User-Defined
PRO_MP_COGX DESIGNATED : NO
PROI_RELEASE : Planned
PRO_MP_TRF_41 : ->
PTC_WM_LIFECYCLE_STATE ACCESS : Limited
PTC_ORGANIZATION_ID DESCRIPTION : NULL
D_SURFACE_TEXT : -
PRO_MP_TRF_11 SOURCE : Mass Properties
PTC_WM_LOCATION SOURCE : Mass Properties
PTC_WM_CREATED_ON DESIGNATED : NO
PRO_MP_TRF_32 DESCRIPTION : NULL
BOHRER_SPITZENWINKEL DESIGNATED : NO
SCHRAUBEN_GROESSE : M8x1.25
METRISCH SOURCE : Mass Properties
D_DESCRIPTION0 : -
PRO_MP_ALT_IXX DESCRIPTION : NULL
PRO_MP_IXX SOURCE : Mass Properties
PRO_MP_ALT_CSYS DESCRIPTION : NULL
PRO_MP_TRF_13 : ->
PTC_WM_ITERATION DESCRIPTION : NULL
KLASSE ACCESS : Locked
SCHRAUBEN_GROESSE SOURCE : Mass Properties
I_RANGE ACCESS : Full
PRO_MP_TRF_21 SOURCE : Mass Properties
PRO_MP_IYY : ->
PDMRL SOURCE : Alternate Mass Prop
PRO_MP_SOURCE DESCRIPTION : NULL
D_DOC_SUBTYPE SOURCE : User-Defined
GEWINDE_DURCHM DESIGNATED : NO
CONTI_CLASS DESIGNATED : YES
PRO_MP_TRF_32 SOURCE : Mass Properties
D_DESCRIPTION1 : -
PRO_MP_IZZ ACCESS : Locked
PRO_MP_TRF_42 DESCRIPTION : NULL
D_WEIGHT_CALC SOURCE : User-Defined
PROI_REVISION : AA
PRO_MP_ALT_COGX DESIGNATED : NO
PTC_WM_CREATED_ON SOURCE : Mass Properties
PRO_MP_TRF_13 SOURCE : Mass Properties
D_DOC_SUBTYPE ACCESS : Full
PRO_MP_ALT_IXX ACCESS : Full
D_DESCRIPTION1 ACCESS : Full
PRO_MP_ALT_AREA : ->
I_ADD_INFO DESCRIPTION : NULL
D_DOCNR SOURCE : User-Defined
PRO_MP_ALT_COGX SOURCE : Alternate Mass Prop
PROI_VERSION DESIGNATED : NO
GDTA_EINHEITEN_HINWEISE DESCRIPTION : NULL
PROI_CREATED_BY ACCESS : Limited
PTC_MODIFIED DESIGNATED : NO
I_RANGE DESCRIPTION : NULL
D_FORMAT SOURCE : User-Defined
PRO_MP_AREA DESIGNATED : NO
PTC_WM_MODIFIED_BY SOURCE : Mass Properties
D_ADD_INFORMATION DESIGNATED : YES
CUSTOMER_PROJ0 DESCRIPTION : NULL
PRO_MP_IXY SOURCE : Mass Properties
D_DESCRIPTION0 ACCESS : Full
PRO_MP_SOURCE DESIGNATED : NO
PROI_BRANCH SOURCE : Alternate Mass Prop
PTC_WM_LIFECYCLE_STATE : Planned
D_SURFACE : -
PRO_MP_TRF_22 ACCESS : Locked
XSEC_NAME : C
D_MATERIAL DESIGNATED : YES
PRO_MP_VOLUME SOURCE : Mass Properties
PRO_MP_IZZ DESCRIPTION : NULL
MP_DENSITY DESIGNATED : NO
PTC_WM_TEAM DESIGNATED : NO
D_WEIGHT_CALC DESIGNATED : YES
GEWINDEGÄNGE_PRO_INCH SOURCE : Mass Properties
PRO_MP_IXX ACCESS : Locked
GDTA_STANDARD_REF_HINWEISE DESCRIPTION : NULL
SCHRAUBEN_GROESSE ACCESS : Locked
D_LOCATION DESCRIPTION : NULL
PRO_MP_TRF_31 ACCESS : Locked
PRO_MP_AREA : ->
MC_ERRORS SOURCE : User-Defined
PTC_ORGANIZATION_ID SOURCE : Mass Properties
PRO_MP_CSYS : ->
D_SURFACE_TEXT DESCRIPTION : NULL
XSEC_NAME DESIGNATED : NO
PTC_WM_VERSION DESIGNATED : NO
PRO_MP_ALT_IYZ DESIGNATED : NO
PRO_MP_ALT_COGX ACCESS : Full
PRO_MP_TRF_42 DESIGNATED : NO
METRISCH DESIGNATED : NO
PRO_MP_ALT_COGY : ->
PTC_MODIFIED : 1
BOHR_TIEFE ACCESS : Locked
STEIGUNG DESCRIPTION : NULL
PTC_WM_MODIFIED_ON SOURCE : Mass Properties
D_LOCATION ACCESS : Full
D_LAST_MODIFIED : jjjj-mm-dd
PRO_MP_IXZ DESIGNATED : NO
PROI_LOCATION DESIGNATED : NO
GDTA_EINHEITEN_HINWEISE ACCESS : Full
D_LOCATION : -
D_DOC_CLASS DESIGNATED : YES
I_CUSTOMER_RELATION : -
PRO_MP_CSYS DESIGNATED : NO
D_FORMAT ACCESS : Full
MC_CONFIG ACCESS : Full
METRISCH DESCRIPTION : NULL
GDTA_STANDARD_REF_HINWEISE DESIGNATED : NO
BOHR_TIEFE SOURCE : Mass Properties
PRO_MP_IZZ : ->
PROI_BRANCH ACCESS : Limited
PROI_LOCATION :
PROI_CREATED_ON : 10/28/08 14:24:55
D_WEIGHT_CALC DESCRIPTION : NULL
XSEC_NAME SOURCE : User-Defined
PTC_WM_TEAM ACCESS : Limited
I_CUSTOMER_RELATION DESIGNATED : YES
D_DESCRIPTION1 DESCRIPTION : NULL
PRO_MP_TRF_12 DESCRIPTION : NULL
GEWINDE_LÄNGE ACCESS : Locked
PRO_MP_ALT_IXZ ACCESS : Full
I_RANGE DESIGNATED : YES
D_DOC_PART DESCRIPTION : NULL
D_ADD_INFORMATION DESCRIPTION : NULL
PRO_MP_INERTIA_ORIGIN : ->
BOHR_TIEFE DESCRIPTION : NULL
PRO_MP_IXY DESIGNATED : NO
PRO_MP_TRF_33 DESIGNATED : NO
D_DOCNR DESIGNATED : YES
PRO_MP_ALT_COGY DESIGNATED : NO
PRO_MP_ALT_AREA DESCRIPTION : NULL
MC_MODE DESCRIPTION : NULL
PRO_MP_IXZ DESCRIPTION : NULL
D_BASE_UNIT ACCESS : Full
CUSTOMER : -
PTC_WM_LIFECYCLE_STATE SOURCE : Mass Properties
PDMREV ACCESS : Limited
PRO_MP_INERTIA_ORIGIN DESCRIPTION : NULL
PROI_VERSION ACCESS : Limited
I_LABOR DESCRIPTION : NULL
D_SURFACE_TEXT DESIGNATED : YES
D_DOC_CLASS ACCESS : Full
PTC_WM_ITERATION : 0
D_DOC_PART : 000
PRO_MP_ALT_IYY DESIGNATED : NO
MC_ERRORS DESIGNATED : YES
PRO_MP_IYY ACCESS : Locked
PRO_MP_COGZ ACCESS : Locked
BOHRER_SPITZENWINKEL SOURCE : Mass Properties
METRISCH : JA
PDMRL DESIGNATED : NO
PRO_MP_SOURCE : GEOMETRY
XSEC_SRF ACCESS : Full
D_ECM_DESCRIPTION DESCRIPTION : NULL
PRO_MP_COGX DESCRIPTION : NULL
BOHR_TIEFE : 17.000000
MBD : 1
PRO_MP_ALT_IYZ DESCRIPTION : NULL
D_LAST_MODIFIED SOURCE : User-Defined
I_3D_RELEASE SOURCE : User-Defined
MODEL_CHECK : -
PTC_WM_LOCATION DESCRIPTION : NULL
CUSTOMER ACCESS : Full
PRO_MP_IXZ SOURCE : Mass Properties
D_DOCNR : -
KLASSE DESCRIPTION : NULL
SCHRAUBEN_GROESSE DESCRIPTION : NULL
D_DESCRIPTION0 DESCRIPTION : NULL
D_DOC_CLASS SOURCE : User-Defined
PRO_MP_TRF_23 ACCESS : Locked
PTC_WM_MODIFIED_BY DESCRIPTION : NULL
I_LABOR ACCESS : Full
PRO_MP_ALT_IXY : ->
D_FORMAT DESIGNATED : YES
I_NAME_OLD DESIGNATED : YES
PRO_MP_ALT_IYZ SOURCE : Alternate Mass Prop
PDMDB SOURCE : Alternate Mass Prop
I_USE_STATUS : -
I_NAME_OLD DESCRIPTION : NULL
XSEC_SRF SOURCE : User-Defined
PRO_MP_ALT_INERTIA_ORIGIN SOURCE : Alternate Mass Prop
PRO_MP_TRF_42 ACCESS : Locked
D_LOGIN DESIGNATED : YES
MODEL_CHECK DESCRIPTION : NULL
MBD DESCRIPTION : NULL
PRO_MP_ALT_IXY ACCESS : Full
XSEC_SRF DESIGNATED : NO
CUSTOMER_PROJ0 SOURCE : User-Defined
GEWINDEGÄNGE_PRO_INCH DESCRIPTION : NULL
PTC_WM_CREATED_BY ACCESS : Limited
MC_MODE ACCESS : Full
GDTA_EINHEITEN_HINWEISE SOURCE : User-Defined
PTC_WM_VERSION DESCRIPTION : NULL
D_LAST_MODIFIED ACCESS : Full
PTC_WM_LIFECYCLE DESCRIPTION : NULL
PRO_MP_TRF_22 DESCRIPTION : NULL
BOHR_DURCHM DESCRIPTION : NULL
PTC_ORGANIZATION_ID ACCESS : Limited
PROI_CREATED_BY SOURCE : Alternate Mass Prop
I_USE_STATUS ACCESS : Full
PROI_CREATED_ON SOURCE : Alternate Mass Prop
PRO_MP_TRF_12 ACCESS : Locked
PROI_REVISION SOURCE : Alternate Mass Prop
PRO_MP_SOURCE ACCESS : Full
PDMDB DESIGNATED : NO
D_DESCRIPTION0 DESIGNATED : YES
GDTA_STANDARD_REF_HINWEISE ACCESS : Full
PRO_MP_TRF_43 DESCRIPTION : NULL
PRO_MP_IXZ ACCESS : Locked
PRO_MP_COGY DESCRIPTION : NULL
PDMDB :
CONTI_CLASS : RD_AUXPART
PRO_MP_INERTIA_ORIGIN DESIGNATED : NO
PROI_CREATED_ON DESIGNATED : NO
PRO_MP_TRF_12 : ->
I_APP_VERSION : CREO2 M210
PTC_WM_ITERATION ACCESS : Limited
I_USE_STATUS DESIGNATED : YES
D_BASE_UNIT DESIGNATED : YES
PTC_WM_MODIFIED_BY ACCESS : Limited
PTC_WM_VERSION SOURCE : Mass Properties
I_CUSTOMER_RELATION SOURCE : User-Defined
D_FORMAT DESCRIPTION : NULL
PRO_MP_ALT_IXY SOURCE : Alternate Mass Prop
PRO_MP_TRF_11 DESCRIPTION : NULL
PTC_WM_ITERATION SOURCE : Mass Properties
PRO_MP_TRF_11 : ->
PRO_MP_ALT_MASS DESIGNATED : NO
PRO_MP_TRF_43 SOURCE : Mass Properties
PRO_MP_VOLUME DESCRIPTION : NULL
STEIGUNG ACCESS : Locked
MC_MODE : -
PROI_REVISION DESIGNATED : NO
I_APP_VERSION SOURCE : User-Defined
GEWINDESERIE : ISO
PTC_WM_LIFECYCLE_STATE DESIGNATED : NO
D_SURFACE_TEXT SOURCE : User-Defined
PRO_MP_COGZ DESCRIPTION : NULL
PRO_MP_ALT_IXY DESCRIPTION : NULL
PDMDB DESCRIPTION : NULL
GEWINDESERIE DESCRIPTION : NULL
GDTA_EINHEITEN_HINWEISE DESIGNATED : NO
PRO_MP_COGX : ->
I_ECM SOURCE : User-Defined
PRO_MP_SOURCE SOURCE : Alternate Mass Prop
PDMREV SOURCE : Alternate Mass Prop
WT_EPMDOC_NUMBER SOURCE : Mass Properties
PRO_MP_TRF_22 DESIGNATED : NO
PRO_MP_ALT_IXX : ->
D_ADD_INFORMATION : -
PRO_MP_TRF_42 : ->
D_DESCRIPTION1 DESIGNATED : YES
PRO_MP_INERTIA_ORIGIN SOURCE : Mass Properties
PRO_MP_COGZ DESIGNATED : NO
D_LOGIN : -
MC_CONFIG SOURCE : User-Defined
D_ADD_INFORMATION ACCESS : Full
I_LABOR DESIGNATED : YES
PRO_MP_TRF_31 SOURCE : Mass Properties
BOHR_DURCHM : 6.800000
CUSTOMER_PROJ0 DESIGNATED : YES
PTC_WM_LIFECYCLE ACCESS : Limited
I_USE_STATUS SOURCE : User-Defined
PRO_MP_COGX SOURCE : Mass Properties
PTC_WM_TEAM :
PDMRL ACCESS : Limited
PRO_MP_TRF_23 : ->
MC_ERRORS ACCESS : Full
PRO_MP_IXX DESIGNATED : NO
GEWINDEGÄNGE_PRO_INCH DESIGNATED : NO
PRO_MP_ALT_CSYS ACCESS : Full
PTC_ORGANIZATION_ID : Engineering
PRO_MP_CSYS ACCESS : Locked
BOHRER_SPITZENWINKEL : 118.000000
GEWINDESERIE ACCESS : Locked
D_BASE_UNIT DESCRIPTION : NULL
PTC_WM_REVISION DESCRIPTION : NULL
PROI_BRANCH DESCRIPTION : NULL
MC_CONFIG : -
D_MATNR DESCRIPTION : NULL
PRO_MP_TRF_22 : ->
PRO_MP_TRF_33 SOURCE : Mass Properties
PRO_MP_COGZ SOURCE : Mass Properties
PRO_MP_VOLUME DESIGNATED : NO
I_LABOR : -
PRO_MP_ALT_IXZ DESCRIPTION : NULL
I_APP_VERSION ACCESS : Full
D_SURFACE DESIGNATED : YES
BOHR_DURCHM DESIGNATED : NO
GEWINDE_TIEFE DESIGNATED : NO
PTC_WM_CREATED_BY : von Bernuth Constantin (uidu3660) (uidu3660: Engineering)
PRO_MP_TRF_32 ACCESS : Locked
MODEL_CHECK SOURCE : User-Defined
PTC_WM_LIFECYCLE DESIGNATED : NO
D_MATNR : -
BOHRER_SPITZENWINKEL ACCESS : Locked
MODEL_CHECK ACCESS : Full
KLASSE SOURCE : Mass Properties
D_ECM_DESCRIPTION ACCESS : Full
D_DOC_CLASS : -
PRO_MP_IYZ SOURCE : Mass Properties
MC_CONFIG DESCRIPTION : NULL
PROI_LOCATION DESCRIPTION : NULL
GEWINDE_TIEFE ACCESS : Locked
PTC_WM_REVISION SOURCE : Mass Properties
PRO_MP_TRF_43 DESIGNATED : NO
PROI_LOCATION ACCESS : Limited
PRO_MP_ALT_VOLUME ACCESS : Full
PRO_MP_ALT_COGZ SOURCE : Alternate Mass Prop
PRO_MP_TRF_21 DESIGNATED : NO
MP_DENSITY DESCRIPTION : NULL
GEWINDE_DURCHM ACCESS : Locked
D_MATERIAL DESCRIPTION : NULL
PTC_WM_CREATED_ON DESCRIPTION : NULL
D_DEPARTMENT SOURCE : User-Defined
I_3D_RELEASE DESIGNATED : YES
PRO_MP_TRF_41 DESIGNATED : NO
I_ADD_INFO : -
GEWINDE_LÄNGE DESCRIPTION : NULL
PRO_MP_ALT_IZZ DESIGNATED : NO
PRO_MP_ALT_COGX DESCRIPTION : NULL
MODEL_CHECK DESIGNATED : YES
PRO_MP_DENSITY : 0.000000
PROI_CREATED_ON ACCESS : Limited
D_SURFACE DESCRIPTION : NULL
I_RANGE : 40
I_ECM ACCESS : Full
D_DOC_SUBTYPE DESCRIPTION : NULL
PRO_MP_IXY : ->
CUSTOMER SOURCE : User-Defined
STEIGUNG : 1.250000
D_DOC_SUBTYPE DESIGNATED : YES
PRO_MP_ALT_MASS ACCESS : Full
I_CUSTOMER_RELATION DESCRIPTION : NULL
PRO_MP_ALT_CSYS DESIGNATED : NO
STEIGUNG SOURCE : Mass Properties
PRO_MP_TRF_43 : ->
CONTI_CLASS SOURCE : User-Defined
D_ECM_DESCRIPTION DESIGNATED : YES
PRO_MP_ALT_IXZ SOURCE : Alternate Mass Prop
GEWINDE_LÄNGE DESIGNATED : NO
PTC_WM_CREATED_BY DESIGNATED : NO
D_DOC_TYPE DESCRIPTION : NULL
PRO_MP_IXZ : ->
I_NAME_OLD SOURCE : User-Defined
PRO_MP_MASS ACCESS : Locked
PRO_MP_ALT_COGZ ACCESS : Full
PRO_MP_ALT_IXX SOURCE : Alternate Mass Prop
GEWINDESERIE SOURCE : Mass Properties
PTC_WM_LOCATION :
D_DOC_TYPE DESIGNATED : YES
PRO_MP_VOLUME : ->
I_ECM DESIGNATED : YES
I_ECM : -
PRO_MP_ALT_IXX DESIGNATED : NO
PTC_WM_REVISION : AA
GEWINDE_TIEFE DESCRIPTION : NULL
D_DOC_TYPE : -
MP_DENSITY ACCESS : Full
GEWINDESERIE DESIGNATED : NO
D_DOCNR DESCRIPTION : NULL
D_MATERIAL : -
PROI_CREATED_BY :
PRO_MP_TRF_21 ACCESS : Locked
ProductID : REV_PART_NEU_01
PRO_MP_ALT_IYY : ->
PRO_MP_TRF_41 DESCRIPTION : NULL
PTC_WM_REVISION DESIGNATED : NO
PROI_CREATED_BY DESIGNATED : NO
D_MATNR SOURCE : User-Defined
PRO_MP_ALT_MASS DESCRIPTION : NULL
PRO_MP_TRF_13 DESIGNATED : NO
PRO_MP_ALT_CSYS SOURCE : Alternate Mass Prop
PTC_WM_CREATED_ON ACCESS : Limited
PRO_MP_ALT_VOLUME DESIGNATED : NO
I_LABOR SOURCE : User-Defined
WT_EPMDOC_NUMBER DESIGNATED : NO
PROI_REVISION DESCRIPTION : NULL
PRO_MP_TRF_43 ACCESS : Locked
XSEC_SRF : XSEC_SRF
PTC_WM_LIFECYCLE_STATE DESCRIPTION : NULL
PROI_VERSION : 0+
PRO_MP_ALT_AREA ACCESS : Full
CUSTOMER DESIGNATED : YES
ProductID : NIST PMI FTC 08 ASME1
ProductDefinition :
Revision : C
PartNumber : NIST PMI FTC 08 ASME1
DescriptionRef : NIST PMI test model downloaded from http://go.usa.gov/mGVm
ProductName : NIST PMI FTC 08 ASME1
}

View File

@@ -1,13 +0,0 @@
# !!!! This file is generated automatically, do not edit manually! See end script
set filename nist_ftc_08_asme1_ap242-2.stp
set ref_data {
Property for [0:1:1:1]:
ProductID : NIST PMI FTC 08 ASME1
ProductDefinition :
Revision : C
PartNumber : NIST PMI FTC 08 ASME1
DescriptionRef : NIST PMI test model downloaded from http://go.usa.gov/mGVm
ProductName : NIST PMI FTC 08 ASME1
}