Changes in release 17.1 (2017-11-03)

Added complex class for dimensional_size_with_datum_feature and
composite_shape_aspect. There was already a combination with the
composite group subtype, but this will cover the unit case as well
and any other composite subtypes that show up. Only for reading
data. Consensus is that multiple features should be handled by an
intermediate composite, not by a complex instance with composite.

Reprioritized the best-fit class matching to favor datum_feature and
dimensional_size if they are combined with something unexpected.

Changes in release 17.0 (2017-04-07)

This is now the STEP Merged AP library, called stp_aim. Merged and
retired the previous stpcad and stpman libraries.

Changes in release 16.16 (2016-12-13)

Added another additive manuacturing relationship.

Changes in release 16.15 (2016-11-23)

Recognize the "CCD_CLA_GVP_AST" schema name as ap203e2.

Update the minimal presentation schema definitions for caxif
testing. Added the following and added the placeholder to the
draughting_callout_element select.

annotation_placeholder_occurrence

draughting_model_item_association_with_placeholder

Added the AP242e2 Additive manufacturing entities along with the
machining_process_executable root where not already present.

additive_manufacturing_build_plate_relationship

additive_manufacturing_setup

additive_manufacturing_setup_relationship

additive_manufacturing_setup_workpiece_relationship

Added the denotational properties definitions for associating
dimensions and tolerances with part properties.

Extended the characterized definition select as described by AP242e2
bug 5401 so tolerances can have validation properties. This adds
the following types to the select.

item_identified_representation_usage

dimensional_size

geometric_tolerance

Changes in release 16.14 (2016-11-02)

Update for NCPACK 16.22

Changes in release 16.13 (2016-06-01)

Update for ST-Developer v16 SP4

Changes in release 16.12 (2016-03-03)

Fixed "name" attributes incorrectly redeclared as derived in the
characterized_representation and kinematic_pair entities. These
definitions inherit two different name attributes. The wrong ones
were marked as redeclared, so a "*" was not in the proper place in
P21 files. This also affected any subtypes or complex instance
combination with these types.

Changes in release 16.11 (2015-11-21)

Version bump for ncpack 16.16

Changes in release 16.10 (2015-10-13)

Added datum_feature and composite group shape aspect combination.

Changes in release 16.9 (2015-10-12)

Changes in release 16.8 (2015-09-23)

Simplified handling of geometric tolerances. The library now has a
few basic ANDOR combinations for modifiers and datums. Everything
else is handled by improved best-fit matching in the ROSE library
and a dozen new API functions for tolerances STIX library.
The previous approach 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.

Changes in release 16.7 (2015-07-24)

Recognize old files with AUTOMOTIVE_DESIGN_CC2 schema as AP214.

Added support for the AP232 technical data packaging schema. In
addition to a new stplib_schema_ap232 enum for the schema types,
this update adds the following new entities:

Changes in release 16.6 (2015-05-31)

Changes in release 16.5 (2015-04-28)

Now recognizing the circa 2005 CAX-IF construction history (SMCH)
testing schema "CCD_CLA_GVP_AST_ASD" as ap203e2. This apparently
made it into some versions of Pro-E and ideas.

Changes in release 16.4 (2015-01-13)

Added complex instance combinations to support tesselated display
PMI now being created by Catia.

over_riding_styled_item + tessellated_annotation_occurrence

Changes in release 16.2 (2014-12-05)

Added types to selects to support the proposed CAX-IF Minimal
Presentation PMI. The following types were extended:

geometric_set_select --> add axis2_placement_3d

draughting_callout_element --> add annotation_occurrence

Changes in release 16.1 (2014-11-18)

Updated to use the latest AP242 IS candidate schema (stepmod v1.36)
Fine-tuning of some rules and the addition of the following new CSG
definitions:

convex_hexahedron

cyclide_segment_solid

eccentric_cone

ellipsoid

faceted_primitive

rectangular_pyramid

tetrahedron

Changes in release 16.0 (2014-04-11)

Updated to use the latest AP242 IS candidate schema (stepmod v1.34)
Minimal structural changes, mostly fine-tuning of some rules.

By default, schema names are now written with the latest ASN.1
numbers (the numbers within braces {}) for those APs that call for
that convention: AP203e2, AP214, and AP242.

Added the following complex instance combinations for each of the
following tolerances with unequally_disposed_geometric_tolerance:

cylindricity_tolerance

