This describes an older ST-Developer release (2015). You can find the details for the latest release here
Service Pack 3 Overview — 2015-09-23
This release is the latest service pack with cumulative patches for ST-Developer v16 and new features to simplify work with CAD, CAM, and BIM data. Contact us at firstname.lastname@example.org to get the latest updates.
This service pack includes new features and improvements in the following areas:
- Visual Studio 2015
- STEP Check and Browse
- Geometric Tolerances
- Other STEP Enhancements
- IFC BIM Faceter
- IFC Check and Browse
- Math Library
- General Updates
Beginning with Service Pack 3, we now include libraries and DLLs for use with Visual Studio 2015. ST-Developer for Windows continues to support older versions as well, with libraries for Visual Studio 2013, 2014, 2008, and 2005. We plan to retire support for Visual Studio 2005 in the next full release. Please contact us if this will affect your development. Set your library link path to one of the following to use the new libraries.
- $(ROSE)\lib\i86_win32_vc14_md (2015, 32bit platform, /MD)
- $(ROSE)\lib\x64_win64_vc14_md (2015, 64bit platform, /MD)
The new stpcheck combines checking and browsing in a single tool. It can analyze STEP file contents and print reports like previous AP checkers, but now you can move beyond batch operation to interactive viewing using the built-in web server.
This tool is integrated into the Windows file explorer, so you can just right click on a file and select "Check STEP File" from the pop-up menu. It will start a local web-server and launch your browser. From there, you can build instance graphs, follow links forwards and backwards between objects, see the range of types in the file, look at the EXPRESS schema definitions, and browse STEP files that are hundreds of megabytes in size!
The stpcheck tool fully recognizes all common STEP schemas (AP242, AP214, AP203, STEP-NC) and can read and recognize the common parts of unusual STEP files. Since the user interface is just any web browser, the tool works on all ST-Developer platforms!
STEP CAD models now hold geometric tolerances associated with faces. The release of AP242 updated the tolerance definitions with many more options and extra parameters. We are working hard to help you easily navigate the details to create or analyze tolerances.
The latest libraries have a new API for simple handling of tolerances. The API has several functions for creating them, finding their type, getting, and putting all of the extra parameters that they can have. This is much simpler than trying to use the ANDOR C++ classes for each type.
The previous approach for working with tolerances was not practical because it required classes for each of the 259 possible AND/OR combinations, plus code in your application to pick between them. The class libraries now have only a few basic ANDOR combinations for modifiers and datums.
Surface Profile with All Possible Extra Parameters
Mesh created by STEP-NC Simulator
We continue to improve the STEP Faceter library with better AP242 handling, more geometry, and faster speed. We also have the latest definitions in our STEP CAD and STEP Manufacturing AP libraries!
- STEP Faceter Library
- New STEP to STL Sample Program for using the STEP Faceter library in Additive Manufacturing applications. We also open-sourced the export_product_asm tool and have expanded it into a more extensive STEP to STL or WebGL program on our GitHub projects.
- Can save meshes as AP242 tesselated models for use in downstream simulation or other systems. The AP242 models preserve faces and can have colors. There are also new functions for saving arbitrary sets of facets, such as portions of faces, for debugging or other purposes.
- The facet data structure still holds normals for each vertex, but no longer stores a normal for the entire triangle. The vertex normals have been renamed from "vert_normals" to just "normals", and the StixMeshfactSet::getFacetNormal() function computes the triangle normal.
- Added a face property mechanism for attaching additional information to faces.
- New support for reading and handling AP242 tessellated_surface_sets and tessellated_faces. Now reading and processing bounded_curve AND surface_curve used to trim curve_bounded_surface instances.
- New API functions for getting the area of surfaces and for 2D Delaunay mesh generation.
- Stability improvements in many areas: handling unfacetible faces, NULL faces, vertices or facets, bad data in AP242 tesselated models, validating senses in topology
- Fixed problem with the mesh topology when the faceting geometry such as cylinder trimmed by two complete circles. A seam is now added correctly.
- Expanded handling of trimmed periodic surfaces, particularly where wrap-around occurrs inside the trimmed area, such as a torus trimmed by complete circles.
- Continuous improvements in speed, topology handling, and small or degenerate faces. Better topology validation and more predictable NURBS curve parameterization.
- STEP CAD APs Library
- STEP Manufacturing APs Library
- STEP-NC, AP242, AP214, and AP203 in a single application!
- Simplified complex instance combinations for handling geometric tolerances
- Updated to use the latest AP242 schema (stepmod v1.36). As above, fine-tuning of rules and new CSG definitions.
- Added support for the AP232 technical data packaging schema.
- Now recognizing the circa 2005 CAX-IF construction history (SMCH) testing schema "CCD_CLA_GVP_AST_ASD" as ap203e2, and files with "AUTOMOTIVE_DESIGN_CC2" as AP214. These schema names made it into some commercial tools.
- Added complex instance combinations to support tesselated display PMI now being created by Catia.
- Added definitions to support the proposed CAX-IF Minimal Presentation PMI.
- STIX AP Helper Library
- Simplified API for geometric tolerances described above.
- New helper functions for querying geometric uncertainties attached to STEP solid models.
We are adding a new IFC Faceter library that makes viewable meshes from IFC data, just like our STEP Faceter does for STEP. We have also improved the IFC BIM library to move between IFC2x3 and IFC4 with greater ease!
We are also working on a new .NET API for building IFC tools. It has the same power as our C++ API, but can be used directly from C# or Visual Basic. Contact us if you are a customer who wants early access for testing!
- IFC Faceter Library
- This is a developer preview of our IFC Faceter Library. We anticipate many more iterations, so contact is if you are interested so that we can keep you supplied with the latest features!
- The faceter handles IFC data with extruded solids that have profiles made up of circles, trimmed_curves, composite_curves, polylines, or lines. It handles shell-based surface models and solids that are faceted_breps with triangle or quad facets. The faceter also resolves color styles that appear in the IFC data.
- We include a very simple IFC geometry viewer (ifcview.exe) as a test harness to display mesh data. Call it from the command line with your filename.
- IFC BIM Library
- Added automatic migration support for types that have extra attributes in IFC4 but no other significant structural changes. The extra fields are present when writing IFC4 but not used when writing the file as IFC2x3 or IFC2x2. There are no longer warnings about missing fields when reading these types in IFC2x3 data. See the release notes for a full list of types that have been enhanced.
- Add aliases for reading the IfcBezierCurve, IfcRationalBezierCurve, Ifc2DCompositeCurve types that were removed in IFC4. These are simple subtypes with no extra fields, so just handle them as instances of the supertype.
- Corrected case-sensitive comparison issue that caused schema initialization issues on Linux, AIX, Solaris, and HPUX.
This tool is integrated into the Windows file explorer, so you can just right click on a file and select "Check IFC File" from the pop-up menu. It will start a local web-server and launch your browser. From there, you can build instance graphs, follow links forwards and backwards between objects, see the range of types in the file, look at the EXPRESS schema definitions, and browse very large IFC files!
The ROSE Math Library is a new addition to ST-Developer that contains functions for working with vectors, transforms, meshes, unit conversions, and other operations common to engineering data. There is nothing in here that is specific to an information model (STEP, IFC, CIS/2, DSTV, etc) so it can be used in any program that uses the ROSE library.
This library gathers together and documents math code that existed in the STEP Tools libraries for STEP, IFC, and other engineering data and then removed depencencies on specific EXPRESS schemas. The result now contains the base definitions for the for mesh structures used by the STEP and IFC Faceter libraries. It also has a full range of vector arithmetic and coordinate system transform functions, unit conversion, and bounding box resources.
The STEP Faceter, IFC Faceter, and STEP helper function libraries now use the mesh, transform, bounding box, and unit data types provided by the ROSE Math library. As a result, you may need to change some symbols when updating code that used the earlier definitions.
The core ST-Developer APIs are stronger after stress tests with thousands of the most abusive files that Microsoft and our corporate customers could make. We are also preparing for the future third edition of the STEP file format!
- ROSE Library [change log]
- Reduced the size of applications by 5% and increased performance by making some functions non-virtual and removing ones that were never widely used or can be handled better in a different way.
- Best-fit matching from EXPRESS to C++ classes now chooses a
complex instance combination for a subset of types if the full
combination is not available, and it now finds the class that covers
the most attributes or subtypes. Most best-fit circumstances came from
adding an extra type or subtype to a complex instance combo, which
will now be handled as a useful nearest combo rather than a
- Added more functions for Part 21 Edition 3 references. In particular, you can now assign an object to a reference and propogate that to all usages.
- Added RoseTypesCursor class for traversing several disconnected types at once.
- Fixed issues uncovered by a subjecting the STEP file reader to thousands of STEP files that were intentionally corrupted by Microsoft "fuzz" testing tools.
- The Part21 edition 3 test implementation has many fixes found during vendor interoperability testing of the new anchors and URL references. As part of this testing, we sponsored the development of open source programs to split and merge P21 files using the P21e3 spec.
- Error reporting respects ROSE_LOG instead of always using 'roselog'.
- Fixed crashes when renumbering EIDs on an empty design and when writing a null XML attribute.
- The rose_put_nested_object() and rose_create_select() functions now work properly with very deeply nested select types.
Service Pack History
The changes described above are cumulative to date. The details of earlier releases are archived below for historical reference.
The sub-package versions used in the current release are as follows:
Package SP1 SP2 SP3 ------- --- --- --- ifcbim v16.0 v16.2 v16.4 ifccheck - - v16.2 ifcmesh - v16.3 v16.6 p28lib v16.0 v16.0 v16.1 roselib v16.1 v16.2 v16.5 rosemath - - v16.5 sdailib v16.0 v16.0 v16.1 stix v16.1 v16.3 v16.5 stixmesh v16.9 v16.13 v16.21 stpcad v16.1 v16.5 v16.8 stpcheck - - v16.10 stpman v16.1 v16.5 v16.8