flatness_tolerance

line_profile_tolerance

position_tolerance

roundness_tolerance

straightness_tolerance

surface_profile_tolerance
And combinations for each of those tolerances with the following:

geometric_tolerance_with_defined_unit

geometric_tolerance_with_defined_unit +

geometric_tolerance_with_modifiers

geometric_tolerance_with_datum_reference

geometric_tolerance_with_datum_reference +

geometric_tolerance_with_modifiers

geometric_tolerance_with_datum_reference +

geometric_tolerance_with_defined_unit

geometric_tolerance_with_datum_reference +

geometric_tolerance_with_defined_unit +

geometric_tolerance_with_modifiers

The long filenames for the GD&T complex instances exceeded size
limits for installers on some platforms, so we now use abbreviated
filenames with the base tolerance plus the following suffixes:

_and_datum for geometric_tolerance_with_datum_reference

_and_unit for geometric_tolerance_with_defined_unit

_and_modifiers for geometric_tolerance_with_modifiers

_and_modified for modified_geometric_tolerance

_and_unequal for unequally_disposed_geometric_tolerance

Changes in release 15.12 (2014-01-30, beta6)

Updated to the IS AP242 candidate schema (v1.27 on stepmod). Most
of the changes are simply EXPRESS formatting, but there are a few
minor changes noted as (IS) below.

(IS AP242) The styled_item_target definition adds topological
rep_item, which is needed for compatibility with AP214 files that
apply styles to plain (non-advanced) faces. We have removed our
workaround that just added representation_item to the select.

(IS AP242) The item_identified_representation_usage_definition
select eliminated represented_definition and merged its contents
general_property, property_definition_relationship, shape_aspect,
and shape_aspect_relationship -- as explicit members. This means
that a nested select is no longer needed for those types.

(IS AP242) In entity curve_style, all of the styling attributes are
now optional with a rule that requires at least one to be set.

(IS AP242) Entity document_product_association is not abstract.

The si_unit_name degree_celsius is all lowercase. This has varied
in the EXPRESS between APs, but it appears that the canonical use
for code should now be stp_si_unit_name_degree_celsius.

Added the following complex instance combinations for the AP242
tesselated geometry model:

characterized object + tessellated_annotation_occurrence

repositioned_tessellated_item + tessellated_curve_set

repositioned_tessellated_item + tessellated_geometric_set

repositioned_tessellated_item + tessellated_point_set

repositioned_tessellated_item + tessellated_surface_set

repositioned_tessellated_item + tessellated_shell

repositioned_tessellated_item + tessellated_solid

repositioned_tessellated_item + tessellated_wire

Corrected make_box sample program so that the topology has
consistent direction.

Updated builtin schema initialization to work with multiple copies.

Changes in release 15.11 (2013-09-09, beta5)

Updated documentation and sample programs to add support for Visual
Studio 2012, improve the assembly example, and take advantage of the
STIX AP Helper library.

Changes in release 15.10 (2013-05-18, beta4)

Added complex instance combinations for the new "with modifiers"
type the following

angularity_tolerance

circular_runout_tolerance

coaxiality_tolerance

concentricity_tolerance

parallelism_tolerance

perpendicularity_tolerance

symmetry_tolerance

total_runout_tolerance

Changes in release 15.9 (2013-04-15, beta3)

Updated with the AP242 DIS schema (wg12n8324). The tesselation
schema is now part of AP242, so we no longer need to merge it in
separately. The following entity definitions have been added:

complex_number_literal_polar

component_path_shape_aspect

disallowed_assembly_relationship_usage

evaluated_characteristic_of_product_as_individual_test_result

excessive_use_of_groups

excessive_use_of_layers

expression_extension_numeric

expression_extension_string

expression_extension_to_select

externally_conditioned_data_quality_criteria_representation

externally_conditioned_data_quality_criterion

externally_conditioned_data_quality_inspection_instance_report_item

externally_conditioned_data_quality_inspection_result

externally_conditioned_data_quality_inspection_result_representation

externally_defined_item_with_multiple_references

externally_defined_representation

generic_product_definition_reference

inappropriate_element_visibility

inappropriate_use_of_layer

inconsistent_element_reference

multi_level_reference_designator

non_agreed_accuracy_parameter_usage

non_agreed_scale_usage

non_agreed_unit_usage

non_referenced_coordinate_system

product_definition_reference

product_definition_reference_with_local_representation

representation_proxy_item

single_property_is_definition

tessellated_annotation_occurrence

unused_shape_element

value_format_type_qualifier

variable_expression

wrong_element_name

Documented recommendations and sample code for updating existing
software to work with the revised structures in AP242 DIS.

Added a variant with geometric_representation_item to all of the
draughting_annotation_occurrence + annotation_occurrence subtype
combinations.

geometric_representation_item +

draughting_annotation_occurrence +

plus each of the following:

annotation_curve_occurrence

annotation_fill_area_occurrence

annotation_plane

annotation_symbol_occurrence

annotation_text_occurrence

dimension_curve

dimension_curve_terminator

leader_curve

leader_terminator

projection_curve

Added complex instance combinations for the new "with modifiers"
type for all geometric tolerances.

The following entity definitions are no longer in AP242 DIS schema
and have been removed from the merged schema.

externally_defined_product_definition

library_defined_product_definition

text_reference

Removed AP203 DIS advanced_brep_representation class. Now handled
as an alias of advanced_brep_shape_rep so that it can be referenced
properly. Missing name attribute is handled via other means.

When constructing the merged schema, we used the correct definitions
for cartesian_transformation_operator, bounded_surface_curve, and
bounded_pcurve. The AP242 DIS schema has a mistake which flips the
order of supertype ordering in these entities.

Changes in release 15.8 (2013-03-11, beta2)

Rebuilt for use with roselib 15.3

Changes in release 15.7 (2013-01-28)

Added two more complex instance combinations for semantic tolerances
with associated curves and extents

Added complex instance combinations for some combinations of
annotations with geometric rep item. There is a rule on annotation
occurrence that seems to require it, but it does not appear in the
PMI recpracts so it may be unintentional.

Changes in release 15.5 (2012-11-21)

Added definition for advanced_brep_representation, which was used in
AP203 files that predate the 1994 publication of AP203 and AIC 514.
It is used in the same way as advanced_brep_shape_representation but
it has no name field, so we make it a standalone entity instead of a
representation subtype.

Changes in release 15.4 (2012-11-07, beta1)

Added shortname support to the built-in schema so the library can
now handle P21 files written with abbreviated entity names.

Changes in release 15.3 (2012-09-08)

Eliminated name conflict between some new AP242 attributes and the
min/max macros defined by newer versions of windows.h. This
appeared in the new finite_integer_interval, finite_real_interval,
integer_interval_to_max, and real_interval_to_max entities.

Moved the stplib_* functions to stplib_init.h so they can be
included separate from the classes if desired. They are still
brought in by stp_schema.h, so no changes are needed.

Added STPLIB_SCHEMA_HAS_AP2xx defines to enable preprocessor checks
if the merged schema supports a particular AP. There are defines
for each schema in the StplibSchemaType enum: AP203, AP203E2, AP214,
and AP242.

Changes in release 15.2 (2012-07-26)

Internal change to the P21 header section schema processing to use
the new ST-Developer v15 set_schemas hook. This does a better job
when the list of schemas is missing or has an odd combination of
entries. Replaced the stplib_p21_schema_read() hook function with
the new stplib_p21_set_schemas() function.

Now recognizes the old 2005 AP203e2 TS schema name as well as the
current 2011 IS schema name. Both return stplib_schema_ap203e2.

Now ignores all ASN/1 identifiers (the numbers in braces {1 0 ...})
when trying to match a schema name to known schemas to determine the
StplibSchemaType enum value returned by stplib_get_schema(). This
was previously done only for AP214, but now it is done for all. The
ASN/1 identifers are still preserved and can be examined by looking
at the schema string with stplib_get_schema_name().

Changes in release 15.1 (2012-05-30)

Added a VERSIONINFO resource to the DLL builds of the library.

Added VR10 of the proposed Tesselation Schema, which includes the
following new ENTITY definitions:

complex_triangulated_face

complex_triangulated_surface_set

repositioned_tessellated_item

tessellated_connecting_edge

tessellated_curve_set

tessellated_edge

tessellated_face

tessellated_geometric_set

tessellated_item

tessellated_point_set

tessellated_shape_representation

tessellated_shell

tessellated_solid

tessellated_structured_item

tessellated_surface_set

tessellated_vertex

tessellated_wire

triangulated_face

triangulated_surface_set

Added the following AND/OR combinations for use with the AP242
kinematics model: