Compare commits

..
504 changed files with 467670 additions and 305182 deletions
-12
View File
@@ -1,12 +0,0 @@
language: cpp
compiler:
- clang
script: mkdir build && cd build && cmake .. -DSC_ENABLE_TESTING=ON && make -j2 && make -j2 test
branches:
only:
- master
notifications:
irc: "chat.freenode.net#stepcode"
email: scl-dev@groups.google.com
on_success: change
on_failure: always
-4
View File
@@ -9,12 +9,9 @@ Easterbrook, Zach (lainiwakurax)
Greenwald, Erik (erikg, erikgreenwald)
Lanning, Craig (craigl64)
Loman, David (davidloman)
McDonald, Rob (ramcdona)
Morrison, Christopher Sean (sean, morrison, brlcad)
Paviot, Thomas (tpaviot)
Pictor, Mark (mpictor)
Reed, Nick (nickreed)
Shah, Kesha (kesha)
Thomas, Dawn (homovulgaris, madant)
Wouters, Dave (davyw)
Yapp, Clifford (starseeker)
@@ -22,7 +19,6 @@ Yapp, Clifford (starseeker)
Special thanks:
Lubbell, Joshua (NIST)
Stirk, Charlie (CostVision)
Thurman, Tom (TRThurman)
Between 2005 and 2006, Stefan Richter worked to make SCL compatible with
modern ANSI/ISO C++, and modified the build system. His patches are at
+119 -213
View File
@@ -1,6 +1,6 @@
# C M A K E L I S T S . T X T F O R S T E P C O D E
# C M A K E L I S T S . T X T F O R S C L
#
# This file is Copyright (c) 2010 United States Government as
# This file is Copyright (c) 2010 United States Government as
# represented by the U.S. Army Research Laboratory.
#
# Redistribution and use in source and binary forms, with or without
@@ -32,50 +32,38 @@
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# *******************************************************************
# *** SC's CMakeLists.txt ***
# *** SCL's CMakeLists.txt ***
# *******************************************************************
# This file contains the top level CMakeLists.txt logic for the
# SC software package.
# This file contains the top level CMakeLists.txt logic for the
# SCL software package.
PROJECT(SC)
PROJECT(SCL)
# SC version
SET(SC_VERSION_MAJOR 0)
SET(SC_VERSION_MINOR 7-dev)
SET(SC_VERSION ${SC_VERSION_MAJOR}.${SC_VERSION_MINOR})
# SCL version
SET(SCL_VERSION_MAJOR 0)
SET(SCL_VERSION_MINOR 5-dev)
SET(SCL_VERSION ${SCL_VERSION_MAJOR}.${SCL_VERSION_MINOR})
# SC ABI version. SC_ABI_SOVERSION should be incremented
# SCL ABI version. SCL_ABI_SOVERSION should be incremented
# for each release introducing API incompatibilities
SET(SC_ABI_SOVERSION 2)
SET(SC_ABI_VERSION ${SC_ABI_SOVERSION}.0.0)
SET(SCL_ABI_SOVERSION 2)
SET(SCL_ABI_VERSION ${SCL_ABI_SOVERSION}.0.0)
# Minimum required version of CMake
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.7)
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
IF(COMMAND CMAKE_POLICY)
CMAKE_POLICY(SET CMP0003 NEW)
ENDIF(COMMAND CMAKE_POLICY)
IF( NOT DEFINED INCLUDE_INSTALL_DIR )
SET( INCLUDE_INSTALL_DIR include )
ENDIF( NOT DEFINED INCLUDE_INSTALL_DIR )
IF( NOT DEFINED LIB_INSTALL_DIR )
SET( LIB_INSTALL_DIR lib )
ENDIF( NOT DEFINED LIB_INSTALL_DIR )
IF( NOT DEFINED BIN_INSTALL_DIR )
SET( BIN_INSTALL_DIR bin )
ENDIF( NOT DEFINED BIN_INSTALL_DIR )
IF( NOT DEFINED SC_BUILD_TYPE )
SET( SC_BUILD_TYPE "Debug" CACHE STRING "Build type" ) # By default set debug build
ENDIF( NOT DEFINED SC_BUILD_TYPE )
IF(NOT SC_IS_SUBBUILD)
SET(CMAKE_BUILD_TYPE ${SC_BUILD_TYPE} CACHE INTERNAL "Build type, immutable" FORCE )
ELSE(NOT SC_IS_SUBBUILD)
SET(CMAKE_BUILD_TYPE ${SC_BUILD_TYPE} )
ENDIF(NOT SC_IS_SUBBUILD)
IF( NOT DEFINED SCL_BUILD_TYPE )
SET( SCL_BUILD_TYPE "Debug" CACHE STRING "Build type" ) # By default set debug build
ENDIF( NOT DEFINED SCL_BUILD_TYPE )
IF(NOT SCL_IS_SUBBUILD)
SET(CMAKE_BUILD_TYPE ${SCL_BUILD_TYPE} CACHE INTERNAL "Build type, immutable" FORCE )
ELSE(NOT SCL_IS_SUBBUILD)
SET(CMAKE_BUILD_TYPE ${SCL_BUILD_TYPE} )
ENDIF(NOT SCL_IS_SUBBUILD)
# Define helper macro OPTION_WITH_DEFAULT
MACRO( OPTION_WITH_DEFAULT OPTION_NAME OPTION_STRING OPTION_DEFAULT )
@@ -86,37 +74,27 @@ MACRO( OPTION_WITH_DEFAULT OPTION_NAME OPTION_STRING OPTION_DEFAULT )
ENDMACRO( OPTION_WITH_DEFAULT OPTION_NAME OPTION_STRING OPTION_DEFAULT )
# build shared libs by default
OPTION_WITH_DEFAULT(SC_BUILD_SHARED_LIBS "Build shared libs" ON )
OPTION_WITH_DEFAULT(SCL_BUILD_SHARED_LIBS "Build shared libs" ON )
# don't build static libs by default
OPTION_WITH_DEFAULT(SC_BUILD_STATIC_LIBS "Build static libs" OFF)
OPTION_WITH_DEFAULT(SCL_BUILD_STATIC_LIBS "Build static libs" OFF)
OPTION_WITH_DEFAULT(SC_PYTHON_GENERATOR "Compile exp2python" ON)
OPTION_WITH_DEFAULT(SC_CPP_GENERATOR "Compile exp2cxx" ON)
OPTION_WITH_DEFAULT(SCL_PYTHON_GENERATOR "Compile fedex_python" ON)
OPTION_WITH_DEFAULT(SCL_CPP_GENERATOR "Compile fedex_plus" ON)
OPTION_WITH_DEFAULT(SC_MEMMGR_ENABLE_CHECKS "Enable sc_memmgr's memory leak detection" OFF)
OPTION_WITH_DEFAULT(SC_TRACE_FPRINTF "Enable extra comments in generated code so the code's source in exp2cxx may be located" OFF)
if(NOT DEFINED SC_SDAI_ADDITIONAL_EXES_SRCS )
set( SC_SDAI_ADDITIONAL_EXES_SRCS "" CACHE STRING "Source files for additional executables to be linked with SDAI libs" )
endif(NOT DEFINED SC_SDAI_ADDITIONAL_EXES_SRCS )
if( NOT DEFINED SC_BUILD_SCHEMAS )
set( SCHEMAS_WARNING TRUE )
#this makes SC_BUILD_SCHEMAS show up in cmake-gui
SET(SC_BUILD_SCHEMAS "ALL" CACHE string "Semicolon-separated list of paths to EXPRESS schemas to be built" )
endif( NOT DEFINED SC_BUILD_SCHEMAS )
OPTION_WITH_DEFAULT(SCL_MEMMGR_ENABLE_CHECKS "Enable scl_memmgr's memory leak detection" OFF)
OPTION_WITH_DEFAULT(SCL_TRACE_FPRINTF "Enable extra comments in generated code so the code's source in fedex_plus may be located" OFF)
# CMake derives much of its functionality from modules, typically
# stored in one directory - let CMake know where to find them.
SET(SC_CMAKE_DIR "${SC_SOURCE_DIR}/cmake")
SET(SCL_CMAKE_DIR "${SCL_SOURCE_DIR}/cmake")
if(NOT IS_SUBBUILD)
SET(CMAKE_MODULE_PATH "${SC_CMAKE_DIR};${CMAKE_MODULE_PATH}")
SET(CMAKE_MODULE_PATH "${SCL_CMAKE_DIR};${CMAKE_MODULE_PATH}")
else(NOT IS_SUBBUILD)
SET(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${SC_CMAKE_DIR}")
SET(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${SCL_CMAKE_DIR}")
endif(NOT IS_SUBBUILD)
INCLUDE(${SC_CMAKE_DIR}/SC_Utils.cmake)
INCLUDE(${SCL_CMAKE_DIR}/SCL_Utils.cmake)
# Save the current LC_ALL, LC_MESSAGES, and LANG environment variables and set them
# to "C" so things like date output are as expected
@@ -133,32 +111,30 @@ IF(_orig_lang)
SET(ENV{LANG} C)
ENDIF(_orig_lang)
#---------------------------------------------------------------------
# Coverage option
OPTION_WITH_DEFAULT( SC_ENABLE_COVERAGE "Enable code coverage test" OFF )
IF(SC_ENABLE_COVERAGE)
SET(SC_ENABLE_TESTING ON CACHE BOOL "Testing enabled by coverage option" FORCE)
# build static libs, better coverage report
SET(SC_BUILD_SHARED_LIBS OFF CACHE BOOL "Build shared libs" FORCE )
SET(SC_BUILD_STATIC_LIBS ON CACHE BOOL "Build static libs" FORCE )
SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -fprofile-arcs -ftest-coverage" CACHE STRING "Extra compile flags required by code coverage" FORCE)
SET(CMAKE_C_FLAGS_DEBUG "-O0 -g -fprofile-arcs -ftest-coverage" CACHE STRING "Extra compile flags required by code coverage" FORCE)
SET(CMAKE_MODULE_LINKER_FLAGS_DEBUG "-fprofile-arcs -ftest-coverage" CACHE STRING "Extra linker flags required by code coverage" FORCE)
SET(SC_BUILD_TYPE "Debug" CACHE STRING "Build type required by testing framework" FORCE)
SET( SC_PYTHON_GENERATOR OFF ) #won't build with static libs
ENDIF(SC_ENABLE_COVERAGE)
#---------------------------------------------------------------------
# Testing option
OPTION_WITH_DEFAULT( SC_ENABLE_TESTING "Enable unittesting framework" OFF )
IF(SC_ENABLE_TESTING)
if( NOT DEFINED SC_BUILD_SCHEMAS )
set( SC_BUILD_SCHEMAS "ALL" ) #test all schemas, unless otherwise specified
OPTION_WITH_DEFAULT( SCL_ENABLE_TESTING "Enable unittesting framework" OFF )
IF(SCL_ENABLE_TESTING)
if( NOT DEFINED SCL_BUILD_SCHEMAS )
set( SCL_BUILD_SCHEMAS "ALL" ) #test all schemas, unless otherwise specified
endif()
INCLUDE(CTest)
ENABLE_TESTING()
ENDIF(SC_ENABLE_TESTING)
ENDIF(SCL_ENABLE_TESTING)
#---------------------------------------------------------------------
# Coverage option
OPTION_WITH_DEFAULT( SCL_ENABLE_COVERAGE "Enable code coverage test" OFF )
IF(SCL_ENABLE_COVERAGE)
SET(SCL_ENABLE_TESTING ON CACHE BOOL "Testing enabled by coverage option" FORCE)
# build static libs, better coverage report
SET(SCL_BUILD_SHARED_LIBS OFF CACHE BOOL "Build shared libs" FORCE )
SET(SCL_BUILD_STATIC_LIBS ON CACHE BOOL "Build static libs" FORCE )
SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -fprofile-arcs -ftest-coverage" CACHE STRING "Extra compile flags required by code coverage" FORCE)
SET(CMAKE_C_FLAGS_DEBUG "-O0 -g -fprofile-arcs -ftest-coverage" CACHE STRING "Extra compile flags required by code coverage" FORCE)
SET(CMAKE_MODULE_LINKER_FLAGS_DEBUG "-fprofile-arcs -ftest-coverage" CACHE STRING "Extra linker flags required by code coverage" FORCE)
SET(SCL_BUILD_TYPE "Debug" CACHE STRING "Build type required by testing framework" FORCE)
ENDIF(SCL_ENABLE_COVERAGE)
#---------------------------------------------------------------------
# The following logic is what allows binaries to run successfully in
@@ -188,62 +164,58 @@ set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
#-----------------------------------------------------------------------------
# Output directories.
# When this is a subbuild, assume that the parent project controls these
IF( NOT SC_IS_SUBBUILD )
IF(NOT DEFINED CMAKE_LIBRARY_OUTPUT_DIRECTORY)
SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${SC_BINARY_DIR}/lib CACHE INTERNAL "Single output directory for building all libraries.")
ENDIF(NOT DEFINED CMAKE_LIBRARY_OUTPUT_DIRECTORY)
IF(NOT DEFINED CMAKE_ARCHIVE_OUTPUT_DIRECTORY)
SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${SC_BINARY_DIR}/lib CACHE INTERNAL "Single output directory for building all archives.")
ENDIF(NOT DEFINED CMAKE_ARCHIVE_OUTPUT_DIRECTORY)
IF(NOT DEFINED CMAKE_RUNTIME_OUTPUT_DIRECTORY)
SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${SC_BINARY_DIR}/bin CACHE INTERNAL "Single output directory for building all executables.")
ENDIF(NOT DEFINED CMAKE_RUNTIME_OUTPUT_DIRECTORY)
IF(NOT CMAKE_LIBRARY_OUTPUT_DIRECTORY)
SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${SCL_BINARY_DIR}/lib CACHE INTERNAL "Single output directory for building all libraries.")
ENDIF(NOT CMAKE_LIBRARY_OUTPUT_DIRECTORY)
IF(NOT CMAKE_ARCHIVE_OUTPUT_DIRECTORY)
SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${SCL_BINARY_DIR}/lib CACHE INTERNAL "Single output directory for building all archives.")
ENDIF(NOT CMAKE_ARCHIVE_OUTPUT_DIRECTORY)
IF(NOT CMAKE_RUNTIME_OUTPUT_DIRECTORY)
SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${SCL_BINARY_DIR}/bin CACHE INTERNAL "Single output directory for building all executables.")
ENDIF(NOT CMAKE_RUNTIME_OUTPUT_DIRECTORY)
FOREACH(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES})
STRING(TOUPPER "${CFG_TYPE}" CFG_TYPE)
IF(NOT "CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CFG_TYPE}")
SET("CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CFG_TYPE}" ${SC_BINARY_DIR}/lib CACHE INTERNAL "Single output directory for building all libraries.")
ENDIF(NOT "CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CFG_TYPE}")
IF(NOT "CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CFG_TYPE}")
SET("CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CFG_TYPE}" ${SC_BINARY_DIR}/lib CACHE INTERNAL "Single output directory for building all archives.")
ENDIF(NOT "CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CFG_TYPE}")
IF(NOT "CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CFG_TYPE}")
SET("CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CFG_TYPE}" ${SC_BINARY_DIR}/bin CACHE INTERNAL "Single output directory for building all executables.")
ENDIF(NOT "CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CFG_TYPE}")
ENDFOREACH()
ENDIF( NOT SC_IS_SUBBUILD )
FOREACH(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES})
STRING(TOUPPER "${CFG_TYPE}" CFG_TYPE)
IF(NOT "CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CFG_TYPE}")
SET("CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CFG_TYPE}" ${SCL_BINARY_DIR}/lib CACHE INTERNAL "Single output directory for building all libraries.")
ENDIF(NOT "CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CFG_TYPE}")
IF(NOT "CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CFG_TYPE}")
SET("CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CFG_TYPE}" ${SCL_BINARY_DIR}/lib CACHE INTERNAL "Single output directory for building all archives.")
ENDIF(NOT "CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CFG_TYPE}")
IF(NOT "CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CFG_TYPE}")
SET("CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CFG_TYPE}" ${SCL_BINARY_DIR}/bin CACHE INTERNAL "Single output directory for building all executables.")
ENDIF(NOT "CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CFG_TYPE}")
ENDFOREACH()
#-----------------------------------------------------------------------------
# Configure install locations.
# Configure install locations.
# The location in which to install SC. Need a good Debug location
# The location in which to install SCL. Need a good Debug location
# for Windows. Only do this if CMAKE_INSTALL_PREFIX hasn't been set
# already, to try and allow parent builds (if any) some control.
if(NOT SC_IS_SUBBUILD)
if(NOT SCL_IS_SUBBUILD)
IF(NOT WIN32)
IF (${CMAKE_BUILD_TYPE} MATCHES "Debug")
SET(SC_INSTALL_PREFIX "${SC_SOURCE_DIR}/../sc-install")
SET(SCL_INSTALL_PREFIX "${SCL_SOURCE_DIR}/../scl-install")
ELSE()
SET(SC_INSTALL_PREFIX "/usr/local")
SET(SCL_INSTALL_PREFIX "/usr/local")
ENDIF()
ENDIF(NOT WIN32)
SET( SC_INSTALL_PREFIX ${SC_INSTALL_PREFIX} CACHE
SET( SCL_INSTALL_PREFIX ${SCL_INSTALL_PREFIX} CACHE
PATH "Install prefix prepended to target to create install location" )
SET( CMAKE_INSTALL_PREFIX ${SC_INSTALL_PREFIX} CACHE INTERNAL "Prefix prepended to install directories if target destination is not absolute, immutable" FORCE )
endif(NOT SC_IS_SUBBUILD)
SET( CMAKE_INSTALL_PREFIX ${SCL_INSTALL_PREFIX} CACHE INTERNAL "Prefix prepended to install directories if target destination is not absolute, immutable" FORCE )
endif(NOT SCL_IS_SUBBUILD)
OPTION(SC_BUILD_EXPRESS_ONLY "Only build express parser." OFF)
MARK_AS_ADVANCED(SC_BUILD_EXPRESS_ONLY)
OPTION(SCL_BUILD_EXPRESS_ONLY "Only build express parser." OFF)
MARK_AS_ADVANCED(SCL_BUILD_EXPRESS_ONLY)
# Take the sc config file template as the starting point for
# sc_cf.h.in - scripts may need to append to the template, so
# Take the scl config file template as the starting point for
# scl_cf.h.in - scripts may need to append to the template, so
# it is read into memory initially.
SET(CONFIG_H_FILE ${SC_BINARY_DIR}/include/sc_cf.h.in)
set_source_files_properties(${CONFIG_H_FILE} PROPERTIES GENERATED TRUE)
set(CMAKE_CURRENT_PROJECT SC)
define_property(GLOBAL PROPERTY SC_CONFIG_H_CONTENTS BRIEF_DOCS "config.h.in contents" FULL_DOCS "config.h.in contents for SC project")
SET(CONFIG_H_FILE ${SCL_BINARY_DIR}/include/scl_cf.h.in)
set(CMAKE_CURRENT_PROJECT SCL)
define_property(GLOBAL PROPERTY SCL_CONFIG_H_CONTENTS BRIEF_DOCS "config.h.in contents" FULL_DOCS "config.h.in contents for SCL project")
if(NOT COMMAND CONFIG_H_APPEND)
macro(CONFIG_H_APPEND PROJECT_NAME NEW_CONTENTS)
if(PROJECT_NAME)
@@ -253,67 +225,8 @@ if(NOT COMMAND CONFIG_H_APPEND)
endif(PROJECT_NAME)
endmacro(CONFIG_H_APPEND NEW_CONTENTS)
endif(NOT COMMAND CONFIG_H_APPEND)
file(READ ${SC_SOURCE_DIR}/include/sc_cf_cmake.h.in CONFIG_H_FILE_CONTENTS)
CONFIG_H_APPEND(SC "${CONFIG_H_FILE_CONTENTS}")
# The Express parser uses the tools Perplex, RE2C and Lemon to generate code
# from higher level inputs. Depending on available tools and options, the
# SC build can either re-generate code as part of the build, or use cached
# files that are ready for compilation.
#
# SC_GENERATE_LEXER_PARSER is the "high level" control a user sets to determine
# how the SC build will interact (or not) with these tools. AUTO (the
# default) means it will search for the necessary tools, and use them only if
# everything is found. If not, it will fall back to the cached versions. If
# this option is set to ON and the necessary tools are not found, the
# configure step will fail. If it is set to OFF, SC will not even try to use
# the generators and will instead use the cached sources.
if(NOT SC_GENERATE_LEXER_PARSER)
set(SC_GENERATE_LEXER_PARSER "AUTO" CACHE STRING "Use Perplex, RE2C and Lemon to generate C source code.")
else(NOT SC_GENERATE_LEXER_PARSER)
string(TOUPPER "${SC_GENERATE_LEXER_PARSER}" SC_GENERATE_LEXER_PARSER)
endif(NOT SC_GENERATE_LEXER_PARSER)
set_property(CACHE SC_GENERATE_LEXER_PARSER PROPERTY STRINGS AUTO ON OFF)
if (NOT "${SC_GENERATE_LEXER_PARSER}" STREQUAL "AUTO" AND NOT "${SC_GENERATE_LEXER_PARSER}" STREQUAL "ON" AND NOT "${SC_GENERATE_LEXER_PARSER}" STREQUAL "OFF")
message(WARNING "Unknown value ${SC_GENERATE_LEXER_PARSER} supplied for BRLCAD_WORD_SIZE - defaulting to AUTO")
message(WARNING "Valid options are AUTO, ON and OFF")
set(SC_GENERATE_LEXER_PARSER "AUTO" CACHE STRING "Use Perplex, RE2C and Lemon to generate C source code.")
endif (NOT "${SC_GENERATE_LEXER_PARSER}" STREQUAL "AUTO" AND NOT "${SC_GENERATE_LEXER_PARSER}" STREQUAL "ON" AND NOT "${SC_GENERATE_LEXER_PARSER}" STREQUAL "OFF")
# If the generators have not been turned off, we need to check for them
if(NOT "${SC_GENERATE_LEXER_PARSER}" STREQUAL "OFF")
find_package(LEMON)
find_package(RE2C)
find_package(PERPLEX)
if(LEMON_EXECUTABLE AND LEMON_TEMPLATE AND PERPLEX_EXECUTABLE AND PERPLEX_TEMPLATE AND RE2C_EXECUTABLE)
# Templates may be anywhere - make sure we have a stable path if a relative
# path was specified at CMake time
get_filename_component(lemon_template_fpath "${LEMON_TEMPLATE}" ABSOLUTE)
if(NOT "${lemon_template_fpath}" STREQUAL "${LEMON_TEMPLATE}")
get_filename_component(LEMON_TEMPLATE "${CMAKE_BINARY_DIR}/${LEMON_TEMPLATE}" ABSOLUTE)
endif(NOT "${lemon_template_fpath}" STREQUAL "${LEMON_TEMPLATE}")
get_filename_component(perplex_template_fpath "${PERPLEX_TEMPLATE}" ABSOLUTE)
if(NOT "${perplex_template_fpath}" STREQUAL "${PERPLEX_TEMPLATE}")
get_filename_component(PERPLEX_TEMPLATE "${CMAKE_BINARY_DIR}/${PERPLEX_TEMPLATE}" ABSOLUTE)
endif(NOT "${perplex_template_fpath}" STREQUAL "${PERPLEX_TEMPLATE}")
if(NOT COMMAND LEMON_TARGET)
include(${SC_CMAKE_DIR}/LEMON_Util.cmake)
endif(NOT COMMAND LEMON_TARGET)
if(NOT COMMAND PERPLEX_TARGET)
include(${SC_CMAKE_DIR}/PERPLEX_Util.cmake)
endif(NOT COMMAND PERPLEX_TARGET)
set(SC_GENERATE_LP_SOURCES 1)
else(LEMON_EXECUTABLE AND LEMON_TEMPLATE AND PERPLEX_EXECUTABLE AND PERPLEX_TEMPLATE AND RE2C_EXECUTABLE)
if("${SC_GENERATE_LEXER_PARSER}" STREQUAL "ON")
message(FATAL_ERROR "\nSC_GENERATE_LEXER_PARSER set to ON, but one or more components of the Perplex/RE2C/Lemon toolchain were not found.\n")
else("${SC_GENERATE_LEXER_PARSER}" STREQUAL "ON")
set(SC_GENERATE_LP_SOURCES 0)
endif("${SC_GENERATE_LEXER_PARSER}" STREQUAL "ON")
endif(LEMON_EXECUTABLE AND LEMON_TEMPLATE AND PERPLEX_EXECUTABLE AND PERPLEX_TEMPLATE AND RE2C_EXECUTABLE)
else(NOT "${SC_GENERATE_LEXER_PARSER}" STREQUAL "OFF")
set(SC_GENERATE_LP_SOURCES 0)
endif(NOT "${SC_GENERATE_LEXER_PARSER}" STREQUAL "OFF")
file(READ ${SCL_SOURCE_DIR}/include/scl_cf_cmake.h.in CONFIG_H_FILE_CONTENTS)
CONFIG_H_APPEND(SCL "${CONFIG_H_FILE_CONTENTS}")
INCLUDE(CheckLibraryExists)
INCLUDE(CheckIncludeFile)
@@ -321,6 +234,8 @@ INCLUDE(CheckFunctionExists)
INCLUDE(CheckTypeSize)
INCLUDE(CMakePushCheckState)
INCLUDE(CheckCXXSourceRuns)
INCLUDE(${SCL_CMAKE_DIR}/FindLEX.cmake)
INCLUDE(${SCL_CMAKE_DIR}/FindYACC.cmake)
CHECK_INCLUDE_FILE(ndir.h HAVE_NDIR_H)
CHECK_INCLUDE_FILE(stdarg.h HAVE_STDARG_H)
@@ -360,24 +275,24 @@ cmake_push_check_state()
CHECK_CXX_SOURCE_RUNS( "${TEST_STD_THREAD}" HAVE_STD_THREAD ) #quotes are *required*!
cmake_pop_check_state()
# Now that all the tests are done, configure the sc_cf.h file:
get_property(CONFIG_H_FILE_CONTENTS GLOBAL PROPERTY SC_CONFIG_H_CONTENTS)
# Now that all the tests are done, configure the scl_cf.h file:
get_property(CONFIG_H_FILE_CONTENTS GLOBAL PROPERTY SCL_CONFIG_H_CONTENTS)
file(WRITE ${CONFIG_H_FILE} "${CONFIG_H_FILE_CONTENTS}")
configure_file(${CONFIG_H_FILE} ${SC_BINARY_DIR}/${INCLUDE_INSTALL_DIR}/sc_cf.h)
configure_file(${CONFIG_H_FILE} ${SCL_BINARY_DIR}/include/scl_cf.h)
################ create sc_version_string.h, http://stackoverflow.com/questions/3780667
# Using 'ver_string' instead of 'sc_version_string.h' is a trick to force the
################ create scl_version_string.h, http://stackoverflow.com/questions/3780667
# Using 'ver_string' instead of 'scl_version_string.h' is a trick to force the
# command to always execute when the custom target is built. It works because
# a file by that name never exists.
configure_file(${SC_CMAKE_DIR}/sc_version_string.cmake ${SC_BINARY_DIR}/sc_version_string.cmake @ONLY)
configure_file(${SCL_CMAKE_DIR}/scl_version_string.cmake ${SCL_BINARY_DIR}/scl_version_string.cmake @ONLY)
add_custom_target(version_string ALL DEPENDS ver_string )
# creates sc_version_string.h using cmake script
add_custom_command(OUTPUT ver_string ${CMAKE_CURRENT_BINARY_DIR}/${INCLUDE_INSTALL_DIR}/sc_version_string.h
COMMAND ${CMAKE_COMMAND} -DSOURCE_DIR=${SC_SOURCE_DIR}
-DBINARY_DIR=${SC_BINARY_DIR}
-P ${SC_BINARY_DIR}/sc_version_string.cmake)
# sc_version_string.h is a generated file
set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/${INCLUDE_INSTALL_DIR}/sc_version_string.h
# creates scl_version_string.h using cmake script
add_custom_command(OUTPUT ver_string ${CMAKE_CURRENT_BINARY_DIR}/include/scl_version_string.h
COMMAND ${CMAKE_COMMAND} -DSOURCE_DIR=${SCL_SOURCE_DIR}
-DBINARY_DIR=${SCL_BINARY_DIR}
-P ${SCL_BINARY_DIR}/scl_version_string.cmake)
# scl_version_string.h is a generated file
set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/include/scl_version_string.h
PROPERTIES GENERATED TRUE
HEADER_FILE_ONLY TRUE )
################
@@ -394,53 +309,44 @@ else()
endif()
include_directories(
${SC_SOURCE_DIR}/include
${SC_BINARY_DIR}/include
${SCL_SOURCE_DIR}/include
${SCL_BINARY_DIR}/include
)
ADD_SUBDIRECTORY(src/base)
ADD_SUBDIRECTORY(src/express)
ADD_SUBDIRECTORY(src/exppp)
ADD_SUBDIRECTORY(src/exp2cxx)
ADD_SUBDIRECTORY(src/exp2python)
ADD_SUBDIRECTORY(src/fedex_plus)
ADD_SUBDIRECTORY(src/fedex_python)
ADD_SUBDIRECTORY(src/clstepcore)
ADD_SUBDIRECTORY(src/cleditor)
ADD_SUBDIRECTORY(src/cldai)
ADD_SUBDIRECTORY(src/clutils)
if( NOT WIN32 ) # don't build cllazyfile on windows until export/import macros are in place
ADD_SUBDIRECTORY( src/cllazyfile )
endif( NOT WIN32 )
ADD_SUBDIRECTORY(include)
ADD_SUBDIRECTORY(data)
IF(SC_ENABLE_TESTING)
IF(SCL_ENABLE_TESTING)
ADD_SUBDIRECTORY( test )
ENDIF(SC_ENABLE_TESTING)
ENDIF(SCL_ENABLE_TESTING)
ADD_SUBDIRECTORY(doc)
if( SCHEMAS_WARNING )
message( "** CMake variable SC_BUILD_SCHEMAS was not set. Defaults to building ALL schemas, which will take a")
message(" while; see http://stepcode.org/mw/index.php?title=STEPcode_CMake_variables#SC_BUILD_SCHEMAS" )
endif( SCHEMAS_WARNING )
message( ".. Don't worry about any messages above about missing headers or failed tests, as long as\n you see '-- Configuring done' below. Headers and features vary by compiler." )
# this is for testing - 'make core' builds everything that isn't generated
add_custom_target( core )
add_dependencies( core stepdai check-express stepeditor exp2cxx )
add_dependencies( core stepdai check-express stepeditor fedex_plus )
if(NOT SC_IS_SUBBUILD)
if(NOT SCL_IS_SUBBUILD)
###############################################################################
# SC Packaging #
# SCL Packaging #
# $make package #
###############################################################################
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "STEPcode")
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "STEP Class Library")
SET(CPACK_SET_DESTDIR "ON")
SET(CPACK_PACKAGE_VERSION_MAJOR ${SC_VERSION_MAJOR})
SET(CPACK_PACKAGE_VERSION_MINOR ${SC_VERSION_MINOR})
SET(CPACK_PACKAGE_NAME SC )
SET(CPACK_PACKAGE_VERSION_MAJOR ${SCL_VERSION_MAJOR})
SET(CPACK_PACKAGE_VERSION_MINOR ${SCL_VERSION_MINOR})
SET(CPACK_PACKAGE_NAME SCL )
SET(CPACK_PACKAGE_CONTACT "SC Developers <scl-dev@googlegroups.com>")
SET(CPACK_PACKAGE_CONTACT "SCL Developers <scl-dev@googlegroups.com>")
INCLUDE(CPack)
########################################################################################
@@ -455,4 +361,4 @@ if(NOT SC_IS_SUBBUILD)
add_custom_target(uninstall
COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)
endif(NOT SC_IS_SUBBUILD)
endif(NOT SCL_IS_SUBBUILD)
+1 -1
View File
@@ -2,7 +2,7 @@ Modifications to the original NIST code are (C)opyright by their
respective authors. Unless otherwise specified, they are copyright
on the date those changes were committed to whichever repository
they were committed to first (i.e. BRL-CAD on SourceForge.net,
mpictor/StepClassLibrary or stepcode/stepcode on github).
mpictor/StepClassLibrary on github, etc).
Modifications which were first commited to the repository on github
are licensed under the 3-clause BSD license below. Changes committed
+2 -5
View File
@@ -1,8 +1,5 @@
Recent changes are recorded in the publicly available repository:
http://github.com/stepcode/stepcode
This repo was moved and renamed in May 2012. Previously, it was at
http://github.com/mpictor/StepClassLibrary
https://github.com/mpictor/StepClassLibrary
Some are duplicates of changes recorded in the BRL-CAD repo:
http://brlcad.svn.sourceforge.net/viewvc/brlcad/brlcad/trunk/src/other/step/?view=log
@@ -10,7 +7,7 @@ http://brlcad.svn.sourceforge.net/viewvc/brlcad/brlcad/trunk/src/other/step/?vie
Pre-BRL-CAD changes:
************************************************************************
Updates from http://www.statik.tu-cottbus.de/fileadmin/project_dth/scl/
Jan 2005 - Mar 2006
Jan 2005 - Mar 2006
************************************************************************
STEP Class Library Release 3.2 February 1998
************************************************************************
+18 -17
View File
@@ -1,15 +1,16 @@
INSTALL
This file is contains installation instructions for STEPcode.
This file is contains installation instructions for the
STEP Class Library.
These installation requires that you have the following software
available:
- C and C++ compilers (Tested with GCC, MSVC, Embarcadero)
- CMake (v2.8.7 or greater)
- bison, byacc, or yacc (only bison has been tested recently)
- flex or lex (only flex has been tested recently)
- CMake
- mingw (only on Windows)
- a lexer and parser (i.e. flex, bison) are NOT necessary anymore
-if you modify the lexer or parser, you will need LEMON, RE2C, PERPLEX from BRL-CAD
--------------------
Installation
@@ -20,16 +21,16 @@ Installation
* Build system uses CMake now: configure, Makefile, and all
autotools files have been removed, as has mkProbe.
* Building SC from the command prompt:
- cd sc
* Building SCL from the command prompt:
- cd scl
- mkdir build
- cd build
- cmake ..
- make
- make install # optional
* Building SC from the GUI:
- Run cmake-gui, set it to build in sc/build
* Building SCL from the GUI:
- Run cmake-gui, set it to build in scl/build
- Select the correct build file generator
- Press Configure
- Change options as necessary, configuring again afterwards
@@ -38,7 +39,7 @@ Installation
- Open the main build file using your preferred build tool
* Build options (append to the 'cmake ..' line):
-DSC_BUILD_SCHEMAS="path/to/schema.exp;path/to/schema2.exp"
-DBUILD_SCHEMAS="path/to/schema.exp;path/to/schema2.exp"
- this generates c++ for the schema, and compiles it into a
library. Also works with directories, as long as each dir only
has one express file.
@@ -47,23 +48,23 @@ Installation
and writes another. It may change whitespace or remove comments;
otherwise, the input and output files should be identical. If
they are not identical, either the file does not match the
schema, or SC generated incorrect source code.
-DSC_BUILD_SCHEMAS=ALL
- Added to make use of ctest easier. If SC_BUILD_SCHEMAS == ALL,
schema, or SCL generated incorrect source code.
-DBUILD_SCHEMAS=ALL
- Added to make use of ctest easier. If BUILD_SCHEMAS == ALL,
then CMake adds each *.exp file found in data/.
-DSC_BUILD_TYPE=Release
-DCMAKE_BUILD_TYPE=Release
- this causes binaries to be built without debugging information
- without this, cmake defaults to a Debug build
* Using CTest to test SC:
* Using CTest to test SCL:
- Read the comments in run_ctest.cmake
- (OPTIONAL) Create sc/../.SC_CTEST_PREFS.cmake, and set variables
- (OPTIONAL) Create scl/../.SCL_CTEST_PREFS.cmake, and set variables
in it (this file is required for CDash submission to be enabled)
- Run tests with `ctest -S run_ctest.cmake`
* Using CTest to regenerate the schema matrix on the github SC wiki:
* Using CTest to regenerate the schema matrix on the github SCL wiki:
- Requires:
- git
- python
- a clone of the git repo for the wiki at sc/../wiki-sc
- a clone of the git repo for the wiki at scl/../wiki-scl
- run `ctest -S ctest_matrix.cmake`
+37 -70
View File
@@ -1,37 +1,4 @@
STEPcode -- http://github.com/stepcode/stepcode -- http://stepcode.org
************************************************************************
Release 0.7 (April, 2013)
New since v0.6:
* Requires CMake 2.8.7 or later
* Replace *ALL* references to SCL with SC - CMake, source, filenames.
* Lazy loading code (src/cllazyfile)
* greatly reduces memory requirements and loading time when not all
instances are needed
* doesn't work with complex instances yet
* doesn't work on windows or 32-bit platforms yet
* Merged all BRL-CAD changes; now, we can work on the same repo.
* Eliminate compile-time dependency on a lexer and parser
* When lexer/parser changes, use LEMON/RE2C/Perplex (in BRL-CAD repo)
* Fixed several bugs in the class libraries that cause segfaults
* update AP209, 210e3, 242, IFC2
* Fixes for MSVC, Embarcadero (there are still problems with both:
see comments on #178 & #190, also import/export macros)
* Fixed NIST test executables
************************************************************************
Release 0.6 (May, 2012)
New since v0.5:
* Renamed from STEP Class Library to STEPcode, moved to github.com/stepcode/stepcode
* Advances in [Python](http://github.com/stepcode/stepcode/wiki/python-generator) support (#185)
* ABI versioning
* Implement memory manager with reporting of memory that isn't freed,
fix many memory leaks (#148, #160, #162, #168)
* MSVC fixes (> 128 nested if...else - #152), etc
* Add AP219, AP238, PDM schema, AP203a1, syntax highlighting files
* Improvements to CMake files, mostly from Cliff @ BRL-CAD (#143, #163, #181)
* Allow runtime bounds for aggregates (discovered with AP209e2) (#166)
* exp2cxx fprintf's can be traced with -DSCL_TRACE_FPRINTF=ON (#176)
STEP Class Library ------ http://github.com/mpictor/StepClassLibrary
************************************************************************
Release 0.5 (Feb 23, 2012)
@@ -41,8 +8,8 @@ New since v0.4:
* Now handles most features of EXPRESS - all included schemas,
with the exception of AP209 CD, are parsed without error. Enums are
now in their own dictionary. Allow indexing on aggregates, generics,
and binaries.
* Changes to exp2cxx that improve the generated c++ - use a
and binaries.
* Changes to fedex_plus that improve the generated c++ - use a
namespace, break up large static strings, make EXPRESS multiple
inheritance work by not printing multiple copies of inherited members.
All schemas now compile without error, but there are numerous warnings.
@@ -55,13 +22,13 @@ Release 0.4 (Nov 13, 2011)
New since v0.3:
* Improve p21read performance by ~30%
* Improve exp2cxx performance by ~4300% (!)
* Improve fedex_plus performance by ~4300% (!)
* A variable defined in a LOCAL is not required to have a type label
(affected ap242,210e3,209)
* Enums and entities are allowed to have the same names
(affected ap242,210e3,209)
* Remove the SCLP23 macro
http://github.com/stepcode/stepcode/wiki/changelog-v0.4
http://github.com/mpictor/StepClassLibrary/wiki/changelog-v0.4
************************************************************************
Release 0.3 (Oct 29, 2011)
@@ -81,7 +48,7 @@ Release 0.2 (Oct 1, 2011)
What's new since v0.1?
* Retrieve aggregate type from the underlying type (issue #4)
* Fix aggregate select types naming convention in exp2cxx (issue #59)
* Fix aggregate select types naming convention in fedex_plus (issue #59)
* Fix several segfaults and double free's in p21read (issue #63)
* Fix several file read/write bugs in p21read, including
* don't write '$' for empty string
@@ -91,10 +58,10 @@ What's new since v0.1?
* Add BNF files, schemas, and CAX-IF Part 21 files
For a detailed list of changes, see
https://github.com/stepcode/stepcode/wiki/changelog-v0.2
https://github.com/mpictor/StepClassLibrary/wiki/changelog-v0.2
For a list of closed issues, see
https://github.com/stepcode/stepcode/issues?state=closed&milestone=2
https://github.com/mpictor/StepClassLibrary/issues?state=closed&milestone=2
************************************************************************
@@ -113,14 +80,14 @@ What's new since the SCL 3.2 release in 1998?
* Bring SCL closer to alignment with modern coding standards - replace
String class with std::string, fix all GCC warnings
* Builds on Linux, OSX, and Windows; requires mingw on Windows.
* Add debugging option -d 9 -l nnn -u nnn to exp2cxx. This limits
* Add debugging option -d 9 -l nnn -u nnn to fedex_plus. This limits
parser debug output to a specified range of lines in the schema.
For a detailed list of changes, see
https://github.com/stepcode/stepcode/wiki/changelog-v0.1
https://github.com/mpictor/StepClassLibrary/wiki/changelog-v0.1
For a list of closed issues, see
https://github.com/stepcode/stepcode/issues?state=closed&milestone=1
https://github.com/mpictor/StepClassLibrary/issues?state=closed&milestone=1
Pre-BRL-CAD changes:
* Patches from http://www.statik.tu-cottbus.de/fileadmin/project_dth/scl/
@@ -194,7 +161,7 @@ REFERENCE FROM clauses, global rules, PROCEDUREs, and
FUNCTIONS. Information about these objects is available but validation
based on it is not performed.
- enhanced exp2cxx C++ code generator to generate the necessary
- enhanced fedex_plus C++ code generator to generate the necessary
dictionary objects for the above EXPRESS constructs for a particular
schema. Also enhanced schema dictionary code generation to add
information necessary to generate an EXPRESS schema (i.e. which
@@ -209,7 +176,7 @@ types, entities, and attributes.
- Fixed a bug in the casting functions for the classes handling
instances of SELECT TYPEs in EXPRESS.
e.g.
SdaiMeasure_value::operator SDAI_Real)(
SdaiMeasure_value::operator SCLP23(Real)()
{
// was missing stmts such as these...
if( CurrentUnderlyingType () == config_control_designt_area_measure )
@@ -326,20 +293,20 @@ classes is what allows for the flexibility in dealing with problem
areas when using SCL with other software.
An example of a name change and macro use: sdaiString has now become
SDAI_String which could translate to SDAI::String or SDAI_String
SCLP23(String) which could translate to SDAI::String or SDAI_String
(depending on whether you use the SDAI namespace or not) or any other
namespace or prefix as is necessary. To change the SDAI namespace name
or prefix name the macro definition for SDAI_ could be changed in
or prefix name the macro definition for SCLP23() could be changed in
the sclprefixes.h file.
The early bound access functions that are generated by exp2cxx from
The early bound access functions that are generated by fedex_plus from
EXPRESS defined entities have been updated to the latest version of
Part 23's C++ binding to SDAI. A previous early bound function defined
as "const SdaiLabel Name()" would now be defined according to Part 23 as
"const SdaiLabel name_()". *notice* that application schema defined
types are not yet defined in a namespace. Compatibility with previous
versions of SCL early bound functions has been maintained via the -a
exp2cxx option.
fedex_plus option.
-----------------------------------------------------
SDAI Session Schema objects implemented (model_contents, extents, etc)
@@ -349,7 +316,7 @@ Several classes and types defined as part of SDAI Part 23's Session
Schema have been implemented (where before they mostly had stub
functions). These have been implemented for use with or without the
ObjectStore object oriented database. Model_contents_<schema_name> is
now being generated by exp2cxx allowing Entity_extents to be
now being generated by fedex_plus allowing Entity_extents to be
maintained for entities as desired.
-----------------------------------------------------
@@ -365,7 +332,7 @@ database.
The SCL application, fedex_os, uses an application schema written in
EXPRESS to generate additional code needed for use with ObjectStore.
Fedex_os is used in conjunction with exp2cxx for generating the C++
Fedex_os is used in conjunction with fedex_plus for generating the C++
necessary to implement your application schema.
Although building SCL libraries for use with ObjectStore is
@@ -410,7 +377,7 @@ schema. The generation of IDL schemas by fedex_idl is according to
STEP's Part 26 Interface Definition Language binding to the SDAI. The
Orbix IDL compiler is then used to generate the client and server code
necessary for communication through an Orbix ORB. The SCL application,
exp2cxx, would then be run with the -c option on your application's
fedex_plus, would then be run with the -c option on your application's
EXPRESS schema to generate the server implementation objects required
to build an Orbix server (it uses the TIE approach). You would be
required to write the C++ main() function for the server code.
@@ -457,7 +424,7 @@ MULTIPLE SCHEMA SUPPORT
A library and Data Probe can now be generated for an EXPRESS file
containing multiple schemas. This is done primarily by dividing the
source code generated by exp2cxx into separate files. Separate
source code generated by fedex_plus into separate files. Separate
files are generated for each schema contained in the EXPRESS file. In
addition, often schemas are dependent on one another. This will be
the case if the schemas use and reference entities and types from each
@@ -465,7 +432,7 @@ other. If, for example, entity X in schema A is a subtype of entity Y
in schema B, X will not be processed until B in schema Y is processed.
Other such cases of interdependence occur if an entity in schema A
contains as an attribute an enumeration or select type defined in
another schema. To address such cases, exp2cxx may process a
another schema. To address such cases, fedex_plus may process a
schema in multiple passes. At each pass, only the objects in the
schema which are not dependent on not-yet-processed objects in other
schemas are processed. At each successive pass through the schemas as
@@ -477,16 +444,16 @@ B which is a supertype of C, etc.).
For an EXPRESS file with multiple dependent schemas, it is advisable
to organize the file with bottom-up design. Schemas containing the
simpler, building block types and entities should appear first. By
doing so, when exp2cxx begins processing the more complex schemas,
doing so, when fedex_plus begins processing the more complex schemas,
there will be fewer cases in which the parser will encounter not-yet-
defined objects from other schemas. (The objects which are referenced
the most will have already been defined.) This will minimize the
number of times exp2cxx is required to divide output files.
number of times fedex_plus is required to divide output files.
One known case of interdependence which exp2cxx is not able to
One known case of interdependence which fedex_plus is not able to
support occurs if say select A has select B as an item, and select B
has select A as an item. (This is unsupported even if A and B are in
the same schema.) exp2cxx has no way in which it can generate
the same schema.) fedex_plus has no way in which it can generate
compilable source code for the selects because each is dependent on
the other. In addition, this would cause the parser to fall into an
endless loop, so we strongly discourage it. ;-)
@@ -598,18 +565,18 @@ see below, next section.)
level, bypassing STEPfile. STEPentity will allow the initialization
but will place a warning in its errorDesc field.)
3. exp2cxx may be compiled with the flag COMPLEX_INFO. If this
flag is turned on, exp2cxx prints out (to `cout') a large amount of
3. fedex_plus may be compiled with the flag COMPLEX_INFO. If this
flag is turned on, fedex_plus prints out (to `cout') a large amount of
detail on the complex entities it finds and their overall structure.
This is useful to see how fedex interpreted the complex information of
an EXPRESS file, and to get a simple graphical view of the supertype-
subtype hierarchy of the file.
exp2cxx's makefile contains the commented-out line,
fedex_plus's makefile contains the commented-out line,
#USER_DEFS = -DCOMPLEX_INFO
If this line is uncommented, a exp2cxx executable will be built
If this line is uncommented, a fedex_plus executable will be built
which prints such information.
Limitations
@@ -646,12 +613,12 @@ the renaming of an individual entity places it out of order, the nodes
will be printed out of order.
4. "Diamond inheritance" is not handled automatically and must be
fixed by hand in the code generated by exp2cxx. (See
fixed by hand in the code generated by fedex_plus. (See
whatsnew.2-1.txt, section "Multiple Inheritance".)
5. Selects between aggregates: A select containing two aggregate
choices of the same type (e.g., ARRAY and ARRAY, as opposed to ARRAY
and SET) will cause exp2cxx to generate code which cannot be
and SET) will cause fedex_plus to generate code which cannot be
compiled.
6. Problem with sparcworks compiler version 4.0(?) - operator int() =
@@ -692,14 +659,14 @@ ANY OTHER PARTY.
What's new in the STEP Class Library and Data Probe release 2.1
June 1995
This release of the STEP Class Library (SCL), exp2cxx code
This release of the STEP Class Library (SCL), fedex_plus code
generator, and Data Probe also contains the latest releases of the
fedex syntax and semantic checker, the NIST Express Toolkit (also new
on SOLIS as of June 12, 1995), and the Express Pretty Printer Toolkit.
The NIST Express Toolkit and fedex have been updated to handle the IS
version of Express and various problems have been fixed as a result of
pre-validation conformance testing. Following is an overview of
what's new in the STEP Class Library (and hence exp2cxx) and the
what's new in the STEP Class Library (and hence fedex_plus) and the
Data Probe.
--------------------
@@ -775,10 +742,10 @@ inheritance hierarchy. This will not have an adverse affect on the
implemementation. The user may choose to use the current or previous
method of handling multiple inheritance. The current method is the
default behavior. The previous method is obtained by supplying the
-s (or -S) option with the exp2cxx code generator or the mkProbe
-s (or -S) option with the fedex_plus code generator or the mkProbe
script.
When the exp2cxx code generator is generating the C++ class library
When the fedex_plus code generator is generating the C++ class library
representation of a schema, it outputs information calling attention
to the cases of multiple inheritance.
@@ -1038,7 +1005,7 @@ functions.
--------
Attributes of type Boolean and aggregate of Boolean were previously
implemented using the Logical and Logicals classes (respectively).
The exp2cxx code generator now generates classes Boolean and
The fedex_plus code generator now generates classes Boolean and
Booleans to implement attributes of type Boolean and aggregate of
Boolean respectively.
+556 -20
View File
@@ -1,34 +1,32 @@
***********************************************************************
STEPcode v0.7 -- stepcode.org, github.com/stepcode/stepcode
Step Class Library v0.5 -- http://github.com/mpictor/StepClassLibrary
* What is STEPcode? SC reads ISO10303-11 EXPRESS schemas and generates
* What is SCL? SCL reads ISO10303-11 EXPRESS schemas and generates
C++ source code that can read and write Part 21 files conforming
to that schema. In addition to C++, SC includes experimental
to that schema. In addition to C++, v0.5 includes experimental
support for Python.
* SCL is packaged along with some other tools. See
"THE NIST STEP TOOLSET", below. In particular, Data Probe
requires InterViews, an obsolete UI toolkit. I (mpictor) have not
had luck building the data probe with it. It may be more productive
to replace InterViews with a modern toolkit such as Qt. I
expect that this would be non-trivial.
* Renamed in April/May 2012: SC was formerly known as STEP Class
Libraries, SCL for short. It was renamed because the name wasn't
accurate: the class libraries make up only a part of the code.
* Much of the work to update SC has been done by the developers of
BRL-CAD, and SC (then STEP Class Library) was originally created at
NIST in the 90's.
* For information on changes version-by-version, see the NEWS file
* Much of the work to update SCL has been done by the developers of
BRL-CAD, and SCL was originally created at NIST in the 90's.
* Build system uses only CMake now: configure, Makefile, and all
autotools files have been removed, as has mkProbe.
* Building and testing SCL - see the INSTALL file
* For more details on the libraries and executables, see the wiki:
http://github.com/stepcode/stepcode/wiki/About-STEPcode
* For license details, see the COPYING file. Summary: 3-clause BSD.
***********************************************************************
***********************************************************************
CODING STANDARDS
SC's source has been reformatted with astyle. When making changes, try
SCL's source has been reformatted with astyle. When making changes, try
to match the current formatting. The main points are:
- compact (java-style) brackets:
@@ -49,9 +47,547 @@ to match the current formatting. The main points are:
(see http://www.stack.nl/~dimitri/doxygen/docblocks.html)
If in doubt about a large patch, run astyle with the config file
misc/astyle.cfg.
misc/astyle.cfg.
Download astyle from http://sourceforge.net/projects/astyle/files/astyle/
***********************************************************************
For more info, see the wiki.
***********************************************************************
Notes/TODO items specific to the STEP libraries as included in BRL-CAD:
* Original build system has been replaced with Makefile.am and
configure.ac files in the style of BRL-CAD's autotools build
system.
* Changes have been made to src/express to get it compiling with
the output of different versions of lex/flex/bison. These
changes are not yet tested in terms of impact on functionality
and should be a starting point for any debugging of EXPRESS
parsing issues.
* Of the original test code, only p21read has been incorporated into
the new build system, but they are still present in src/test
* Express and exppp header files have been relocated to subdirectories
in include. The names of the library files being built have been
altered, and clstepcore and cleditor now build as separate libraries.
* Numerous minor changes have been made, mostly including stdlib
and other required files.
***********************************************************************
=====================================================
Much has changed since README.scl was written.
However, it is reproduced in its entirety below.
=====================================================
README.scl (top level README) February 1998
THE NIST STEP TOOLSET
=====================
Included in this release of the NIST STEP Toolset are
STEP Class Library (SCL)
fedex_plus
fedex_idl
fedex_os
Data Probe application
Part 21 Reader application
mkProbe script
NIST EXPRESS Toolkit
NIST EXPRESS Pretty Printing Toolkit
The focus of our work since our last release has been on developing a
reference implementation of the binding of EXPRESS to C++ and IDL as
specified by STEP's Parts 23 and 26 respectively. To this we have
added a persistence capability (based on the ObjectStore OODB from
Object Design, Inc) and a distribution capability (based on Orbix by
Iona Technologies, Ltd). We also experimented with the Open OODB from
Texas Instruments and with DSOM from IBM.
The STEP Class Library (SCL) and fedex_plus are used to build
STEP-related applications in C++. They support STEP Parts 21 (the
exchange file format), 22 (the functional specification of STEP's
Standard Data Access Interface, SDAI), 23 (the C++ binding to SDAI),
and 26 (the IDL interface to SDAI). fedex_plus is an application of
the NIST EXPRESS Toolkit (based on STEP Part 11) which generates a C++
class library representation of an EXPRESS schema based on STEP's Part
23. The generated classes work with the STEP Class Library. The NIST
EXPRESS Pretty Printing Toolkit is used to format and output EXPRESS.
fedex_os is used to generate software (in addition to fedex_plus)
needed to use SCL with the ObjectStore OODB. fedex_idl translates
EXPRESS to the Interface Definition Language (according to Part 26)
for use with Orbix.
The Data Probe software and mkProbe script are used to generate
schema-specific class libraries (a.k.a. "Schema Class Library"), Data
Probe editors, and Part 21 file readers. mkProbe generates a C++
library representing a schema (using fedex_plus) and links the schema
library with other libraries of the SCL and Data Probe to create a
schema specific editor, known as a Data Probe. The Data Probe is a
graphical editor for STEP data; it is used to browse and edit data
instances of the objects in an EXPRESS model. It may also be used to
visually browse the objects contained in the EXPRESS schema itself.
Data Probes are X Windows-based and use the InterViews Toolkit from
Stanford University.
The Data Probe source code was designed with reusability in mind. The
runtime-code uses three class libraries: the STEP Class Library
(developed at NIST), the InterViews Toolkit (user interface
developer's toolkit from Stanford), and a standard C++ Class Library.
The NIST STEP Class Library is divided into component libraries
including STEP Core, Editor, Utilities, Data Access Interface,
Interviews extensions, and Probe. The STEP Core, Editor, and Utils
libraries can be used without the user interface libraries (Interviews
extensions and Probe) for applications needing to represent the
EXPRESS data structures. At this point the Data Access Interface is a
partial implementation of SDAI's Session schema.
Dependencies between these modules have been minimized so that an
executable program, the Data Probe, can be easily reconfigured to
support different conceptual schemas.
We have experimented with replacing the Interviews-based interface
with a tcl interface with good success; however, it is not in our work
plan to complete. If anyone is interested in extending the toolkit
with a more modern interface, we would be glad to discuss it with you.
The Part 21 Reader was originally developed to test whether a Schema
Class built and linked without problems. It is also useful for
checking Part 21 files. It displays the error messages from the STEP
Class Library as a file is read.
SYSTEM REQUIREMENTS
===================
Depending on how you want to use the toolkit, additional pieces of
software will need to be available on your local system:
- UNIX SunOS 4.1.x or Solaris 5.x operating system.
At NIST, the SCL including the Data Probe has been built on
SunOS workstations. The SCL without the Data Probe has been
built on Solaris. (We did not build the InterViews Library
on Solaris.) NOTE: earlier versions of the SCL 2.1 without
the Data Probe had been ported to AIX, HP, linux, and Windows NT.
- a C++ compiler -- cfront version 2.1 or higher
NOTE: The current SCL release has been built with SUN C/C++,
and GNU's gcc/g++ compilers. Earlier versions of the SCL were
built using CenterLine on SunOS and CSet++ on AIX.
If you successfully port the current version to other
compilers and/or operating systems (and are willing to share)
please contact us (stepcl@cme.nist.gov) so that we can point
others to it.
- The NIST EXPRESS Toolkit -- available from NIST
Included in this release; also available as:
ftp.cme.nist.gov:pub/step/npttools/exptk.tar.Z
- The NIST EXPRESS Pretty Printer -- available from NIST
Included in this release; also available as:
ftp.cme.nist.gov:pub/step/npttools/exppp.tar.Z
The following components are optional:
- Version 3.1 of the InterViews Toolkit from Stanford.
ftp://interviews.stanford.edu:pub/3.1.tar.Z
NOTE: InterViews is only needed for the Data Probe portion of
the toolkit. The STEP Class Library without the Data Probe
and InterViews has been built on more platforms than with these
components.
- Orbix version 2.0. Available from Iona Technologies:
http://www.iona.com
- Object Store version 4. Available from Object Design Inc.:
http://www.odi.com.
INSTALLATION INSTRUCTIONS
=========================
Refer to the file INSTALL.
In the instructions below, you will see references to the directory
<ARCH_DIR>. This directory name should be interpreted as the directory
which is named to reflect your compiler and/or system architecture
when installing the SCL using configure: i.e. "arch.centerline" or
"arch-gnu.solaris"
CREATING A NEW SCHEMA CLASS LIBRARY AND/OR DATA PROBE
=====================================================
The <ARCH_DIR>/bin/mkProbe script automates the process of building
new Schema Class Libraries and Data Probe executables. When run with
the -l option only the Schema Class Library will be created. See man
page in ~scl/man.
Examples
Input command line output (name and location)
----------------------------------------------------
mkProbe part41.exp pt41 ./pt41/dp_pt41
mkProbe -i part101.exp dp ~scl/<ARCH_DIR>/Probes/dp/dp_dp
mkProbe -l example.exp example ./example/libCexample.a
mkProbe -p example.exp example ./example/p21read_example
CONTENTS
========
This directory contains the following files and subdirectories.
This software release includes all the NIST software needed for
creating new versions of the Data Probe program. Two example schemas
are included in the data directory.
INSTALL - File discussing installation of SCL.
README.scl - This file.
src/test/README - README discussing SCL coding examples under src/test/
disclaim.txt - NIST disclaimer for this distribution.
build-apps.txt - Discusses how to build applications using the STEP
Class Library.
whatsnew.3-1.txt- Discusses new features in the STEP Class Library and
Data Probe 3.1 release.
whatsnew.2-1.txt- This was the `whatsnew' file released with SCL 2.1.
Most of the information is still relevant.
configure - Script used to install the SCL.
configure.in - File used to create the configure script using gnu's
autoconf software.
configure.files_notes.txt - Discusses various files used by the
configure script.
Makefile - Contains a default rule to build SCL using the
configure installation script.
<ARCH_DIR>/bin/mkProbe - Script used to generate a new Schema Class Library
and/or Data Probe executable.
(see CREATING A NEW SCHEMA CLASS LIBRARY AND/OR DATA PROBE)
config/ - Directory containing various templates needed by the
configure installation script.
config/examples/ - Directory containing examples of using configure to
install SCL.
arch_template/ - Directory containing templates used by configure to
create an architecture specific SCL installation.
src/ - Source code files for the C++ libraries included in this
release.
src/cl* - Directories containing the source code for the C++
libraries in the STEP Class Library. These
libraries are documented in the VTS Design document
(see DOCUMENTATION below). They are as follows:
src/clutils - utilities needed by the other libraries.
src/clstepcore - "core" classes representing EXPRESS types
and dictionary info.
src/cldai - classes for a partial implementation of the
Session schema of STEP's Standard Data
Access Interface (STEP Part 23).
src/cleditor - classes for managing data instances and
exchange files.
src/clivfasd - customizations to the Interviews class
library.
src/clprobe-ui - user interface classes for the Data Probe.
src/clSchemas - Contain subdirectories with schema specific source
code generated by the mkProbe script.
src/express - Directory containing the EXPRESS Toolkit.
src/exppp - Directory containing EXPRESS Pretty Printer Toolkit.
src/test - Directory containing example STEP Class Library
applications.
src/fedex_plus - Directory containing source code and makefile for
fedex_plus, fedex_idl, fedex_os
<ARCH_DIR>
- <ARCH_DIR> is the installer-supplied name of the
directory which is created when you run configure to
install SCL. (See the file INSTALL for more
information.) This directory contains computer
architecture-specific files. Additional arch dirs
may be created to support multiple platforms or C++
compilers which all refer to the same source
code under src/. The arch dir contains the subdirectories
ofiles, bin, lib, and Probes.
<ARCH_DIR>/ofiles/ - Directory containing object (.o) files for SCL.
<ARCH_DIR>/ofiles/sdaiOrbix - Directory containing IDL files and
Makefile needed to build and use SCL with Orbix.
<ARCH_DIR>/lib/ - Directory containing library (.a) files for SCL.
<ARCH_DIR>/Probes/ - The <ARCH_DIR>/Probes directory will contain
directories for versions of the Schema Class Library
and Data Probe generated using the mkProbe script
with the -i option.
<ARCH_DIR>/bin/ - The fedex, fedex_plus, fedex_idl, and fedex_os,
exppp, and symlink executables and mkProbe,
sclbuild, and setup-arch scripts are placed in this
directory during installation.
data/ - Directory containing sample EXPRESS files to use to
create SCL applications such as the Data Probe or
Part 21 Reader. Also contains data for some of the
examples.
bin/ - Directory containing various scripts.
man/ - Directory containing man pages for the software in
the release. You may look at the man page by
issuing the command: nroff -man <manpagefile> or by
adding this directory to your MANPATH.
EXAMPLES
========
Example of creating a Data Probe
--------------------------------
To create a new version of the Data Probe run the script mkProbe. For
example, to create a Data Probe based on the "example_schema" EXPRESS
schema included in this release, issue the following command in a
directory from which you would like a subdirectory containing the new
Data Probe to be created:
% mkProbe ~scl/data/example/example.exp example
This command creates a new version of the Data Probe in the file:
% ./example/dp_example
(It also creates subdirectory example/ if it does not exist already.)
Examples of using the STEP Class Library
----------------------------------------
To use the Schema Class Library source code (without the Data Probe
software) refer to the examples in the directory src/test.
Example of a Part 21 file reader
--------------------------------
To create a file reader based on STEP's Part 21 format use the mkProbe
script with the -p option.
% mkProbe -p ~scl/data/example/example.exp example
The executable p21read_example is created. Run it as follows:
% p21read_example your_part_21_file
This program reads a file the name of which is supplied as an
argument to the program. Any errors encountered when reading the file
are reported to standard output. A summary of the file is also
reported. The file is then written back out to a file the name of
which may be supplied as the second argument to the program. If no
name is given, "file.out" is used.
FOR MORE INFORMATION
====================
SCL HOME PAGE
-------------
The SCL home page is located on the world wide web at,
http://www.nist.gov/scl
The SCL home page will provide important, up-to-date information on
the status of the SCL, new developments and fixes, links to related
software and projects, and may eventually contain an FAQ sheet.
SCL DOCUMENTATION
-----------------
Documentation can be accessed from the SCL world wide web home page
located at http://www.nist.gov/scl
The following files (in postscript format) are particularly relevant:
Design of a C++ Software Library for Implementing EXPRESS: The NIST
STEP Class Library
Data Probe User's Guide
Data Probe: A Tool for EXPRESS-based Data
Architecture for the Validation Testing System Software
Validation Testing System Software Reusable Software Component Design
Diagrams of basic SCL data structures
ISO DOCUMENTATION
-----------------
Copies of the International Standard documents (including STEP Part 11
the EXPRESS Language Reference Manual, Part 21 the STEP Exchange File
Format, Part 22 STEP's Standard Data Access Interface, and Part 23 the
C++ language binding to SDAI) can be ordered from the ISO
International Organization of Standardization or your national
body. The United States distribution is managed by the US Product Data
Exchange Association at:
U.S. Product Data Association (USPro)
Trident Research Center, Suite 204
5300 International Blvd.
N. Charleston, SC 29418
http://www.uspro.scra.org
uspro@scra.org
Ph: 803-760-3327
FAX: 803-760-3349
MAILING LIST
------------
Announcements of new releases or bug fixes will also be sent to the
mailing list scl@cme.nist.gov. To be added to the scl mailing list
send a request to majordomo@cme.nist.gov. Include in the body of the
message:
subscribe scl
For additional help, include in the body of the message:
help
If you use a signature within your email, end your majordomo
command sequence with the word "end". For example,
subscribe scl
end
REPORTING PROBLEMS AND SUGGESTIONS
==================================
We would like feedback on all parts of the software. Please let us
know if you
- have problems following the instructions in the README file,
- have problems installing the software,
- have problems compiling your own valid EXPRESS schema, or
- have suggestions for improvements to the software.
- really like the software :)
Send your comments to
stepcl@cme.nist.gov
(For users of version 2, note the new mailing address of "stepcl...".)
Questions about availability or accessing the software should be
directed to the SOLIS administrator
Gaylen Rinaudot
npt-info@cme.nist.gov
301-975-3386
ACKNOWLEDGMENTS
===============
The STEP Class Library (SCL) was developed by the Manufacturing
Systems Integration Division at the National Institute of Standards
and Technology (http://www.mel/nist.gov/msid) to support testing of
the Standard for the Exchange of Product Model Data (a.k.a STEP) and
validation of STEP's emerging implementation specifications. Funding
for the project has come from the U.S. Department of Commerce, and the
Department of Defense agencies including the Office of the Defense
CALS (Continuous Acquisition and Life-Cycle Support) Executive and the
Defense Advanced Research Projects Agency (DARPA). Recent
enhancements were sponsored by the National Industrial Information
Infrastructure Consortium (NIIIP) (http://www.niiip.org) and the NAMT
Framework project
(http://www.mel.nist.gov/msid/projs/97projs/framewrk.htm) of NIST's
Systems Integration for Manufacturing Applications (SIMA) program
(http://www.mel.nist.gov/msid/sima/sima.htm).
LICENSING RESTRICTIONS and DISCLAIMERS
======================================
This software was produced by the National Institute of Standards and
Technology (NIST), an agency of the U.S. government, and by statute
is not subject to copyright in the United States. Recipients of this
software assume all responsibility associated with its operation,
modification, maintenance, and subsequent re-distribution.
There is no warranty for the NIST STEP Toolkit.
If the NIST STEP Toolkit is modified by someone else and passed on,
NIST wants the Toolkit's recipients to know that what they have is not
what NIST originally distributed.
Distribution Rights
1. Anyone may copy and distribute verbatim copies of the NIST STEP Toolkit
source code as received in any medium.
2. Anyone may modify their copy or copies of the NIST STEP Toolkit source
code or any portion of it, and copy and distribute such modifications
provided that all modifications are clearly associated with the entity
that performs the modifications.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!DISCLAIMERS!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Names of companies and products are provided in order to adequately
specify procedures and equipment used. In no case does such
identification imply recommendation or endorsement by the National
Institute of Standards and Technology, nor does it imply that the
products are necessarily the best available for the purpose.
NO WARRANTY
===========
NIST PROVIDES ABSOLUTELY NO WARRANTY. THE NIST STEP TOOLKIT
IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS
WITH YOU. SHOULD ANY PORTION OF THE NIST STEP TOOLKIT PROVE DEFECTIVE,
YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR, OR CORRECTION.
IN NO EVENT WILL NIST BE LIABLE FOR DAMAGES, INCLUDING ANY LOST
PROFITS, LOST MONIES, OR OTHER SPECIAL, INCIDENTAL OR CONSEQUENTIAL
DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE (INCLUDING BUT NOT
LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE, OR LOSSES
SUSTAINED BY THIRD PARTIES, OR A FAILURE OF THE PROGRAM TO OPERATE
WITH PROGRAMS NOT DISTRIBUTED BY NIST) THE PROGRAMS, EVEN IF YOU HAVE
BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES, OR FOR ANY CLAIM BY
ANY OTHER PARTY.
+1
View File
@@ -0,0 +1 @@
0.5
-1
View File
@@ -1 +0,0 @@
0.7
-74
View File
@@ -1,74 +0,0 @@
#
# - Find lemon executable and provides macros to generate custom build rules
# The module defines the following variables
#
# LEMON_EXECUTABLE - path to the lemon program
# LEMON_TEMPLATE - location of the lemon template file
#=============================================================================
# F I N D L E M O N . C M A K E
#
# Originally based off of FindBISON.cmake from Kitware's CMake distribution
#
# Copyright (c) 2010-2012 United States Government as represented by
# the U.S. Army Research Laboratory.
# Copyright 2009 Kitware, Inc.
# Copyright 2006 Tristan Carel
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# * The names of the authors may not be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#=============================================================================
find_program(LEMON_EXECUTABLE lemon DOC "path to the lemon executable")
mark_as_advanced(LEMON_EXECUTABLE)
if(LEMON_EXECUTABLE AND NOT LEMON_TEMPLATE)
get_filename_component(lemon_path ${LEMON_EXECUTABLE} PATH)
if(lemon_path)
set(LEMON_TEMPLATE "")
if(EXISTS ${lemon_path}/lempar.c)
set(LEMON_TEMPLATE "${lemon_path}/lempar.c")
endif(EXISTS ${lemon_path}/lempar.c)
if(EXISTS /usr/share/lemon/lempar.c)
set(LEMON_TEMPLATE "/usr/share/lemon/lempar.c")
endif(EXISTS /usr/share/lemon/lempar.c)
endif(lemon_path)
endif(LEMON_EXECUTABLE AND NOT LEMON_TEMPLATE)
include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(LEMON DEFAULT_MSG LEMON_EXECUTABLE LEMON_TEMPLATE)
mark_as_advanced(LEMON_TEMPLATE)
#============================================================
# FindLEMON.cmake ends here
# Local Variables:
# tab-width: 8
# mode: cmake
# indent-tabs-mode: t
# End:
# ex: shiftwidth=2 tabstop=8
+161
View File
@@ -0,0 +1,161 @@
# - Find lex executable and provides a macro to generate custom build rules
#
# The module defines the following variables:
# LEX_FOUND - true is lex executable is found
# LEX_EXECUTABLE - the path to the lex executable
# LEX_LIBRARIES - The lex libraries
#
# If lex is found on the system, the module provides the macro:
# LEX_TARGET(Name FlexInput FlexOutput [COMPILE_FLAGS <string>])
# which creates a custom command to generate the <FlexOutput> file from
# the <FlexInput> file. If COMPILE_FLAGS option is specified, the next
# parameter is added to the lex command line. Name is an alias used to
# get details of this custom command. Indeed the macro defines the
# following variables:
# LEX_${Name}_DEFINED - true is the macro ran successfully
# LEX_${Name}_OUTPUTS - the source file generated by the custom rule, an
# alias for FlexOutput
# LEX_${Name}_INPUT - the lex source file, an alias for ${FlexInput}
#
# Flex scanners oftenly use tokens defined by Yacc: the code generated
# by Flex depends of the header generated by Yacc. This module also
# defines a macro:
# ADD_LEX_YACC_DEPENDENCY(FlexTarget YaccTarget)
# which adds the required dependency between a scanner and a parser
# where <FlexTarget> and <YaccTarget> are the first parameters of
# respectively LEX_TARGET and YACC_TARGET macros.
#
# ====================================================================
# Example:
#
# find_package(YACC)
# find_package(LEX)
#
# YACC_TARGET(MyParser parser.y ${CMAKE_CURRENT_BINARY_DIR}/parser.cpp
# LEX_TARGET(MyScanner lexer.l ${CMAKE_CURRENT_BIANRY_DIR}/lexer.cpp)
# ADD_LEX_YACC_DEPENDENCY(MyScanner MyParser)
#
# include_directories(${CMAKE_CURRENT_BINARY_DIR})
# add_executable(Foo
# Foo.cc
# ${YACC_MyParser_OUTPUTS}
# ${LEX_MyScanner_OUTPUTS}
# )
# ====================================================================
#
#=============================================================================
# Copyright 2010 United States Government as represented by
# the U.S. Army Research Laboratory.
# Copyright 2009 Kitware, Inc.
# Copyright 2006 Tristan Carel
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# * The names of the authors may not be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#=============================================================================
FIND_PROGRAM(LEX_EXECUTABLE flex DOC "path to the lex executable")
IF(NOT LEX_EXECUTABLE)
FIND_PROGRAM(LEX_EXECUTABLE lex DOC "path to the lex executable")
ENDIF(NOT LEX_EXECUTABLE)
MARK_AS_ADVANCED(LEX_EXECUTABLE)
FIND_LIBRARY(FL_LIBRARY NAMES fl
DOC "path to the fl library")
MARK_AS_ADVANCED(FL_LIBRARY)
SET(LEX_LIBRARIES ${FL_LIBRARY})
IF(LEX_EXECUTABLE)
#============================================================
# LEX_TARGET (public macro)
#============================================================
#
MACRO(LEX_TARGET Name Input Output)
SET(LEX_TARGET_usage "LEX_TARGET(<Name> <Input> <Output> [COMPILE_FLAGS <string>]")
IF(${ARGC} GREATER 3)
IF(${ARGC} EQUAL 5)
IF("${ARGV3}" STREQUAL "COMPILE_FLAGS")
SET(LEX_EXECUTABLE_opts "${ARGV4}")
SEPARATE_ARGUMENTS(LEX_EXECUTABLE_opts)
ELSE()
MESSAGE(SEND_ERROR ${LEX_TARGET_usage})
ENDIF()
ELSE()
MESSAGE(SEND_ERROR ${LEX_TARGET_usage})
ENDIF()
ENDIF()
ADD_CUSTOM_COMMAND(OUTPUT ${Output}
COMMAND ${LEX_EXECUTABLE}
ARGS ${LEX_EXECUTABLE_opts} -o${Output} ${Input}
DEPENDS ${Input}
COMMENT "[LEX][${Name}] Building scanner with ${LEX_EXECUTABLE}"
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
SET(LEX_${Name}_DEFINED TRUE)
SET(LEX_${Name}_OUTPUTS ${Output})
SET(LEX_${Name}_INPUT ${Input})
SET(LEX_${Name}_COMPILE_FLAGS ${LEX_EXECUTABLE_opts})
ENDMACRO(LEX_TARGET)
#============================================================
#============================================================
# ADD_LEX_YACC_DEPENDENCY (public macro)
#============================================================
#
MACRO(ADD_LEX_YACC_DEPENDENCY FlexTarget YaccTarget)
IF(NOT LEX_${FlexTarget}_OUTPUTS)
MESSAGE(SEND_ERROR "Flex target `${FlexTarget}' does not exists.")
ENDIF()
IF(NOT YACC_${YaccTarget}_OUTPUT_HEADER)
MESSAGE(SEND_ERROR "Yacc target `${YaccTarget}' does not exists.")
ENDIF()
SET_SOURCE_FILES_PROPERTIES(${LEX_${FlexTarget}_OUTPUTS}
PROPERTIES OBJECT_DEPENDS ${YACC_${YaccTarget}_OUTPUT_HEADER})
ENDMACRO(ADD_LEX_YACC_DEPENDENCY)
#============================================================
#Need to run a test lex file to determine if YYTEXT_POINTER needs
#to be defined
EXEC_PROGRAM(${LEX_EXECUTABLE} ARGS ${CMAKE_SOURCE_DIR}/misc/CMake/test_srcs/lex_test.l -o ${CMAKE_BINARY_DIR}/CMakeTmp/lex_test.c RETURN_VALUE _retval OUTPUT_VARIABLE _lexOut)
INCLUDE (CheckCFileRuns)
SET(FILE_RUN_DEFINITIONS "-DYYTEXT_POINTER=1")
CHECK_C_FILE_RUNS(${CMAKE_CURRENT_SOURCE_DIR}/cmake/test_srcs/sys_wait_test.c YYTEXT_POINTER)
SET(FILE_RUN_DEFINITIONS)
ENDIF(LEX_EXECUTABLE)
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(LEX DEFAULT_MSG LEX_EXECUTABLE)
# FindLEX.cmake ends here
-79
View File
@@ -1,79 +0,0 @@
#
# - Find perplex executable and provides macros to generate custom build rules
# The module defines the following variables
#
# PERPLEX_EXECUTABLE - path to the perplex program
# PERPLEX_TEMPLATE - location of the perplex template file
#=============================================================================
# F I N D P E R P L E X . C M A K E
#
# Originally based off of FindBISON.cmake from Kitware's CMake distribution
#
# Copyright (c) 2010-2012 United States Government as represented by
# the U.S. Army Research Laboratory.
# Copyright 2009 Kitware, Inc.
# Copyright 2006 Tristan Carel
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# * The names of the authors may not be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#=============================================================================
find_program(PERPLEX_EXECUTABLE perplex DOC "path to the perplex executable")
mark_as_advanced(PERPLEX_EXECUTABLE)
if(PERPLEX_EXECUTABLE AND NOT PERPLEX_TEMPLATE)
get_filename_component(perplex_path ${PERPLEX_EXECUTABLE} PATH)
if(perplex_path)
set(PERPLEX_TEMPLATE "")
if(EXISTS ${perplex_path}/../share/perplex/perplex_template.c)
get_filename_component(perplex_template_path "${perplex_path}/../share/perplex/perplex_template.c" ABSOLUTE)
set(PERPLEX_TEMPLATE "${perplex_template_path}")
endif(EXISTS ${perplex_path}/../share/perplex/perplex_template.c)
if(EXISTS ${perplex_path}/../share/perplex_template.c AND NOT PERPLEX_TEMPLATE)
get_filename_component(perplex_template_path "${perplex_path}/../share/perplex_template.c" ABSOLUTE)
set(PERPLEX_TEMPLATE "${perplex_template_path}")
endif(EXISTS ${perplex_path}/../share/perplex_template.c AND NOT PERPLEX_TEMPLATE)
endif(perplex_path)
if(EXISTS /usr/share/perplex/perplex_template.c AND NOT PERPLEX_TEMPLATE)
set(PERPLEX_TEMPLATE "/usr/share/perplex/perplex_template.c")
endif(EXISTS /usr/share/perplex/perplex_template.c AND NOT PERPLEX_TEMPLATE)
endif(PERPLEX_EXECUTABLE AND NOT PERPLEX_TEMPLATE)
include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(PERPLEX DEFAULT_MSG PERPLEX_EXECUTABLE PERPLEX_TEMPLATE)
mark_as_advanced(PERPLEX_TEMPLATE)
#============================================================
# FindPERPLEX.cmake ends here
# Local Variables:
# tab-width: 8
# mode: cmake
# indent-tabs-mode: t
# End:
# ex: shiftwidth=2 tabstop=8
-10
View File
@@ -1,10 +0,0 @@
# The module defines the following variables:
# RE2C_EXECUTABLE - the path to the re2c executable
#
#=============================================================================
find_program(RE2C_EXECUTABLE re2c DOC "path to the re2c executable")
mark_as_advanced(RE2C_EXECUTABLE)
include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(RE2C DEFAULT_MSG RE2C_EXECUTABLE)
+165
View File
@@ -0,0 +1,165 @@
# - Find yacc executable and provides macros to generate custom build rules
# The module defines the following variables
#
# YACC_EXECUTABLE - path to the yacc program
# YACC_FOUND - true if the program was found
#
# If yacc is found, the module defines the macros:
# YACC_TARGET(<Name> <YaccInput> <CodeOutput> [VERBOSE <file>]
# [COMPILE_FLAGS <string>])
# which will create a custom rule to generate a parser. <YaccInput> is
# the path to a yacc file. <CodeOutput> is the name of the source file
# generated by yacc. A header file is also be generated, and contains
# the token list. If COMPILE_FLAGS option is specified, the next
# parameter is added in the yacc command line. if VERBOSE option is
# specified, <file> is created and contains verbose descriptions of the
# grammar and parser. The macro defines a set of variables:
# YACC_${Name}_DEFINED - true is the macro ran successfully
# YACC_${Name}_INPUT - The input source file, an alias for <YaccInput>
# YACC_${Name}_OUTPUT_SOURCE - The source file generated by yacc
# YACC_${Name}_OUTPUT_HEADER - The header file generated by yacc
# YACC_${Name}_OUTPUTS - The sources files generated by yacc
# YACC_${Name}_COMPILE_FLAGS - Options used in the yacc command line
#
# ====================================================================
# Example:
#
# find_package(YACC)
# YACC_TARGET(MyParser parser.y ${CMAKE_CURRENT_BINARY_DIR}/parser.cpp)
# add_executable(Foo main.cpp ${YACC_MyParser_OUTPUTS})
# ====================================================================
#
#=============================================================================
# Copyright 2010 United States Government as represented by
# the U.S. Army Research Laboratory.
# Copyright 2009 Kitware, Inc.
# Copyright 2006 Tristan Carel
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# * The names of the authors may not be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#=============================================================================
FIND_PROGRAM(YACC_EXECUTABLE bison DOC "path to the yacc executable")
IF(NOT YACC_EXECUTABLE)
FIND_PROGRAM(YACC_EXECUTABLE yacc DOC "path to the yacc executable")
ENDIF(NOT YACC_EXECUTABLE)
MARK_AS_ADVANCED(YACC_EXECUTABLE)
IF(YACC_EXECUTABLE)
# internal macro
MACRO(YACC_TARGET_option_verbose Name YaccOutput filename)
LIST(APPEND YACC_TARGET_cmdopt "--verbose")
GET_FILENAME_COMPONENT(YACC_TARGET_output_path "${YaccOutput}" PATH)
GET_FILENAME_COMPONENT(YACC_TARGET_output_name "${YaccOutput}" NAME_WE)
ADD_CUSTOM_COMMAND(OUTPUT ${filename}
COMMAND ${CMAKE_COMMAND}
ARGS -E copy
"${YACC_TARGET_output_path}/${YACC_TARGET_output_name}.output"
"${filename}"
DEPENDS
"${YACC_TARGET_output_path}/${YACC_TARGET_output_name}.output"
COMMENT "[YACC][${Name}] Copying yacc verbose table to ${filename}"
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
SET(YACC_${Name}_VERBOSE_FILE ${filename})
LIST(APPEND YACC_TARGET_extraoutputs
"${YACC_TARGET_output_path}/${YACC_TARGET_output_name}.output")
ENDMACRO(YACC_TARGET_option_verbose)
# internal macro
MACRO(YACC_TARGET_option_extraopts Options)
SET(YACC_TARGET_extraopts "${Options}")
SEPARATE_ARGUMENTS(YACC_TARGET_extraopts)
LIST(APPEND YACC_TARGET_cmdopt ${YACC_TARGET_extraopts})
ENDMACRO(YACC_TARGET_option_extraopts)
#============================================================
# YACC_TARGET (public macro)
#============================================================
#
MACRO(YACC_TARGET Name YaccInput YaccOutput)
SET(YACC_TARGET_output_header "")
SET(YACC_TARGET_command_opt "")
SET(YACC_TARGET_outputs "${YaccOutput}")
IF(NOT ${ARGC} EQUAL 3 AND NOT ${ARGC} EQUAL 5 AND NOT ${ARGC} EQUAL 7)
MESSAGE(SEND_ERROR "Usage")
ELSE()
# Parsing parameters
IF(${ARGC} GREATER 5 OR ${ARGC} EQUAL 5)
IF("${ARGV3}" STREQUAL "VERBOSE")
YACC_TARGET_option_verbose(${Name} ${YaccOutput} "${ARGV4}")
ENDIF()
IF("${ARGV3}" STREQUAL "COMPILE_FLAGS")
YACC_TARGET_option_extraopts("${ARGV4}")
ENDIF()
ENDIF()
IF(${ARGC} EQUAL 7)
IF("${ARGV5}" STREQUAL "VERBOSE")
YACC_TARGET_option_verbose(${Name} ${YaccOutput} "${ARGV6}")
ENDIF()
IF("${ARGV5}" STREQUAL "COMPILE_FLAGS")
YACC_TARGET_option_extraopts("${ARGV6}")
ENDIF()
ENDIF()
# Header's name generated by yacc (see option -d)
LIST(APPEND YACC_TARGET_cmdopt "-d")
STRING(REGEX REPLACE "^(.*)(\\.[^.]*)$" "\\2" _fileext "${ARGV2}")
STRING(REPLACE "c" "h" _fileext ${_fileext})
STRING(REGEX REPLACE "^(.*)(\\.[^.]*)$" "\\1${_fileext}"
YACC_${Name}_OUTPUT_HEADER "${ARGV2}")
LIST(APPEND YACC_TARGET_outputs "${YACC_${Name}_OUTPUT_HEADER}")
ADD_CUSTOM_COMMAND(OUTPUT ${YACC_TARGET_outputs}
${YACC_TARGET_extraoutputs}
COMMAND ${YACC_EXECUTABLE}
ARGS ${YACC_TARGET_cmdopt} -o ${ARGV2} ${ARGV1}
DEPENDS ${ARGV1}
COMMENT "[YACC][${Name}] Building parser with ${YACC_EXECUTABLE}"
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
# define target variables
SET(YACC_${Name}_DEFINED TRUE)
SET(YACC_${Name}_INPUT ${ARGV1})
SET(YACC_${Name}_OUTPUTS ${YACC_TARGET_outputs})
SET(YACC_${Name}_COMPILE_FLAGS ${YACC_TARGET_cmdopt})
SET(YACC_${Name}_OUTPUT_SOURCE "${YaccOutput}")
ENDIF(NOT ${ARGC} EQUAL 3 AND NOT ${ARGC} EQUAL 5 AND NOT ${ARGC} EQUAL 7)
ENDMACRO(YACC_TARGET)
#
#============================================================
ENDIF(YACC_EXECUTABLE)
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(YACC DEFAULT_MSG YACC_EXECUTABLE)
# FindYACC.cmake ends here
-81
View File
@@ -1,81 +0,0 @@
# Utility routines for managing generated files with CMake
macro(MD5 filename md5sum)
file(READ "${filename}" RAW_MD5_FILE)
string(REGEX REPLACE "\r" "" STRIPPED_MD5_FILE "${RAW_MD5_FILE}")
string(MD5 ${md5sum} "${STRIPPED_MD5_FILE}")
endmacro(MD5)
macro(FILEVAR filename var)
string(REGEX REPLACE "[^a-zA-Z0-9]" "_" ${var} ${filename})
endmacro(FILEVAR)
macro(VERIFY_FILES filelist warn resultvar)
set(${resultvar} 1)
foreach(fileitem ${filelist})
# Deal with absolute and relative paths a bit differently
get_filename_component(ITEM_ABS_PATH "${fileitem}" ABSOLUTE)
if("${fileitem}" STREQUAL "${ITEM_ABS_PATH}")
set(filefullname "${fileitem}")
else("${fileitem}" STREQUAL "${ITEM_ABS_PATH}")
set(filefullname "${CURRENT_SOURCE_DIR}/${fileitem}")
endif("${fileitem}" STREQUAL "${ITEM_ABS_PATH}")
get_filename_component(filename "${fileitem}" NAME)
# Got filename components sorted - proceed
if(NOT EXISTS ${filefullname})
message(FATAL_ERROR "Attempted to verify non-existant file ${filefullname}")
endif(NOT EXISTS ${filefullname})
FILEVAR(${filename} filevar)
if(NOT baseline_${filevar}_md5)
message(FATAL_ERROR "No baseline MD5 available for ${filename} - baseline_${filevar}_md5 is not defined")
endif(NOT baseline_${filevar}_md5)
MD5(${filefullname} ${filevar}_md5)
if(NOT "${${filevar}_md5}" STREQUAL "${baseline_${filevar}_md5}")
if("${warn}" STREQUAL "1")
message("\n${filename} differs from baseline: baseline md5 hash is ${baseline_${filevar}_md5} and current hash is ${${filevar}_md5}\n")
endif("${warn}" STREQUAL "1")
set(${resultvar} 0)
endif(NOT "${${filevar}_md5}" STREQUAL "${baseline_${filevar}_md5}")
endforeach(fileitem ${filelist})
endmacro(VERIFY_FILES filelist resultvar)
macro(WRITE_MD5_SUMS filelist outfile)
foreach(fileitem ${filelist})
# Deal with absolute and relative paths a bit differently
get_filename_component(ITEM_ABS_PATH "${fileitem}" ABSOLUTE)
if("${fileitem}" STREQUAL "${ITEM_ABS_PATH}")
set(filefullname "${fileitem}")
else("${fileitem}" STREQUAL "${ITEM_ABS_PATH}")
set(filefullname "${CURRENT_SOURCE_DIR}/${fileitem}")
endif("${fileitem}" STREQUAL "${ITEM_ABS_PATH}")
get_filename_component(filename "${fileitem}" NAME)
# Got filename components sorted - proceed
if(NOT EXISTS ${filefullname})
message(FATAL_ERROR "Attempted to get MD5 sum of non-existant file ${filefullname}")
endif(NOT EXISTS ${filefullname})
FILEVAR(${filename} filevar)
MD5(${filefullname} ${filevar}_md5)
file(APPEND ${outfile} "set(baseline_${filevar}_md5 ${${filevar}_md5})\n")
endforeach(fileitem ${filelist})
endmacro(WRITE_MD5_SUMS)
macro(GET_GENERATOR_EXEC_VERSIONS)
# Read lemon version
execute_process(COMMAND ${LEMON_EXECUTABLE} -x OUTPUT_VARIABLE lemon_version)
string(REPLACE "Lemon version " "" lemon_version "${lemon_version}")
string(STRIP "${lemon_version}" lemon_version)
# Read re2c version
execute_process(COMMAND ${RE2C_EXECUTABLE} -V OUTPUT_VARIABLE re2c_version)
string(STRIP "${re2c_version}" re2c_version)
# Read perplex version
execute_process(COMMAND ${PERPLEX_EXECUTABLE} -v OUTPUT_VARIABLE perplex_version)
string(STRIP "${perplex_version}" perplex_version)
endmacro(GET_GENERATOR_EXEC_VERSIONS)
# Local Variables:
# tab-width: 8
# mode: cmake
# indent-tabs-mode: t
# End:
# ex: shiftwidth=2 tabstop=8
-146
View File
@@ -1,146 +0,0 @@
# Defines the macro
# LEMON_TARGET(<Name> <LemonInput> <LemonSource> <LemonHeader>
# [<ArgString>])
# which will create a custom rule to generate a parser. <LemonInput> is
# the path to a lemon file. <LemonSource> is the desired name for the
# generated source file. <LemonHeader> is the desired name for the
# generated header which contains the token list. Anything in the optional
# <ArgString> parameter is appended to the lemon command line.
#
# ====================================================================
# Example:
#
# find_package(LEMON)
# LEMON_TARGET(MyParser parser.y parser.c parser.h)
# add_executable(Foo main.cpp ${LEMON_MyParser_OUTPUTS})
# ====================================================================
#
#=============================================================================
#
# Originally based off of FindBISON.cmake from Kitware's CMake distribution
#
# Copyright (c) 2010-2012 United States Government as represented by
# the U.S. Army Research Laboratory.
# Copyright 2009 Kitware, Inc.
# Copyright 2006 Tristan Carel
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# * The names of the authors may not be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#=============================================================================
#============================================================
# LEMON_TARGET (public macro)
#============================================================
#
macro(LEMON_TARGET Name LemonInput LemonSource LemonHeader)
if(NOT ${ARGC} EQUAL 4 AND NOT ${ARGC} EQUAL 5)
message(SEND_ERROR "Usage")
else()
get_filename_component(LemonInputFull ${LemonInput} ABSOLUTE)
get_filename_component(LemonSourceFull ${LemonSource} ABSOLUTE)
get_filename_component(LemonHeaderFull ${LemonHeader} ABSOLUTE)
if(NOT ${LemonInput} STREQUAL ${LemonInputFull})
set(LEMON_${Name}_INPUT "${CMAKE_CURRENT_BINARY_DIR}/${LemonInput}")
else(NOT ${LemonInput} STREQUAL ${LemonInputFull})
set(LEMON_${Name}_INPUT "${LemonInput}")
endif(NOT ${LemonInput} STREQUAL ${LemonInputFull})
if(NOT ${LemonSource} STREQUAL ${LemonSourceFull})
set(LEMON_${Name}_OUTPUT_SOURCE "${CMAKE_CURRENT_BINARY_DIR}/${LemonSource}")
else(NOT ${LemonSource} STREQUAL ${LemonSourceFull})
set(LEMON_${Name}_OUTPUT_SOURCE "${LemonSource}")
endif(NOT ${LemonSource} STREQUAL ${LemonSourceFull})
if(NOT ${LemonHeader} STREQUAL ${LemonHeaderFull})
set(LEMON_${Name}_OUTPUT_HEADER "${CMAKE_CURRENT_BINARY_DIR}/${LemonHeader}")
else(NOT ${LemonHeader} STREQUAL ${LemonHeaderFull})
set(LEMON_${Name}_OUTPUT_HEADER "${LemonHeader}")
endif(NOT ${LemonHeader} STREQUAL ${LemonHeaderFull})
set(LEMON_${Name}_EXTRA_ARGS "${ARGV4}")
# get input name minus path
get_filename_component(INPUT_NAME "${LemonInput}" NAME)
set(LEMON_BIN_INPUT ${CMAKE_CURRENT_BINARY_DIR}/${INPUT_NAME})
# names of lemon output files will be based on the name of the input file
string(REGEX REPLACE "^(.*)(\\.[^.]*)$" "\\1.c" LEMON_GEN_SOURCE "${INPUT_NAME}")
string(REGEX REPLACE "^(.*)(\\.[^.]*)$" "\\1.h" LEMON_GEN_HEADER "${INPUT_NAME}")
string(REGEX REPLACE "^(.*)(\\.[^.]*)$" "\\1.out" LEMON_GEN_OUT "${INPUT_NAME}")
# copy input to bin directory and run lemon
add_custom_command(
OUTPUT ${LEMON_GEN_OUT} ${LEMON_GEN_SOURCE} ${LEMON_GEN_HEADER}
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/${LemonInput} ${LEMON_BIN_INPUT}
COMMAND ${LEMON_EXECUTABLE} ${INPUT_NAME} ${LEMON_${Name}_EXTRA_ARGS}
DEPENDS ${LemonInput} ${LEMON_TEMPLATE} ${LEMON_EXECUTABLE_TARGET}
COMMENT "[LEMON][${Name}] Building parser with ${LEMON_EXECUTABLE}"
)
# rename generated outputs
if(NOT "${LemonSource}" STREQUAL "${LEMON_GEN_SOURCE}")
add_custom_command(
OUTPUT ${LemonSource}
COMMAND ${CMAKE_COMMAND} -E copy ${LEMON_GEN_SOURCE} ${LemonSource}
DEPENDS ${LemonInput} ${LEMON_EXECUTABLE_TARGET} ${LEMON_GEN_SOURCE}
)
set(LEMON_${Name}_OUTPUTS ${LemonSource} ${LEMON_${Name}_OUTPUTS})
endif(NOT "${LemonSource}" STREQUAL "${LEMON_GEN_SOURCE}")
if(NOT "${LemonHeader}" STREQUAL "${LEMON_GEN_HEADER}")
add_custom_command(
OUTPUT ${LemonHeader}
COMMAND ${CMAKE_COMMAND} -E copy ${LEMON_GEN_HEADER} ${LemonHeader}
DEPENDS ${LemonInput} ${LEMON_EXECUTABLE_TARGET} ${LEMON_GEN_HEADER}
)
set(LEMON_${Name}_OUTPUTS ${LemonHeader} ${LEMON_${Name}_OUTPUTS})
endif(NOT "${LemonHeader}" STREQUAL "${LEMON_GEN_HEADER}")
set(LEMON_${Name}_OUTPUTS ${LEMON_GEN_OUT} ${LemonSource} ${LemonHeader})
# make sure we clean up generated output and copied input
if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}")
set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES "${LEMON_${Name}_OUTPUTS}")
else("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}")
set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES "${LEMON_${Name}_OUTPUTS};${LEMON_BIN_INPUT}")
endif("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}")
# macro ran successfully
set(LEMON_${Name}_DEFINED TRUE)
endif(NOT ${ARGC} EQUAL 4 AND NOT ${ARGC} EQUAL 5)
endmacro(LEMON_TARGET)
#
#============================================================
# LEMON_Utils.cmake ends here
# Local Variables:
# tab-width: 8
# mode: cmake
# indent-tabs-mode: t
# End:
# ex: shiftwidth=2 tabstop=8
-134
View File
@@ -1,134 +0,0 @@
# Defines two macros - PERPLEX_TARGET, which takes perplex inputs and
# runs both perplex and re2c to generate C source code/headers, and
# ADD_PERPLEX_LEMON_DEPENDENCY which is used to set up dependencies between
# scanner and parser targets when necessary.
#
# #====================================================================
# Example:
#
# find_package(LEMON)
# find_package(RE2C)
# find_package(PERPLEX)
#
# LEMON_TARGET(MyParser parser.y ${CMAKE_CURRENT_BINARY_DIR}/parser.cpp
# PERPLEX_TARGET(MyScanner scanner.re ${CMAKE_CURRENT_BINARY_DIR}/scanner.cpp ${CMAKE_CURRENT_BINARY_DIR}/scanner_header.hpp)
# ADD_PERPLEX_LEMON_DEPENDENCY(MyScanner MyParser)
#
# include_directories(${CMAKE_CURRENT_BINARY_DIR})
# add_executable(Foo
# Foo.cc
# ${LEMON_MyParser_OUTPUTS}
# ${PERPLEX_MyScanner_OUTPUTS}
# )
# ====================================================================
#
#=============================================================================
#
# Originally based off of FindBISON.cmake from Kitware's CMake distribution
#
# Copyright (c) 2010-2012 United States Government as represented by
# the U.S. Army Research Laboratory.
# Copyright 2009 Kitware, Inc.
# Copyright 2006 Tristan Carel
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# * The names of the authors may not be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#=============================================================================
#============================================================
# PERPLEX_TARGET (public macro)
#============================================================
macro(PERPLEX_TARGET Name Input OutputSrc OutputHeader)
if(${ARGC} GREATER 4)
set(Template ${ARGV4})
else(${ARGC} GREATER 4)
if(PERPLEX_TEMPLATE)
set(Template ${PERPLEX_TEMPLATE})
else(PERPLEX_TEMPLATE)
message(FATAL_ERROR "\nNo Perplex template file specifed - please specify the file using the PERPLEX_TEMPLATE variable:\ncmake .. -DPERPLEX_TEMPLATE=/path/to/template_file.c\n")
endif(PERPLEX_TEMPLATE)
endif(${ARGC} GREATER 4)
get_filename_component(OutputName ${OutputSrc} NAME)
set(re2c_src "${CMAKE_CURRENT_BINARY_DIR}/${OutputName}.re")
add_custom_command(
OUTPUT ${re2c_src} ${OutputHeader}
COMMAND ${PERPLEX_EXECUTABLE} -c -o ${re2c_src} -i ${OutputHeader} -t ${Template} ${Input}
DEPENDS ${Input} ${Template} ${PERPLEX_EXECUTABLE_TARGET} ${RE2C_EXECUTABLE_TARGET}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
COMMENT "[PERPLEX][${Name}] Generating re2c input with ${PERPLEX_EXECUTABLE}"
)
if(NOT DEBUGGING_GENERATED_SOURCES)
add_custom_command(
OUTPUT ${OutputSrc}
COMMAND ${RE2C_EXECUTABLE} --no-debug-info --no-generation-date -c -o ${OutputSrc} ${re2c_src}
DEPENDS ${Input} ${re2c_src} ${OutputHeader} ${PERPLEX_EXECUTABLE_TARGET} ${RE2C_EXECUTABLE_TARGET}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
COMMENT "[RE2C][${Name}] Building scanner with ${RE2C_EXECUTABLE}"
)
else(NOT DEBUGGING_GENERATED_SOURCES)
add_custom_command(
OUTPUT ${OutputSrc}
COMMAND ${RE2C_EXECUTABLE} --no-generation-date -c -o ${OutputSrc} ${re2c_src}
DEPENDS ${Input} ${re2c_src} ${OutputHeader} ${PERPLEX_EXECUTABLE_TARGET} ${RE2C_EXECUTABLE_TARGET}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
COMMENT "[RE2C][${Name}] Building scanner with ${RE2C_EXECUTABLE}"
)
endif(NOT DEBUGGING_GENERATED_SOURCES)
set(PERPLEX_${Name}_DEFINED TRUE)
set(PERPLEX_${Name}_OUTPUTS ${OutputSrc})
set(PERPLEX_${Name}_INPUT ${Input})
endmacro(PERPLEX_TARGET)
#============================================================
# ADD_PERPLEX_LEMON_DEPENDENCY (public macro)
#============================================================
macro(ADD_PERPLEX_LEMON_DEPENDENCY PERPLEXTarget LemonTarget)
if(NOT PERPLEX_${PERPLEXTarget}_OUTPUTS)
message(SEND_ERROR "PERPLEX target `${PERPLEXTarget}' does not exists.")
endif()
if(NOT LEMON_${LemonTarget}_OUTPUT_HEADER)
message(SEND_ERROR "Lemon target `${LemonTarget}' does not exists.")
endif()
set_source_files_properties(${PERPLEX_${PERPLEXTarget}_OUTPUTS}
PROPERTIES OBJECT_DEPENDS ${LEMON_${LemonTarget}_OUTPUT_HEADER})
endmacro(ADD_PERPLEX_LEMON_DEPENDENCY)
#============================================================
# PERPLEX_Utils.cmake ends here
# Local Variables:
# tab-width: 8
# mode: cmake
# indent-tabs-mode: t
# End:
# ex: shiftwidth=2 tabstop=8
+75
View File
@@ -0,0 +1,75 @@
# Will need windows logic someday, even though it doesn't work yet, so go ahead
# and add the DLL_DEFINE macro
MACRO(DLL_DEFINE libname)
IF(MSVC)
STRING(REGEX REPLACE "lib" "" LOWERCORE "${libname}")
STRING(TOUPPER ${LOWERCORE} UPPER_CORE)
add_definitions("-D${UPPER_CORE}_EXPORT_DLL")
ENDIF(MSVC)
ENDMACRO()
MACRO(SCL_ADDEXEC execname srcs libs)
STRING(REGEX REPLACE " " ";" srcslist "${srcs}")
STRING(REGEX REPLACE " " ";" libslist "${libs}")
add_executable(${execname} ${srcslist})
target_link_libraries(${execname} ${libslist})
INSTALL(TARGETS ${execname} DESTINATION bin)
# Enable extra compiler flags if local executables and/or global options dictate
SET(LOCAL_COMPILE_FLAGS "")
FOREACH(extraarg ${ARGN})
IF(${extraarg} MATCHES "STRICT" AND SCL-ENABLE_STRICT)
SET(LOCAL_COMPILE_FLAGS "${LOCAL_COMPILE_FLAGS} ${STRICT_FLAGS}")
ENDIF(${extraarg} MATCHES "STRICT" AND SCL-ENABLE_STRICT)
ENDFOREACH(extraarg ${ARGN})
IF(LOCAL_COMPILE_FLAGS)
SET_TARGET_PROPERTIES(${execname} PROPERTIES COMPILE_FLAGS ${LOCAL_COMPILE_FLAGS})
ENDIF(LOCAL_COMPILE_FLAGS)
ENDMACRO(SCL_ADDEXEC execname srcs libs)
MACRO(SCL_ADDLIB libname srcs libs)
STRING(REGEX REPLACE " " ";" srcslist "${srcs}")
STRING(REGEX REPLACE " " ";" libslist1 "${libs}")
STRING(REGEX REPLACE "-framework;" "-framework " libslist "${libslist1}")
DLL_DEFINE(${libname})
IF(SCL_BUILD_SHARED_LIBS)
add_library(${libname} SHARED ${srcslist})
if(NOT ${libs} MATCHES "NONE")
target_link_libraries(${libname} ${libslist})
endif(NOT ${libs} MATCHES "NONE")
SET_TARGET_PROPERTIES(${libname} PROPERTIES VERSION ${SCL_ABI_VERSION} SOVERSION ${SCL_ABI_SOVERSION} )
INSTALL(TARGETS ${libname} DESTINATION lib)
ENDIF(SCL_BUILD_SHARED_LIBS)
IF(SCL_BUILD_STATIC_LIBS AND NOT MSVC)
add_library(${libname}-static STATIC ${srcslist})
if(NOT ${libs} MATCHES "NONE")
target_link_libraries(${libname}-static ${libslist})
endif(NOT ${libs} MATCHES "NONE")
IF(NOT WIN32)
SET_TARGET_PROPERTIES(${libname}-static PROPERTIES OUTPUT_NAME "${libname}")
ENDIF(NOT WIN32)
IF(WIN32)
# We need the lib prefix on win32, so add it even if our add_library
# wrapper function has removed it due to the target name - see
# http://www.cmake.org/Wiki/CMake_FAQ#How_do_I_make_my_shared_and_static_libraries_have_the_same_root_name.2C_but_different_suffixes.3F
SET_TARGET_PROPERTIES(${libname}-static PROPERTIES PREFIX "lib")
ENDIF(WIN32)
INSTALL(TARGETS ${libname}-static DESTINATION lib)
ENDIF(SCL_BUILD_STATIC_LIBS AND NOT MSVC)
# Enable extra compiler flags if local libraries and/or global options dictate
SET(LOCAL_COMPILE_FLAGS "")
FOREACH(extraarg ${ARGN})
IF(${extraarg} MATCHES "STRICT" AND SCL-ENABLE_STRICT)
SET(LOCAL_COMPILE_FLAGS "${LOCAL_COMPILE_FLAGS} ${STRICT_FLAGS}")
ENDIF(${extraarg} MATCHES "STRICT" AND SCL-ENABLE_STRICT)
ENDFOREACH(extraarg ${ARGN})
IF(LOCAL_COMPILE_FLAGS)
IF(BUILD_SHARED_LIBS)
SET_TARGET_PROPERTIES(${libname} PROPERTIES COMPILE_FLAGS ${LOCAL_COMPILE_FLAGS})
ENDIF(BUILD_SHARED_LIBS)
IF(BUILD_STATIC_LIBS AND NOT MSVC)
SET_TARGET_PROPERTIES(${libname}-static PROPERTIES COMPILE_FLAGS ${LOCAL_COMPILE_FLAGS})
ENDIF(BUILD_STATIC_LIBS AND NOT MSVC)
ENDIF(LOCAL_COMPILE_FLAGS)
ENDMACRO(SCL_ADDLIB libname srcs libs)
-138
View File
@@ -1,138 +0,0 @@
# set compile definitions for dll exports on windows
MACRO(DEFINE_DLL_EXPORTS libname)
IF( MSVC OR BORLAND )
if( ${libname} MATCHES "sdai_.*" )
set( export "SC_SCHEMA_DLL_EXPORTS" )
else()
STRING(REGEX REPLACE "lib" "" shortname "${libname}")
STRING(REGEX REPLACE "step" "" LOWERCORE "${shortname}")
STRING(TOUPPER ${LOWERCORE} UPPER_CORE)
set( export "SC_${UPPER_CORE}_DLL_EXPORTS" )
endif()
get_target_property(defs ${libname} COMPILE_DEFINITIONS )
if( defs ) #if no properties, ${defs} will be defs-NOTFOUND which CMake interprets as false
set( defs "${defs};${export}")
else( defs )
set( defs "${export}")
endif( defs )
set_target_properties(${libname} PROPERTIES COMPILE_DEFINITIONS "${defs}" )
ENDIF( MSVC OR BORLAND )
ENDMACRO(DEFINE_DLL_EXPORTS libname)
# set compile definitions for dll imports on windows
MACRO( DEFINE_DLL_IMPORTS tgt libs )
IF( MSVC OR BORLAND )
get_target_property(defs ${tgt} COMPILE_DEFINITIONS )
if( NOT defs ) #if no properties, ${defs} will be defs-NOTFOUND which CMake interprets as false
set( defs "")
endif( NOT defs )
foreach( lib ${libs} )
STRING(REGEX REPLACE "lib" "" shortname "${lib}")
STRING(REGEX REPLACE "step" "" LOWERCORE "${shortname}")
STRING(TOUPPER ${LOWERCORE} UPPER_CORE)
list( APPEND defs "SC_${UPPER_CORE}_DLL_IMPORTS" )
endforeach( lib ${libs} )
if( DEFINED defs )
if( defs )
set_target_properties( ${tgt} PROPERTIES COMPILE_DEFINITIONS "${defs}" )
endif( defs )
endif( DEFINED defs )
ENDIF( MSVC OR BORLAND )
ENDMACRO( DEFINE_DLL_IMPORTS tgt libs )
#EXCLUDE_OR_INSTALL(target destination ARGV3)
# installs ${target} in ${destination} unless testing is enabled AND ${arg_3} == "TESTABLE",
# in which case the EXCLUDE_FROM_ALL property is set for testing.
# EXCLUDE_FROM_ALL cannot be set on targets that are to be installed,
# so either test the target or install it - but not both
MACRO(EXCLUDE_OR_INSTALL target dest arg_3 )
if( NOT ( ( SC_ENABLE_TESTING ) AND ( "${arg_3}" STREQUAL "TESTABLE" ) ) )
INSTALL(TARGETS ${target} DESTINATION ${dest})
else( NOT ( ( SC_ENABLE_TESTING ) AND ( "${arg_3}" STREQUAL "TESTABLE" ) ) )
set_target_properties( ${target} PROPERTIES EXCLUDE_FROM_ALL ON )
endif( NOT ( ( SC_ENABLE_TESTING ) AND ( "${arg_3}" STREQUAL "TESTABLE" ) ) )
ENDMACRO(EXCLUDE_OR_INSTALL target dest arg_3 )
#SC_ADDEXEC( execname "source files" "linked libs" ["TESTABLE"] ["MSVC flag" ...])
# optional 4th argument of "TESTABLE", passed to EXCLUDE_OR_INSTALL macro
# optional args can also be used by MSVC-specific code, but it looks like these two uses
# will not conflict because the MSVC args must contain "STRICT"
MACRO(SC_ADDEXEC execname srcslist libslist)
add_executable(${execname} ${srcslist})
target_link_libraries(${execname} ${libslist})
DEFINE_DLL_IMPORTS(${execname} "${libslist}") #add import definitions for all libs that the executable is linked to
EXCLUDE_OR_INSTALL( ${execname} "bin" "${ARGV3}" )
# Enable extra compiler flags if local executables and/or global options dictate
SET(LOCAL_COMPILE_FLAGS "")
FOREACH(extraarg ${ARGN})
IF(${extraarg} MATCHES "STRICT" AND SC-ENABLE_STRICT)
SET(LOCAL_COMPILE_FLAGS "${LOCAL_COMPILE_FLAGS} ${STRICT_FLAGS}")
ENDIF(${extraarg} MATCHES "STRICT" AND SC-ENABLE_STRICT)
ENDFOREACH(extraarg ${ARGN})
IF(LOCAL_COMPILE_FLAGS)
SET_TARGET_PROPERTIES(${execname} PROPERTIES COMPILE_FLAGS ${LOCAL_COMPILE_FLAGS})
ENDIF(LOCAL_COMPILE_FLAGS)
ENDMACRO(SC_ADDEXEC execname srcslist libslist)
#SC_ADDLIB( libname "source files" "linked libs" ["TESTABLE"] ["MSVC flag" ...])
# optional 4th argument of "TESTABLE", passed to EXCLUDE_OR_INSTALL macro
# optional args can also be used by MSVC-specific code, but it looks like these two uses
# will not conflict because the MSVC args must contain "STRICT"
MACRO(SC_ADDLIB libname srcslist libslist)
STRING(REGEX REPLACE "-framework;" "-framework " libslist "${libslist1}")
IF(SC_BUILD_SHARED_LIBS)
add_library(${libname} SHARED ${srcslist})
DEFINE_DLL_EXPORTS(${libname})
if(NOT "${libs}" MATCHES "NONE")
target_link_libraries(${libname} ${libslist})
DEFINE_DLL_IMPORTS(${libname} "${libslist}" )
endif(NOT "${libs}" MATCHES "NONE")
SET_TARGET_PROPERTIES(${libname} PROPERTIES VERSION ${SC_ABI_VERSION} SOVERSION ${SC_ABI_SOVERSION} )
EXCLUDE_OR_INSTALL( ${libname} "lib" "${ARGV3}" )
if(APPLE)
set_target_properties(${libname} PROPERTIES LINK_FLAGS "-flat_namespace -undefined suppress")
endif(APPLE)
ENDIF(SC_BUILD_SHARED_LIBS)
IF(SC_BUILD_STATIC_LIBS AND NOT MSVC)
if( NOT SC_BUILD_SHARED_LIBS )
set( staticlibname "${libname}" )
else()
set( staticlibname "${libname}-static" )
endif( NOT SC_BUILD_SHARED_LIBS )
add_library(${staticlibname} STATIC ${srcslist})
DEFINE_DLL_EXPORTS(${staticlibname})
if(NOT ${libs} MATCHES "NONE")
target_link_libraries(${staticlibname} "${libslist}")
DEFINE_DLL_IMPORTS(${staticlibname} ${libslist} )
endif(NOT ${libs} MATCHES "NONE")
IF(NOT WIN32)
SET_TARGET_PROPERTIES(${staticlibname} PROPERTIES OUTPUT_NAME "${libname}")
ENDIF(NOT WIN32)
IF(WIN32)
# We need the lib prefix on win32, so add it even if our add_library
# wrapper function has removed it due to the target name - see
# http://www.cmake.org/Wiki/CMake_FAQ#How_do_I_make_my_shared_and_static_libraries_have_the_same_root_name.2C_but_different_suffixes.3F
SET_TARGET_PROPERTIES(${staticlibname} PROPERTIES PREFIX "lib")
ENDIF(WIN32)
EXCLUDE_OR_INSTALL( ${staticlibname} "lib" "${ARGV3}" )
if(APPLE)
set_target_properties(${staticlibname} PROPERTIES LINK_FLAGS "-flat_namespace -undefined suppress")
endif(APPLE)
ENDIF(SC_BUILD_STATIC_LIBS AND NOT MSVC)
# Enable extra compiler flags if local libraries and/or global options dictate
SET(LOCAL_COMPILE_FLAGS "")
FOREACH(extraarg ${ARGN})
IF(${extraarg} MATCHES "STRICT" AND SC-ENABLE_STRICT)
SET(LOCAL_COMPILE_FLAGS "${LOCAL_COMPILE_FLAGS} ${STRICT_FLAGS}")
ENDIF(${extraarg} MATCHES "STRICT" AND SC-ENABLE_STRICT)
ENDFOREACH(extraarg ${ARGN})
IF(LOCAL_COMPILE_FLAGS)
IF(BUILD_SHARED_LIBS)
SET_TARGET_PROPERTIES(${libname} PROPERTIES COMPILE_FLAGS ${LOCAL_COMPILE_FLAGS})
ENDIF(BUILD_SHARED_LIBS)
IF(BUILD_STATIC_LIBS AND NOT MSVC)
SET_TARGET_PROPERTIES(${staticlibname} PROPERTIES COMPILE_FLAGS ${LOCAL_COMPILE_FLAGS})
ENDIF(BUILD_STATIC_LIBS AND NOT MSVC)
ENDIF(LOCAL_COMPILE_FLAGS)
ENDMACRO(SC_ADDLIB libname srcslist libslist)
-102
View File
@@ -1,102 +0,0 @@
# Inherit the parent CMake setting
set(CURRENT_SOURCE_DIR "@CMAKE_CURRENT_SOURCE_DIR@")
set(LEMON_EXECUTABLE "@LEMON_EXECUTABLE@")
set(RE2C_EXECUTABLE "@RE2C_EXECUTABLE@")
set(PERPLEX_EXECUTABLE "@PERPLEX_EXECUTABLE@")
set(SYNC_SCRIPT "@SYNC_SCRIPT@")
set(SYNC_TARGET_NAME "@SYNC_TARGET_NAME@")
set(DEBUGGING_GENERATED_SOURCES "@DEBUGGING_GENERATED_SOURCES@")
if(NOT DEBUGGING_GENERATED_SOURCES)
# Include the file the provides the baseline against which
# current files will be compared
include("@BASELINE_INFORMATION_FILE@")
# Define a variety of convenience routines
include("@PROJECT_CMAKE_DIR@/Generated_Source_Utils.cmake")
# The following need to be checked:
#
# 1. baseline input MD5 hashes against the current input
# hashes. If the cached sources were generated using
# inputs other than the current inputs, note they are
# out of sync but don't stop. Templates used by perplex
# and lemon are part of this group.
#
# 2. baseline cached source MD5 hashes against current
# cached source MD5 hashes. Making sure no changes
# have been made to the generated sources. If the
# cached sources need to be updated (see #1, for example)
# their MD5 hashes need to be updated at the same time.
#
# 3. MD5 hashes of output generated by the tools against
# the MD5 hashes of the equalivent cached sources, if
# a) the tool versions are the same b) the input MD5
# hash comparisions were the same and c) the baseline
# test from #2 passed. This is done to detect platform
# differences in output sources, but is only valid if
# the input files are in their "pristine" state and the
# toolchain is equalivent to that used for the baseline.
# Individually verify all of the files in question.
set(input_files "@INPUT_FILELIST@")
VERIFY_FILES("${input_files}" 0 input_unchanged)
set(template_files "@TEMPLATE_FILELIST@")
VERIFY_FILES("${template_files}" 1 templates_unchanged)
set(cached_files "@CACHED_FILELIST@")
VERIFY_FILES("${cached_files}" 1 cached_unchanged)
if(cached_unchanged)
message( "Cached generated source code has not been modified.")
else()
message(FATAL_ERROR "Cached generated sources do not match the MD5 hashes present in /home/mark/step/sc/src/express/generated/verification_info.cmake - if updating cached sources, remember that the build enforces the requirement that associated MD5 hashes in /home/mark/step/sc/src/express/generated/verification_info.cmake are current as well. Cached generated sources should not be directly edited.")
endif(cached_unchanged)
GET_GENERATOR_EXEC_VERSIONS()
if("${lemon_version}" VERSION_EQUAL "${baseline_lemon_version}" AND "${perplex_version}" VERSION_EQUAL "${baseline_perplex_version}" AND "${re2c_version}" VERSION_EQUAL "${baseline_re2c_version}")
set(tool_versions_equal 1)
else()
set(tool_versions_equal 0)
endif()
if(NOT input_unchanged)
if(templates_unchanged AND tool_versions_equal)
message("Input files changed - syncing cached outputs")
execute_process(COMMAND ${CMAKE_COMMAND} -P ${SYNC_SCRIPT} OUTPUT_VARIABLE output)
else(templates_unchanged AND tool_versions_equal)
if(NOT templates_unchanged AND NOT tool_versions_equal)
message("Input files have been updated, but templates and current tool versions do not match those previously used to generate cached sources. Automatic syncing will not proceed.")
message("To force syncing, use the build target ${SYNC_TARGET_NAME}")
else(NOT templates_unchanged AND NOT tool_versions_equal)
if(NOT templates_unchanged)
message("Input files have been updated, but templates do not match those previously used to generate cached sources. Automatic syncing will not proceed.")
message("To force syncing, use the build target ${SYNC_TARGET_NAME}")
endif(NOT templates_unchanged)
if(NOT tool_versions_equal)
message("Input files have been updated, but tool versions do not match those previously used to generate cached sources. Automatic syncing will not proceed.")
message("To force syncing, use the build target ${SYNC_TARGET_NAME}")
endif(NOT tool_versions_equal)
endif(NOT templates_unchanged AND NOT tool_versions_equal)
endif(templates_unchanged AND tool_versions_equal)
else(NOT input_unchanged)
if(templates_unchanged AND cached_unchanged AND tool_versions_equal)
# Under these conditions, the uncached generated output should be equal to the cached files.
# Check if it is - a difference here may indicate a platform-specific behavior in one of the
# generators.
set(build_files "@BUILD_OUTPUT_FILELIST@")
VERIFY_FILES("${build_files}" 1 platform_unchanged)
if(NOT platform_unchanged)
message("Note: give these build inputs and tools, source files should be identical to generated files. Differences were still observed - possible indiciation of platform-specific generator behavior.")
endif(NOT platform_unchanged)
endif(templates_unchanged AND cached_unchanged AND tool_versions_equal)
endif(NOT input_unchanged)
else(NOT DEBUGGING_GENERATED_SOURCES)
message("\nNote: DEBUGGING_GENERATED_SOURCES is enabled - generated outputs will contain configuration-specific debugging information, so syncing cached output files is not possible. To restore normal behavior, disable DEBUGGING_GENERATED_SOURCES.\n")
endif(NOT DEBUGGING_GENERATED_SOURCES)
# Local Variables:
# tab-width: 8
# mode: cmake
# indent-tabs-mode: t
# End:
# ex: shiftwidth=2 tabstop=8
-80
View File
@@ -1,80 +0,0 @@
# creates sc_version_string.h, which defines sc_version()
# sc_version() returns a pretty commit description and a build timestamp.
# http://stackoverflow.com/questions/3780667
# http://www.cmake.org/pipermail/cmake/2009-February/027014.html
set(SC_IS_SUBBUILD "@SC_IS_SUBBUILD@")
#---------- find commit id ------------------
#use git for a pretty commit id
#uses 'git describe --tags', so tags are required in the repo
#create a tag with 'git tag <name>' and 'git push --tags'
#if git can't be found, uses contents of SC_VERSION.txt
set(VERS_FILE ${SOURCE_DIR}/SC_VERSION.txt )
if( EXISTS ${SOURCE_DIR}/.git )
find_package(Git QUIET)
if(GIT_FOUND)
execute_process(COMMAND ${GIT_EXECUTABLE} describe --tags WORKING_DIRECTORY ${SOURCE_DIR}
RESULT_VARIABLE res_var OUTPUT_VARIABLE GIT_COMMIT_ID )
if( NOT ${res_var} EQUAL 0 )
file( READ ${VERS_FILE} GIT_COMMIT_ID LIMIT 255 )
if(NOT SC_IS_SUBBUILD)
message( WARNING "Git failed (probably no tags in repo). Build will contain revision info from ${VERS_FILE}." )
endif(NOT SC_IS_SUBBUILD)
endif()
else(GIT_FOUND)
file( READ ${VERS_FILE} GIT_COMMIT_ID LIMIT 255 )
if(NOT SC_IS_SUBBUILD)
message( WARNING "Git not found. Build will contain revision info from ${VERS_FILE}." )
endif(NOT SC_IS_SUBBUILD)
endif(GIT_FOUND)
else()
file( READ ${VERS_FILE} GIT_COMMIT_ID LIMIT 255 )
if(NOT SC_IS_SUBBUILD)
message( WARNING "Git failed ('.git' not found). Build will contain revision info from ${VERS_FILE}." )
endif(NOT SC_IS_SUBBUILD)
endif()
string( REPLACE "\n" "" GIT_COMMIT_ID ${GIT_COMMIT_ID} )
#-------------- date and time ---------------
#once cmake_minimum_required is >= 2.8.11, we can use TIMESTAMP:
#string( TIMESTAMP date_time_string )
if( UNIX )
execute_process( COMMAND date "+%d %b %Y %H:%M" OUTPUT_VARIABLE date_time_string OUTPUT_STRIP_TRAILING_WHITESPACE )
elseif( WIN32 )
execute_process( COMMAND cmd /c date /t OUTPUT_VARIABLE currentDate OUTPUT_STRIP_TRAILING_WHITESPACE )
execute_process( COMMAND cmd /c time /t OUTPUT_VARIABLE currentTime OUTPUT_STRIP_TRAILING_WHITESPACE )
set ( date_time_string "${currentDate} ${currentTime}" )
else()
set( date_time_string "\" __DATE__ \" \" __TIME__ \" " )
if( NOT SC_IS_SUBBUILD )
message( STATUS "Unknown platform - using date from preprocessor" )
endif( NOT SC_IS_SUBBUILD )
endif()
set( header_string "/* sc_version_string.h - written by cmake. Changes will be lost! */\n"
"#ifndef SC_VERSION_STRING\n"
"#define SC_VERSION_STRING\n\n"
"/*\n** The git commit id looks like \"test-1-g5e1fb47\", where test is the\n"
"** name of the last tagged git revision, 1 is the number of commits since that tag,\n"
"** 'g' is unknown, and 5e1fb47 is the first 7 chars of the git sha1 commit id.\n"
"** timestamp is created from date/time commands on known platforms, and uses\n"
"** preprocessor macros elsewhere.\n*/\n\n"
"static char sc_version[512] = {\n"
" \"git commit id: ${GIT_COMMIT_ID}, build timestamp ${date_time_string}\"\n"
"}\;\n\n"
"#endif\n"
)
file(WRITE sc_version_string.h.txt ${header_string} )
# copy the file to the final header only if the version changes
# reduces needless rebuilds
execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different
sc_version_string.h.txt ${BINARY_DIR}/include/sc_version_string.h)
if(NOT SC_IS_SUBBUILD)
message("-- sc_version_string.h is up-to-date.")
endif(NOT SC_IS_SUBBUILD)
+58
View File
@@ -0,0 +1,58 @@
#use git for a pretty commit id
#uses 'git describe --tags', so tags are required in the repo
#create a tag with 'git tag <name>' and 'git push --tags'
# http://stackoverflow.com/questions/3780667
# http://www.cmake.org/pipermail/cmake/2009-February/027014.html
#scl_version_string.h defines scl_version() which returns a pretty commit description and a build timestamp.
set(SCL_IS_SUBBUILD "@SCL_IS_SUBBUILD@")
set(VERS_FILE ${SOURCE_DIR}/SCL_VERSION.txt )
if( EXISTS ${SOURCE_DIR}/.git )
find_package(Git QUIET)
if(GIT_FOUND)
execute_process(COMMAND ${GIT_EXECUTABLE} describe --tags RESULT_VARIABLE res_var OUTPUT_VARIABLE GIT_COMMIT_ID )
if( NOT ${res_var} EQUAL 0 )
file( READ ${VERS_FILE} GIT_COMMIT_ID LIMIT 255 )
if(NOT SCL_IS_SUBBUILD)
message( WARNING "Git failed (probably no tags in repo). Build will contain revision info from ${VERS_FILE}." )
endif(NOT SCL_IS_SUBBUILD)
endif()
else(GIT_FOUND)
file( READ ${VERS_FILE} GIT_COMMIT_ID LIMIT 255 )
if(NOT SCL_IS_SUBBUILD)
message( WARNING "Git not found. Build will contain revision info from ${VERS_FILE}." )
endif(NOT SCL_IS_SUBBUILD)
endif(GIT_FOUND)
else()
file( READ ${VERS_FILE} GIT_COMMIT_ID LIMIT 255 )
if(NOT SCL_IS_SUBBUILD)
message( WARNING "Git failed ('.git' not found). Build will contain revision info from ${VERS_FILE}." )
endif(NOT SCL_IS_SUBBUILD)
endif()
string( REPLACE "\n" "" GIT_COMMIT_ID ${GIT_COMMIT_ID} )
set( vstring "//scl_version_string.h - written by cmake. Changes will be lost!\n"
"#ifndef SCL_VERSION_STRING\n"
"#define SCL_VERSION_STRING\n\n"
"/*\n** Returns a string like \"test-1-g5e1fb47, built at TIME on DATE\", where test is the\n"
"** name of the last tagged git revision, 1 is the number of commits since that tag,\n"
"** 'g' is unknown, 5e1fb47 is the first 7 chars of the git sha1 commit id, and TIME\n"
"** and DATE are substituted by the compiler.\n*/\n\n"
"const char* scl_version() {\n"
" return \"git commit id ${GIT_COMMIT_ID}, built at \"__TIME__\" on \"__DATE__\;\n"
"}\n\n"
"#endif\n"
)
file(WRITE scl_version_string.h.txt ${vstring} )
# copy the file to the final header only if the version changes
# reduces needless rebuilds
execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different
scl_version_string.h.txt ${BINARY_DIR}/include/scl_version_string.h)
if(NOT SCL_IS_SUBBUILD)
message("-- scl_version_string.h is up-to-date.")
endif(NOT SCL_IS_SUBBUILD)
-83
View File
@@ -1,83 +0,0 @@
# Inherit the parent CMake setting
set(CURRENT_SOURCE_DIR @CMAKE_CURRENT_SOURCE_DIR@)
set(CURRENT_BINARY_DIR @CMAKE_CURRENT_BINARY_DIR@)
set(CACHED_FILES_DIR @CACHED_FILES_DIR@)
set(LEMON_EXECUTABLE @LEMON_EXECUTABLE@)
set(RE2C_EXECUTABLE @RE2C_EXECUTABLE@)
set(PERPLEX_EXECUTABLE @PERPLEX_EXECUTABLE@)
set(LOCKED_SOURCE_DIR @LOCKED_SOURCE_DIR@)
set(DEBUGGING_GENERATED_SOURCES @DEBUGGING_GENERATED_SOURCES@)
if(NOT DEBUGGING_GENERATED_SOURCES)
# Define a variety of convenience routines
include(@PROJECT_CMAKE_DIR@/Generated_Source_Utils.cmake)
# The following steps are executed to sync generated sources:
#
# 1. Create a new verification_info.cmake file and populate
# it with the current versions of perplex, re2c and lemon.
# Also add the MD5 sums for current template files.
#
# 2. For all files that need to be updated in the cache,
# calculate new MD5 sums and add them to the new
# verification_info.cmake - this is usually the input
# files and the generated outputs.
#
# 3. Overwrite the original cached verification_info.cmake
# and generated files with the new ones. If LOCKED_SOURCE_DIR
# is ON, this step will not be carried out - instead, an
# informational message with manual updating instructions
# will be printed.
set(new_info_file "${CURRENT_BINARY_DIR}/verification_info.cmake.new")
file(WRITE ${new_info_file} "# Autogenerated verification information\n")
# Handle generator version numbers
GET_GENERATOR_EXEC_VERSIONS()
file(APPEND ${new_info_file} "set(baseline_lemon_version \"${lemon_version}\")\n")
file(APPEND ${new_info_file} "set(baseline_re2c_version \"${re2c_version}\")\n")
file(APPEND ${new_info_file} "set(baseline_perplex_version \"${perplex_version}\")\n")
# Handle template files
set(template_files "@TEMPLATE_FILELIST@")
WRITE_MD5_SUMS("${template_files}" "${new_info_file}")
# Handle input files
set(input_files "@INPUT_FILELIST@")
WRITE_MD5_SUMS("${input_files}" "${new_info_file}")
# Handle generated files
set(output_files "@BUILD_OUTPUT_FILELIST@")
WRITE_MD5_SUMS("${output_files}" "${new_info_file}")
# Copy files into their final locations
if(NOT LOCKED_SOURCE_DIR)
configure_file(${new_info_file} "${CACHED_FILES_DIR}/verification_info.cmake" COPYONLY)
foreach(outf ${output_files})
get_filename_component(filecorename ${outf} NAME)
message("copying ${outf} to ${CACHED_FILES_DIR}/${filecorename}")
configure_file(${outf} "${CACHED_FILES_DIR}/${filecorename}" COPYONLY)
endforeach(outf ${output_files})
else(NOT LOCKED_SOURCE_DIR)
message("Source directory writing is locked - LOCKED_SOURCE_DIR is set.")
message("To update the generated files, manually copy the following to ${CACHED_FILES_DIR}:")
message(" ${new_info_file} (rename to verification_info.cmake)")
foreach(outf ${output_files})
message(" ${outf}")
endforeach(outf ${output_files})
endif(NOT LOCKED_SOURCE_DIR)
else (NOT DEBUGGING_GENERATED_SOURCES)
message("\nNote: DEBUGGING_GENERATED_SOURCES is enabled - generated outputs will contain configuration-specific debugging information, so syncing cached output files is not possible. To restore normal behavior, disable DEBUGGING_GENERATED_SOURCES.\n")
endif(NOT DEBUGGING_GENERATED_SOURCES)
# Local Variables:
# tab-width: 8
# mode: cmake
# indent-tabs-mode: t
# End:
# ex: shiftwidth=2 tabstop=8
-39
View File
@@ -1,39 +0,0 @@
# Inherit the parent CMake setting
set(DEBUGGING_GENERATED_SOURCES @DEBUGGING_GENERATED_SOURCES@)
set(CURRENT_SOURCE_DIR @CMAKE_CURRENT_SOURCE_DIR@)
# Include the file the provides the baseline against which
# current files will be compared
if(NOT DEBUGGING_GENERATED_SOURCES)
include(@BASELINE_INFORMATION_FILE@)
# Define a variety of convenience routines
include(@PROJECT_CMAKE_DIR@/Generated_Source_Utils.cmake)
# Individually verify all of the files in question.
set(filelist "@CACHED_FILELIST@")
VERIFY_FILES("${filelist}" 1 srcs_pass)
if( srcs_pass)
message( "Generated source code has not been modified.")
else(srcs_pass)
message(FATAL_ERROR "Generated sources have been modified. These files should never be modified directly except when debugging faulty output from the generators - changes to lexer and parser logic should be made to the generator input files. If this is a debugging situation, set the variable DEBUGGING_GENERATED_SOURCES to ON during the CMake configure.")
endif(srcs_pass)
# If we got by that test, see if it looks like these
# sources came from the current input files. It's not
# a failure condition if they didn't, but warn about it.
set(filelist "@INPUT_FILELIST@")
VERIFY_FILES("${filelist}" 0 inputs_same)
if(NOT inputs_same)
message("Note: cached generated sources are not in sync with input files.")
endif(NOT inputs_same)
endif(NOT DEBUGGING_GENERATED_SOURCES)
# Local Variables:
# tab-width: 8
# mode: cmake
# indent-tabs-mode: t
# End:
# ex: shiftwidth=2 tabstop=8
+3 -3
View File
@@ -8,14 +8,14 @@ set( CTEST_MEMORYCHECK_COMMAND /usr/bin/valgrind )
set( CTEST_INITIAL_CACHE "
SITE:STRING=${CTEST_SITE}
BUILDNAME:STRING=${CTEST_BUILD_NAME}
SC_ENABLE_TESTING:BOOL=ON
SC_BUILD_TYPE:STRING=Debug
SCL_ENABLE_TESTING:BOOL=ON
SCL_BUILD_TYPE:STRING=Debug
")
ctest_start(matrix)
ctest_empty_binary_directory(${CTEST_BINARY_DIRECTORY})
ctest_configure( BUILD "${CTEST_BINARY_DIRECTORY}" OPTIONS -DSC_ENABLE_TESTING=ON )
ctest_configure( BUILD "${CTEST_BINARY_DIRECTORY}" OPTIONS -DSCL_ENABLE_TESTING=ON )
ctest_build( BUILD "${CTEST_BINARY_DIRECTORY}" )
message("running tests")
ctest_test( BUILD "${CTEST_BINARY_DIRECTORY}" INCLUDE_LABEL "cpp_schema_....*" )
File diff suppressed because it is too large Load Diff
+22
View File
@@ -0,0 +1,22 @@
data/ap203/README
The EXPRESS schema in this directory is based on ISO 10303-203, an
international standard which is copyrighted by ISO. ISO has granted
NIST permission to publicly distribute the EXPRESS source from ISO
standards. The EXPRESS schema provided in this software release has
been modified to facilitate its use with this software and is provided
as an example schema only. This disclaimer must be included in any
redistribution of the EXPRESS schema. This disclaimer must also be
included in the file containing the EXPRESS schema.
The EXPRESS source for the modified AP 203 schema contained in the
file 203wseds.exp has modifications to it from the standard based on
Standard Enhancement and Discrepancy System (SEDS) reports. SEDS
reports are an informal way for ISO TC 184/SC4 to document errors,
ambiguities, and enhancements to the standard; and to recommend
corrections for formal adoption via a technical corrigendum,
amendment, or revision.
The data files in this directory were developed by ITI as part of the
STEP conformance testing project. The files contain data that conform
to the modified AP203 schema.
+227
View File
@@ -0,0 +1,227 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('STEP conformance test data','AP203 class 2 - ntsw'),'1');
FILE_NAME('cube1.p21','1994-12-14 T10:00:00',
('S. Dhar','S. Jetli','M. McFarland','J. Kindrick'),
('Industrial Technology Institute',
'P.O. Box 1485',
'Ann Arbor',
'Michigan',
'48106'),'NIST Data Probe, Release March 1993','conformance test suite','K. H. Muralidhar');
FILE_SCHEMA(('CONFIG_CONTROL_DESIGN'));
ENDSEC;
DATA;
#1=PRODUCT('41114','Solid Cube','Description for part 41114',(#2));
#2=MECHANICAL_CONTEXT('detailed design',#3,'mechanical');
#3333=APPLICATION_PROTOCOL_DEFINITION('status_str','config_control_design',1990,#3);
#3=APPLICATION_CONTEXT('Control the configuration of three dimensional design');
#4=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#5,#8,(#1));
#5=PERSON_AND_ORGANIZATION(#6,#7);
#6=PERSON('307-10-5806','Muralidhar','K.',('H.'),$,('PhD.'));
#1097=PERSONAL_ADDRESS($,'17147','New Hamburg Road',$,'Whitmore Lake','Michigan','48189','USA',$,'(313) 769-4306',$,$,(#6));
#7=ORGANIZATION('ITI-Michigan','Industrial Technology Institute','Anot-for-profit engineering and research center');
#8=PERSON_AND_ORGANIZATION_ROLE('design_owner');
#2101=PRODUCT_CATEGORY_RELATIONSHIP('root-to-standard','Relate the root to the standard product category',#1098,#1109);
#1109=PRODUCT_CATEGORY('standard_part','Identifies this as a standard part') ;
#1101=PRODUCT_CATEGORY_RELATIONSHIP('standard-to-detail','Relate the standard to the detail product category',#1109,#9);
#9=PRODUCT_RELATED_PRODUCT_CATEGORY('machined','Part Type for product 41114',(#1));
#1098=PRODUCT_CATEGORY('mechanical','mechanical product category: root node');
#1099=PRODUCT_CATEGORY_RELATIONSHIP('root-to-structural','Relates the root to the structural category',#1098,#1100);
#1100=PRODUCT_CATEGORY('structural','The structural product category');
#1110=PRODUCT_CATEGORY_RELATIONSHIP('structural-to-machined', 'Relates the structural to the machined category',#1100,#1102) ;
#1102=PRODUCT_RELATED_PRODUCT_CATEGORY('assembly','The machined product category',(#1));
#10=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('A','Description of version with specified source for part 41114',#1,.BOUGHT.);
#11=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#13,#15,(#10));
#13=PERSON_AND_ORGANIZATION(#14,#7);
#14=PERSON('302-30-6149','Quadir','Nur',$,$,$);
#15=PERSON_AND_ORGANIZATION_ROLE('creator');
#44=CC_DESIGN_APPROVAL(#45,(#10));
#45=APPROVAL(#46,'Approved as initial STEP test case part');
#46=APPROVAL_STATUS('approved');
#47=APPROVAL_DATE_TIME(#48,#45);
#48=DATE_AND_TIME(#50,#51);
#50=CALENDAR_DATE(1993,17,7);
#51=LOCAL_TIME(13,29,52.0,#29);
#69=APPROVAL_PERSON_ORGANIZATION(#70,#45,#72);
#70=PERSON_AND_ORGANIZATION(#71,#7);
#71=PERSON('574-20-7069','Kindrick','James',$,$,$);
#72=APPROVAL_ROLE('Authorize part release');
#31=CC_DESIGN_SECURITY_CLASSIFICATION(#32,(#10));
#32=SECURITY_CLASSIFICATION('1993-C1','open availability of STEP test data',#33);
#33=SECURITY_CLASSIFICATION_LEVEL('unclassified');
#34=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#35,#39,(#32));
#35=DATE_AND_TIME(#36,#37);
#36=CALENDAR_DATE(1993,17,7);
#37=LOCAL_TIME(13,$,$,#29);
#39=DATE_TIME_ROLE('classification_date');
#40=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#41,#43,(#32));
#41=PERSON_AND_ORGANIZATION(#42,#7);
#42=PERSON('412-89-3456','Dhar','Shantanu',$,('Mr.'),$);
#43=PERSON_AND_ORGANIZATION_ROLE('classification_officer');
#53=CC_DESIGN_APPROVAL(#54,(#32));
#54=APPROVAL(#55,'Approved as unclassified step test data');
#55=APPROVAL_STATUS('approved');
#56=APPROVAL_DATE_TIME(#57,#54);
#57=DATE_AND_TIME(#58,#59);
#58=CALENDAR_DATE(1993,17,7);
#59=LOCAL_TIME(13,47,28.0,#29);
#73=APPROVAL_PERSON_ORGANIZATION(#74,#54,#76);
#74=PERSON_AND_ORGANIZATION(#75,#7);
#75=PERSON('525-94-5792','Matthews','Robert',('S.'),$,$);
#76=APPROVAL_ROLE('Authorize the security code');
#17=PRODUCT_DEFINITION('D1','Detailed drawing as planned for conformance testing',#10,#18);
#18=DESIGN_CONTEXT('detailed design',#3,'design');
#19=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#13,#23,(#17));
#23=PERSON_AND_ORGANIZATION_ROLE('creator');
#24=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#25,#30,(#17));
#25=DATE_AND_TIME(#27,#28);
#27=CALENDAR_DATE(1993,19,7);
#28=LOCAL_TIME(19,46,55.0,#29);
#29=COORDINATED_UNIVERSAL_TIME_OFFSET(8,$,.BEHIND.);
#30=DATE_TIME_ROLE('creation_date');
#61=CC_DESIGN_APPROVAL(#62,(#17));
#62=APPROVAL(#63,'Approved as STEP conformance testing drawing');
#63=APPROVAL_STATUS('approved');
#64=APPROVAL_DATE_TIME(#65,#62);
#65=DATE_AND_TIME(#66,#67);
#66=CALENDAR_DATE(1993,19,7);
#67=LOCAL_TIME(19,47,51.0,#29);
#77=APPROVAL_PERSON_ORGANIZATION(#70,#62,#79);
#79=APPROVAL_ROLE('Authorize product definition');
#80=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#81,#84,(#10,#1010));
#81=PERSON_AND_ORGANIZATION(#82,#83);
#82=PERSON('CDI-2','Dwaraka','B.',('K.'),$,$);
#83=ORGANIZATION('CDI','Contract Design, Inc.','Contract engineering organization');
#1096=ORGANIZATIONAL_ADDRESS($,'2901','Hubbard','P.O. Box 1485','Ann Arbor','Michigan','48106','USA','(313) 769-4069','(313) 769-4000',$,$,(#83));
#84=PERSON_AND_ORGANIZATION_ROLE('design_supplier');
#88=SUPPLIED_PART_RELATIONSHIP('design','design supplier','The supplier provides detailed designs',#17,#1017);
#85=CC_DESIGN_CERTIFICATION(#86,(#88));
#86=CERTIFICATION('ISO-9000 certified design supplier','quality control',#87);
#87=CERTIFICATION_TYPE('design_supplier');
#89=CC_DESIGN_APPROVAL(#90,(#86));
#90=APPROVAL(#91,'Approved as ISO-9000 certified supplier');
#91=APPROVAL_STATUS('approved');
#92=APPROVAL_PERSON_ORGANIZATION(#70,#90,#93);
#93=APPROVAL_ROLE('Authorize supplier certification');
#94=DATE_AND_TIME(#95,#96);
#95=CALENDAR_DATE(1993,20,4);
#96=LOCAL_TIME(15,47,51.0,#29);
#97=APPROVAL_DATE_TIME(#94,#90);
#98=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#100,#102,(#86));
#99=CALENDAR_DATE(1993,19,4);
#100=DATE_AND_TIME(#99,#101);
#101=LOCAL_TIME(10,41,59.0,#29);
#102=DATE_TIME_ROLE('certification_date');
#1103=PRODUCT('12345','Cube Solid','CDI''s part 12345 description',(#2));
#2009=PRODUCT_RELATED_PRODUCT_CATEGORY('customer_furnished_equipment','Part Type for product 12345',(#1103));
#1104=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1013,#8,(#1103));
#1010=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('S-1','For Cube Solid',#1103,.MADE.);
#1011=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1013,#1016,(#1010));
#1013=PERSON_AND_ORGANIZATION(#1014,#83);
#1014=PERSON('CDI-1','Brandenberg','Chad',('David','George'),$,$);
#1016=PERSON_AND_ORGANIZATION_ROLE('creator');
#1044=CC_DESIGN_APPROVAL(#1045,(#1010));
#1045=APPROVAL(#1046,'Approved as test part design');
#1046=APPROVAL_STATUS('approved');
#1047=APPROVAL_DATE_TIME(#1048,#1045);
#1048=DATE_AND_TIME(#1050,#1051);
#1050=CALENDAR_DATE(1993,19,7);
#1051=LOCAL_TIME(19,51,59.0,#29);
#1069=APPROVAL_PERSON_ORGANIZATION(#1070,#1045,#1072);
#1070=PERSON_AND_ORGANIZATION(#82,#83);
#1072=APPROVAL_ROLE('Authorize part version');
#1031=CC_DESIGN_SECURITY_CLASSIFICATION(#1032,(#1010));
#1032=SECURITY_CLASSIFICATION('1993-C2','open availability of test part designs',#1033);
#1033=SECURITY_CLASSIFICATION_LEVEL('unclassified');
#1034=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#1035,#1039,(#1032));
#1035=DATE_AND_TIME(#1036,#1037);
#1036=CALENDAR_DATE(1993,19,7);
#1037=LOCAL_TIME(19,45,41.0,#29);
#1039=DATE_TIME_ROLE('classification_date');
#1040=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1041,#1043,(#1032));
#1041=PERSON_AND_ORGANIZATION(#1042,#83);
#1042=PERSON('CDI-3','Sauter','Mitch',$,$,$);
#1043=PERSON_AND_ORGANIZATION_ROLE('classification_officer');
#1111=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#1112,#1115,(#1032));
#1112=DATE_AND_TIME(#1113,#1114);
#1113=CALENDAR_DATE(1993,1,10);
#1114=LOCAL_TIME(9,$,$,#29);
#1115=DATE_TIME_ROLE('declassification_date');
#1053=CC_DESIGN_APPROVAL(#1054,(#1032));
#1054=APPROVAL(#1055,'Approved as unclassified part design');
#1055=APPROVAL_STATUS('approved');
#1056=APPROVAL_DATE_TIME(#1057,#1054);
#1057=DATE_AND_TIME(#1058,#1059);
#1058=CALENDAR_DATE(1993,19,7);
#1059=LOCAL_TIME(19,47,58.0,#29);
#1073=APPROVAL_PERSON_ORGANIZATION(#81,#1054,#1076);
#1076=APPROVAL_ROLE('Authorize the security code');
#1019=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1013,#1023,(#1017));
#1023=PERSON_AND_ORGANIZATION_ROLE('creator');
#1024=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#1025,#1030,(#1017));
#1025=DATE_AND_TIME(#1027,#1028);
#1027=CALENDAR_DATE(1993,18,7);
#1028=LOCAL_TIME(10,51,59.0,#29);
#1030=DATE_TIME_ROLE('creation_date');
#1061=CC_DESIGN_APPROVAL(#1062,(#1017));
#1062=APPROVAL(#1063,'Approved as detailed drawing');
#1063=APPROVAL_STATUS('approved');
#1064=APPROVAL_DATE_TIME(#1065,#1062);
#1065=DATE_AND_TIME(#1066,#1067);
#1066=CALENDAR_DATE(1993,19,7);
#1067=LOCAL_TIME(19,51,59.0,#29);
#1077=APPROVAL_PERSON_ORGANIZATION(#81,#1062,#1079);
#1017=PRODUCT_DEFINITION_WITH_ASSOCIATED_DOCUMENTS('D2','Description of product for part 1234',#1010,#1018, (#1116));
#1018=PRODUCT_DEFINITION_CONTEXT('detailed design',#3,'design');
#1079=APPROVAL_ROLE('Authorize product definition');
#1116=DOCUMENT('shape1b.dwg','cube solid CAD file','CAD file for solid cube',#1117);
#1117=DOCUMENT_TYPE('cad_filename');
#1080=CC_DESIGN_CONTRACT(#1081,(#10));
#1081=CONTRACT('ITI-1121','Development of STEP conformance testing',#1082);
#1082=CONTRACT_TYPE('fixed_price');
#1083=CC_DESIGN_APPROVAL(#1084,(#1081));
#1084=APPROVAL(#1085,'Approved as active project under contract');
#1085=APPROVAL_STATUS('approved');
#1086=APPROVAL_PERSON_ORGANIZATION(#1087,#1084,#1090);
#1087=PERSON_AND_ORGANIZATION(#1088,#1089);
#1088=PERSON('212-33-7485','Masters','Larry',$,$,$);
#1089=ORGANIZATION('NIST','National Institute of Standards and Technology',
'Institute within the Department of Commerce');
#1090=APPROVAL_ROLE('Authorized the contract');
#1105=APPROVAL_DATE_TIME(#1106,#1084);
#1106=DATE_AND_TIME(#1107,#1108);
#1107=WEEK_OF_YEAR_AND_DAY_DATE(1993,20,5);
#1108=LOCAL_TIME(14,21,7.0,#29);
#1091=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1092,#1095,(#1081));
#1092=PERSON_AND_ORGANIZATION(#1093,#7);
#1093=PERSON('355-55-6849','Kuper','George',$,$,$);
#1095=PERSON_AND_ORGANIZATION_ROLE('contractor');
#1200=SHAPE_DEFINITION_REPRESENTATION(#1201,#9200);
#1201=PRODUCT_DEFINITION_SHAPE('NTSW_Shape','Shape of Solid Cube',#17);
#9040 =(LENGTH_UNIT()NAMED_UNIT(*)SI_UNIT(.MILLI.,.METRE.));
#9041 =(NAMED_UNIT(*)PLANE_ANGLE_UNIT()SI_UNIT($,.RADIAN.));
#9042 =(NAMED_UNIT(*)SI_UNIT($,.STERADIAN.)SOLID_ANGLE_UNIT());
#9043 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(0.000001),#9040,'xx','yy');
#9110 = CARTESIAN_POINT('CartPt1',(0.0,0.0,0.0));
#9111 = CARTESIAN_POINT('CartPt2',(2.0,0.0,0.0));
#9112 = CARTESIAN_POINT('CartPt3',(2.0,0.0,2.0));
#9113 = CARTESIAN_POINT('CartPt4',(0.0,0.0,2.0));
#9115 = CARTESIAN_POINT('CartPt5',(0.0,2.0,0.0));
#9116 = CARTESIAN_POINT('CartPt6',(2.0,2.0,0.0));
#9117 = CARTESIAN_POINT('CartPt7',(2.0,2.0,2.0));
#9118 = CARTESIAN_POINT('CartPt8',(0.0,2.0,2.0));
#9120 = POLYLINE('PolyLine2',(#9113,#9118,#9117,#9116));
#9130 = POLYLINE('PolyLine2',(#9110,#9113,#9112,#9117));
#9140 = POLYLINE('PolyLine3',(#9118,#9115,#9110,#9111));
#9150 = POLYLINE('PolyLine4',(#9112,#9111,#9116,#9115));
#9160 = GEOMETRIC_CURVE_SET('GeomCurSet1',(#9120,#9130,#9140,#9150));
#9190 = (GEOMETRIC_REPRESENTATION_CONTEXT(3)
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#9043))
GLOBAL_UNIT_ASSIGNED_CONTEXT((#9040,#9041,#9042))
REPRESENTATION_CONTEXT('CONTEXT for gbwr - simple cube','This is a 3d context using millimeters for linear dimension'));
#9200 = GEOMETRICALLY_BOUNDED_WIREFRAME_SHAPE_REPRESENTATION('gbwsr',(#9160),#9190);
ENDSEC;
END-ISO-10303-21;
+219
View File
@@ -0,0 +1,219 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('STEP conformance test data','AP203 class 2 - ntsw'),'1');
FILE_NAME('cube2.p21','1994-12-14 T10:00:00',
('S. Dhar','S. Jetli','M. McFarland','J. Kindrick'),
('Industrial Technology Institute',
'P.O. Box 1485',
'Ann Arbor',
'Michigan',
'48106'),'NIST Data Probe, Release March 1993','conformance test suite','K. H. Muralidhar');
FILE_SCHEMA(('CONFIG_CONTROL_DESIGN'));
ENDSEC;
DATA;
#1=PRODUCT('51114','Solid Cube with Parabola Face','Description for part 51114',(#2));
#2=MECHANICAL_CONTEXT('detailed design',#3,'mechanical');
#3=APPLICATION_CONTEXT('Control the configuration of three dimensional design');
#300=APPLICATION_PROTOCOL_DEFINITION('AP definition status','config_control_design', 1994, #3);
#4=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#5,#8,(#1));
#5=PERSON_AND_ORGANIZATION(#6,#7);
#6=PERSON('307-10-5806','Muralidhar','K.',('H.'),$,$);
#7=ORGANIZATION('ITI-Michigan','Industrial Technology Institute','A not-for-profit engineering and research center');
#8=PERSON_AND_ORGANIZATION_ROLE('design_owner');
#9=PRODUCT_RELATED_PRODUCT_CATEGORY('detail','Part Type for product 51114',(#1));
#10=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('A','Description of version with specified source for part 51114',#1,.BOUGHT.);
#11=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#13,#15,(#10));
#13=PERSON_AND_ORGANIZATION(#14,#7);
#14=PERSON('302-30-6149','Quadir','Nur',$,$,$);
#15=PERSON_AND_ORGANIZATION_ROLE('creator');
#44=CC_DESIGN_APPROVAL(#45,(#10));
#45=APPROVAL(#46,'Approved as initial STEP test case part');
#46=APPROVAL_STATUS('approved');
#47=APPROVAL_DATE_TIME(#48,#45);
#48=DATE_AND_TIME(#50,#51);
#50=CALENDAR_DATE(1993,17,7);
#51=LOCAL_TIME(13,29,52.0,#29);
#69=APPROVAL_PERSON_ORGANIZATION(#70,#45,#72);
#70=PERSON_AND_ORGANIZATION(#71,#7);
#71=PERSON('574-20-7069','Kindrick','James',$,$,$);
#72=APPROVAL_ROLE('Authorize part release');
#31=CC_DESIGN_SECURITY_CLASSIFICATION(#32,(#10));
#32=SECURITY_CLASSIFICATION('1993-C1','open availability of STEP test data',#33);
#33=SECURITY_CLASSIFICATION_LEVEL('unclassified');
#34=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#35,#39,(#32));
#35=DATE_AND_TIME(#36,#37);
#36=CALENDAR_DATE(1993,17,7);
#37=LOCAL_TIME(13,45,20.0,#29);
#39=DATE_TIME_ROLE('classification_date');
#40=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#41,#43,(#32));
#41=PERSON_AND_ORGANIZATION(#42,#7);
#42=PERSON('412-89-3456','Dhar','Shantanu',$,('Mr.'),$);
#43=PERSON_AND_ORGANIZATION_ROLE('classification_officer');
#53=CC_DESIGN_APPROVAL(#54,(#32));
#54=APPROVAL(#55,'Approved as unclassified step test data');
#55=APPROVAL_STATUS('approved');
#56=APPROVAL_DATE_TIME(#57,#54);
#57=DATE_AND_TIME(#58,#59);
#58=CALENDAR_DATE(1993,17,7);
#59=LOCAL_TIME(13,47,28.0,#29);
#73=APPROVAL_PERSON_ORGANIZATION(#74,#54,#76);
#74=PERSON_AND_ORGANIZATION(#75,#7);
#75=PERSON('525-94-5792','Matthews','Robert',('S.'),$,$);
#76=APPROVAL_ROLE('Authorize the security code');
#17=PRODUCT_DEFINITION('D1','Detailed drawing as planned for conformance testing',#10,#18);
#18=DESIGN_CONTEXT('detailed design',#3,'design');
#19=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#13,#23,(#17));
#23=PERSON_AND_ORGANIZATION_ROLE('creator');
#24=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#25,#30,(#17));
#25=DATE_AND_TIME(#27,#28);
#27=CALENDAR_DATE(1993,19,7);
#28=LOCAL_TIME(19,46,55.0,#29);
#29=COORDINATED_UNIVERSAL_TIME_OFFSET(8,$,.BEHIND.);
#30=DATE_TIME_ROLE('creation_date');
#61=CC_DESIGN_APPROVAL(#62,(#17));
#62=APPROVAL(#63,'Approved as STEP conformance testing drawing');
#63=APPROVAL_STATUS('approved');
#64=APPROVAL_DATE_TIME(#65,#62);
#65=DATE_AND_TIME(#66,#67);
#66=CALENDAR_DATE(1993,19,7);
#67=LOCAL_TIME(19,47,51.0,#29);
#77=APPROVAL_PERSON_ORGANIZATION(#70,#62,#79);
#79=APPROVAL_ROLE('Authorize product definition');
#80=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#81,#84,(#10,#1010));
#81=PERSON_AND_ORGANIZATION(#82,#83);
#82=PERSON('CDI-2','Dwaraka','B.',('K.'),$,$);
#83=ORGANIZATION('CDI','Contract Design, Inc.','Contract engineering organization.');
#84=PERSON_AND_ORGANIZATION_ROLE('design_supplier');
#88=SUPPLIED_PART_RELATIONSHIP('design','design supplier','The supplier provides detailed designs',#17,#1017);
#85=CC_DESIGN_CERTIFICATION(#86,(#88));
#86=CERTIFICATION('ISO-9000 certified design supplier','quality control',#87);
#87=CERTIFICATION_TYPE('design_supplier');
#89=CC_DESIGN_APPROVAL(#90,(#86));
#90=APPROVAL(#91,'Approved as ISO-9000 certified supplier');
#91=APPROVAL_STATUS('approved');
#92=APPROVAL_PERSON_ORGANIZATION(#70,#90,#93);
#93=APPROVAL_ROLE('Authorize supplier certification');
#94=DATE_AND_TIME(#95,#96);
#95=CALENDAR_DATE(1993,20,4);
#96=LOCAL_TIME(15,47,51.0,#29);
#97=APPROVAL_DATE_TIME(#94,#90);
#98=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#100,#102,(#86));
#99=CALENDAR_DATE(1993,19,4);
#100=DATE_AND_TIME(#99,#101);
#101=LOCAL_TIME(10,41,59.0,#29);
#102=DATE_TIME_ROLE('certification_date');
#1010=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('S-1','For Solid Cube with Parabola Face',#1,.MADE.);
#1011=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1013,#1016,(#1010));
#1013=PERSON_AND_ORGANIZATION(#1014,#83);
#1014=PERSON('CDI-1','Brandenberg','Chad',$,$,$);
#1016=PERSON_AND_ORGANIZATION_ROLE('creator');
#1044=CC_DESIGN_APPROVAL(#1045,(#1010));
#1045=APPROVAL(#1046,'Approved as test part design');
#1046=APPROVAL_STATUS('approved');
#1047=APPROVAL_DATE_TIME(#1048,#1045);
#1048=DATE_AND_TIME(#1050,#1051);
#1050=CALENDAR_DATE(1993,19,7);
#1051=LOCAL_TIME(19,51,59.0,#29);
#1069=APPROVAL_PERSON_ORGANIZATION(#1070,#1045,#1072);
#1070=PERSON_AND_ORGANIZATION(#82,#83);
#1072=APPROVAL_ROLE('Authorize part version');
#1031=CC_DESIGN_SECURITY_CLASSIFICATION(#1032,(#1010));
#1032=SECURITY_CLASSIFICATION('1993-C2','open availability of test part designs',#1033);
#1033=SECURITY_CLASSIFICATION_LEVEL('unclassified');
#1034=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#1035,#1039,(#1032));
#1035=DATE_AND_TIME(#1036,#1037);
#1036=CALENDAR_DATE(1993,19,7);
#1037=LOCAL_TIME(19,45,41.0,#29);
#1039=DATE_TIME_ROLE('classification_date');
#1040=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1041,#1043,(#1032));
#1041=PERSON_AND_ORGANIZATION(#1042,#83);
#1042=PERSON('CDI-3','Sauter','Mitch',$,$,$);
#1043=PERSON_AND_ORGANIZATION_ROLE('classification_officer');
#1053=CC_DESIGN_APPROVAL(#1054,(#1032));
#1054=APPROVAL(#1055,'Approved as unclassified part design');
#1055=APPROVAL_STATUS('approved');
#1056=APPROVAL_DATE_TIME(#1057,#1054);
#1057=DATE_AND_TIME(#1058,#1059);
#1058=CALENDAR_DATE(1993,19,7);
#1059=LOCAL_TIME(19,47,58.0,#29);
#1073=APPROVAL_PERSON_ORGANIZATION(#81,#1054,#1076);
#1076=APPROVAL_ROLE('Authorize the security code');
#1017=PRODUCT_DEFINITION('D2','Description of product for part 51114',#1010,#1018);
#1018=PRODUCT_DEFINITION_CONTEXT('detailed design',#3,'design');
#1019=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1013,#1023,(#1017));
#1023=PERSON_AND_ORGANIZATION_ROLE('creator');
#1024=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#1025,#1030,(#1017));
#1025=DATE_AND_TIME(#1027,#1028);
#1027=CALENDAR_DATE(1993,18,7);
#1028=LOCAL_TIME(10,51,59.0,#29);
#1030=DATE_TIME_ROLE('creation_date');
#1061=CC_DESIGN_APPROVAL(#1062,(#1017));
#1062=APPROVAL(#1063,'Approved as detailed drawing');
#1063=APPROVAL_STATUS('approved');
#1064=APPROVAL_DATE_TIME(#1065,#1062);
#1065=DATE_AND_TIME(#1066,#1067);
#1066=CALENDAR_DATE(1993,19,7);
#1067=LOCAL_TIME(19,51,59.0,#29);
#1077=APPROVAL_PERSON_ORGANIZATION(#81,#1062,#1079);
#1079=APPROVAL_ROLE('Authorize product definition');
#1200=SHAPE_DEFINITION_REPRESENTATION(#1201,#9260);
#1201=PRODUCT_DEFINITION_SHAPE('GBWR_Shape','Shape of Solid Cube with Parabola Face',#17);
#9040 =(LENGTH_UNIT()NAMED_UNIT(*)SI_UNIT(.MILLI.,.METRE.));
#9041 =(NAMED_UNIT(*)PLANE_ANGLE_UNIT()SI_UNIT($,.RADIAN.));
#9042 =(NAMED_UNIT(*)SI_UNIT($,.STERADIAN.)SOLID_ANGLE_UNIT());
#9043 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(0.000001),#9040,'xx','yy');
#9101 = DIRECTION('Dir1',(1.0,0.0,0.0));
#9102 = DIRECTION('Dir2',(0.0,1.0,0.0));
#9103 = DIRECTION('Dir3',(0.0,0.0,1.0));
#9105 = DIRECTION('Dir4',(0.0,-1.0,0.0));
#9111 = CARTESIAN_POINT('CartPt2',(0.0, 1.0, 0.0));
#9112 = CARTESIAN_POINT('CartPt3',(1.0, 1.0, 0.0));
#9113 = CARTESIAN_POINT('CartPt4',(1.0, 2.0, 0.0));
#9114 = CARTESIAN_POINT('CartPt5',(0.0, 2.0, 0.0));
#9115 = CARTESIAN_POINT('CartPt6',(0.0, 1.0, 1.0));
#9116 = CARTESIAN_POINT('CartPt7',(1.0, 1.0, 1.0));
#9117 = CARTESIAN_POINT('CartPt8',(1.0, 2.0, 1.0));
#9118 = CARTESIAN_POINT('CartPt9',(0.0, 2.0, 1.0));
#9120 = CARTESIAN_POINT('CartPt10',(0.5, 1.25, 0.0));
#9121 = AXIS2_PLACEMENT_3D('Ax2P3D1',#9120,$,#9105);
#9122 = PARABOLA('Parab1',#9121, 0.25);
#9123 = TRIMMED_CURVE('TrimCur1',#9122,(#9111),(#9112),.T.,.CARTESIAN.);
#9130 = CARTESIAN_POINT('CartPt11',(0.5, 1.25, 1.0));
#9131 = AXIS2_PLACEMENT_3D('Ax2P3D2',#9130,$,#9105);
#9132 = PARABOLA('Parab2',#9131, 0.25);
#9133 = TRIMMED_CURVE('TrimCur2',#9132,(#9115),(#9116),.F.,.CARTESIAN.);
#9140 = VECTOR('Vec1',#9103,10.0);
#9141 = LINE('Line1',#9111,#9140);
#9142 = TRIMMED_CURVE('TrimCur3',#9141,(#9111,0.0),(#9115,0.1),.T.,.PARAMETER.);
#9150 = LINE('Line2',#9112,#9140);
#9151 = TRIMMED_CURVE('TrimCur4',#9150,(#9112,0.0),(#9116,0.1),.T.,.PARAMETER.);
#9160 = LINE('Line3',#9113,#9140);
#9161 = TRIMMED_CURVE('TrimCur5',#9160,(#9113,0.0),(#9117,0.1),.T.,.PARAMETER.);
#9170 = LINE('Line4',#9114,#9140);
#9171 = TRIMMED_CURVE('TrimCur6',#9170,(#9114,0.0),(#9116,0.1),.T.,.PARAMETER.);
#9180 = VECTOR('Vec2',#9102,10.0);
#9181 = LINE('Line5',#9111,#9180);
#9182 = TRIMMED_CURVE('TrimCur7',#9181,(#9111,0.0),(#9114,0.1),.T.,.PARAMETER.);
#9190 = LINE('Line6',#9112,#9180);
#9191 = TRIMMED_CURVE('TrimCur8',#9190,(#9112,0.0),(#9113,0.1),.T.,.PARAMETER.);
#9200 = LINE('Line7',#9116,#9180);
#9201 = TRIMMED_CURVE('TrimCur9',#9200,(#9116,0.0),(#9117,0.1),.T.,.PARAMETER.);
#9210 = LINE('Line8',#9115,#9180);
#9211 = TRIMMED_CURVE('TrimCur10',#9210,(#9115,0.0),(#9118,0.1),.T.,.PARAMETER.);
#9220 = VECTOR('Vec3',#9101,10.0);
#9221 = LINE('Line9',#9114,#9220);
#9222 = TRIMMED_CURVE('TrimCur11',#9221,(#9114,0.0),(#9113,0.1),.T.,.PARAMETER.);
#9230 = LINE('Line10',#9118,#9220);
#9231 = TRIMMED_CURVE('TrimCur12',#9230,(#9118,0.0),(#9117,0.1),.T.,.PARAMETER.);
#9240 = GEOMETRIC_CURVE_SET('GeomCurSet1',(#9123,#9133,#9142,#9151,#9161,#9171,#9182,#9191,#9201,#9211,#9222,#9231));
#9250 = (GEOMETRIC_REPRESENTATION_CONTEXT(3)
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#9043))
GLOBAL_UNIT_ASSIGNED_CONTEXT((#9040,#9041,#9042))
REPRESENTATION_CONTEXT('CONTEXT for gbwr test case cube with parabolic face','This is a 3d context using centimeters for linear dimension'));
#9260 = GEOMETRICALLY_BOUNDED_WIREFRAME_SHAPE_REPRESENTATION('xx',(#9240),#9250);
ENDSEC;
END-ISO-10303-21;
+699
View File
@@ -0,0 +1,699 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('STEP conformance test data','AP203 class 6 - abr'),'1');
FILE_NAME('g_r_assembly1.p21','1994-12-14 T10:00:00',
('S. Dhar','S. Jetli','M. McFarland','J. Kindrick'),
('Industrial Technology Institute',
'P.O. Box 1485',
'Ann Arbor',
'Michigan',
'48106'),'NIST Data Probe, Release March 1993','conformance test suite','K. H. Muralidhar');
FILE_SCHEMA(('CONFIG_CONTROL_DESIGN'));
ENDSEC;
DATA;
#1=PRODUCT('55555','Gasket Rod Assembly','Description for part 55555',(#2));
#2=MECHANICAL_CONTEXT('assembly specification',#3,'mechanical');
#3=APPLICATION_CONTEXT('Control the configuration of three dimensional design');
#300=APPLICATION_PROTOCOL_DEFINITION('AP definition status','config_control_design', 1994, #3);
#4=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#5,#8,(#1));
#5=PERSON_AND_ORGANIZATION(#6,#7);
#6=PERSON('307-10-5806','Muralidhar','K.',('H.'),$,$);
#7=ORGANIZATION('ITI-Michigan','Industrial Technology Institute','A not-for-profit engineering and research center');
#8=PERSON_AND_ORGANIZATION_ROLE('design_owner');
#9=PRODUCT_RELATED_PRODUCT_CATEGORY('assembly','Part Type for product 55555',(#1));
#10=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('A','Description of version with specified source for part 55555',#1,.BOUGHT.);
#11=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#13,#15,(#10));
#13=PERSON_AND_ORGANIZATION(#14,#7);
#14=PERSON('302-30-6149','Quadir','Nur',$,$,$);
#15=PERSON_AND_ORGANIZATION_ROLE('creator');
#44=CC_DESIGN_APPROVAL(#45,(#10));
#45=APPROVAL(#46,'Approved as initial STEP test case part');
#46=APPROVAL_STATUS('approved');
#47=APPROVAL_DATE_TIME(#48,#45);
#48=DATE_AND_TIME(#50,#51);
#50=CALENDAR_DATE(1993,17,7);
#51=LOCAL_TIME(13,29,52.0,#29);
#69=APPROVAL_PERSON_ORGANIZATION(#70,#45,#72);
#70=PERSON_AND_ORGANIZATION(#71,#7);
#71=PERSON('574-20-7069','Kindrick','James',$,$,$);
#72=APPROVAL_ROLE('Authorize part release');
#1251=CONFIGURATION_DESIGN(#1252,#10);
#1252=CONFIGURATION_ITEM('LX','name',$,#1253,'Concept Development');
#1350=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#13,#1351,(#1252));
#1351=PERSON_AND_ORGANIZATION_ROLE('configuration_manager');
#1253=PRODUCT_CONCEPT('Super Gasket','The Super Gasket machined standard part','The Super Gasket Line',#1254);
#1254=PRODUCT_CONCEPT_CONTEXT('structural gasket',#3,'market segment type');
#1255=CC_DESIGN_APPROVAL(#1256,(#1252));
#1256=APPROVAL(#1257,'Not yet approved product configuration');
#1257=APPROVAL_STATUS('not_yet_approved');
#1258=APPROVAL_PERSON_ORGANIZATION(#70,#1256,#1259);
#1259=APPROVAL_ROLE('approval for configuration item');
#1260=APPROVAL_DATE_TIME(#1261,#1256);
#1261=DATE_AND_TIME(#1264,#1263);
#1263=LOCAL_TIME(11,56,19.0,#29);
#1264=ORDINAL_DATE(1993,202) ;
#31=CC_DESIGN_SECURITY_CLASSIFICATION(#32,(#10));
#32=SECURITY_CLASSIFICATION('1993-C1','open availability of STEP test data',#33);
#33=SECURITY_CLASSIFICATION_LEVEL('unclassified');
#34=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#35,#39,(#32));
#35=DATE_AND_TIME(#36,#37);
#36=CALENDAR_DATE(1993,17,7);
#37=LOCAL_TIME(13,45,20.0,#29);
#39=DATE_TIME_ROLE('classification_date');
#40=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#41,#43,(#32));
#41=PERSON_AND_ORGANIZATION(#42,#7);
#42=PERSON('412-89-3456','Dhar','Shantanu',$,('Mr.'),$);
#43=PERSON_AND_ORGANIZATION_ROLE('classification_officer');
#53=CC_DESIGN_APPROVAL(#54,(#32));
#54=APPROVAL(#55,'Approved as unclassified step test data');
#55=APPROVAL_STATUS('approved');
#56=APPROVAL_DATE_TIME(#57,#54);
#57=DATE_AND_TIME(#58,#59);
#58=CALENDAR_DATE(1993,17,7);
#59=LOCAL_TIME(13,47,28.0,#29);
#73=APPROVAL_PERSON_ORGANIZATION(#74,#54,#76);
#74=PERSON_AND_ORGANIZATION(#75,#7);
#75=PERSON('525-94-5792','Matthews','Robert',('S.'),$,$);
#76=APPROVAL_ROLE('Authorize the security code');
#17=PRODUCT_DEFINITION('D1','Detailed drawing as planned for STEP conformance testing',#10,#18);
#18=DESIGN_CONTEXT('assembly specification',#3,'design');
#19=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#13,#23,(#17));
#23=PERSON_AND_ORGANIZATION_ROLE('creator');
#24=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#25,#30,(#17));
#25=DATE_AND_TIME(#27,#28);
#27=CALENDAR_DATE(1993,19,7);
#28=LOCAL_TIME(19,46,55.0,#29);
#29=COORDINATED_UNIVERSAL_TIME_OFFSET(8,$,.BEHIND.);
#30=DATE_TIME_ROLE('creation_date');
#61=CC_DESIGN_APPROVAL(#62,(#17));
#62=APPROVAL(#63,'Approved as STEP conformance testing drawing');
#63=APPROVAL_STATUS('approved');
#64=APPROVAL_DATE_TIME(#65,#62);
#65=DATE_AND_TIME(#66,#67);
#66=CALENDAR_DATE(1993,19,7);
#67=LOCAL_TIME(19,47,51.0,#29);
#77=APPROVAL_PERSON_ORGANIZATION(#70,#62,#79);
#79=APPROVAL_ROLE('Authorize product definition');
#80=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#81,#84,(#10,#1010));
#81=PERSON_AND_ORGANIZATION(#82,#83);
#82=PERSON('CDI-2','Dwaraka','B.',('K.'),$,$);
#83=ORGANIZATION('CDI','Contract Design, Inc.','Contract engineering organization');
#84=PERSON_AND_ORGANIZATION_ROLE('design_supplier');
#88=SUPPLIED_PART_RELATIONSHIP('design','design supplier','The supplier provides detailed designs',#17,#1017);
#85=CC_DESIGN_CERTIFICATION(#86,(#88));
#86=CERTIFICATION('ISO-9000 certified design supplier','quality control',#87);
#87=CERTIFICATION_TYPE('design_supplier');
#89=CC_DESIGN_APPROVAL(#90,(#86));
#90=APPROVAL(#91,'Approved as ISO-9000 certified supplier');
#91=APPROVAL_STATUS('approved');
#92=APPROVAL_PERSON_ORGANIZATION(#70,#90,#93);
#93=APPROVAL_ROLE('Authorize supplier certification');
#94=DATE_AND_TIME(#95,#96);
#95=CALENDAR_DATE(1993,20,4);
#96=LOCAL_TIME(15,47,51.0,#29);
#97=APPROVAL_DATE_TIME(#94,#90);
#98=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#100,#102,(#86));
#99=CALENDAR_DATE(1993,19,4);
#100=DATE_AND_TIME(#99,#101);
#101=LOCAL_TIME(10,41,59.0,#29);
#102=DATE_TIME_ROLE('certification_date');
#1010=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('S-1','For Gasket Rod Assembly',#1,.MADE.);
#1011=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1013,#1016,(#1010));
#1013=PERSON_AND_ORGANIZATION(#1014,#83);
#1014=PERSON('CDI-1','Brandenberg','Chad',$,$,$);
#1016=PERSON_AND_ORGANIZATION_ROLE('creator');
#1044=CC_DESIGN_APPROVAL(#1045,(#1010));
#1045=APPROVAL(#1046,'Approved as test part design');
#1046=APPROVAL_STATUS('approved');
#1047=APPROVAL_DATE_TIME(#1048,#1045);
#1048=DATE_AND_TIME(#1050,#1051);
#1050=CALENDAR_DATE(1993,19,7);
#1051=LOCAL_TIME(19,51,59.0,#29);
#1069=APPROVAL_PERSON_ORGANIZATION(#1070,#1045,#1072);
#1070=PERSON_AND_ORGANIZATION(#82,#83);
#1072=APPROVAL_ROLE('Authorize part version');
#1031=CC_DESIGN_SECURITY_CLASSIFICATION(#1032,(#1010));
#1032=SECURITY_CLASSIFICATION('1993-C2','open availability of test part designs',#1033);
#1033=SECURITY_CLASSIFICATION_LEVEL('unclassified');
#1034=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#1035,#1039,(#1032));
#1035=DATE_AND_TIME(#1036,#1037);
#1036=CALENDAR_DATE(1993,19,7);
#1037=LOCAL_TIME(19,45,41.0,#29);
#1039=DATE_TIME_ROLE('classification_date');
#1040=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1041,#1043,(#1032));
#1041=PERSON_AND_ORGANIZATION(#1042,#83);
#1042=PERSON('CDI-3','Sauter','Mitch',$,$,$);
#1043=PERSON_AND_ORGANIZATION_ROLE('classification_officer');
#1053=CC_DESIGN_APPROVAL(#1054,(#1032));
#1054=APPROVAL(#1055,'Approved as unclassified part design');
#1055=APPROVAL_STATUS('approved');
#1056=APPROVAL_DATE_TIME(#1057,#1054);
#1057=DATE_AND_TIME(#1058,#1059);
#1058=CALENDAR_DATE(1993,19,7);
#1059=LOCAL_TIME(19,47,58.0,#29);
#1073=APPROVAL_PERSON_ORGANIZATION(#81,#1054,#1076);
#1076=APPROVAL_ROLE('Authorize the security code');
#1017=PRODUCT_DEFINITION('D2','Detailed drawing',#1010,#1018);
#1018=DESIGN_CONTEXT('assembly specification',#3,'design');
#1019=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1013,#1023,(#1017));
#1023=PERSON_AND_ORGANIZATION_ROLE('creator');
#1024=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#1025,#1030,(#1017));
#1025=DATE_AND_TIME(#1027,#1028);
#1027=CALENDAR_DATE(1993,18,7);
#1028=LOCAL_TIME(10,51,59.0,#29);
#1030=DATE_TIME_ROLE('creation_date');
#1061=CC_DESIGN_APPROVAL(#1062,(#1017));
#1062=APPROVAL(#1063,'Approved as assembly specification');
#1063=APPROVAL_STATUS('approved');
#1064=APPROVAL_DATE_TIME(#1065,#1062);
#1065=DATE_AND_TIME(#1066,#1067);
#1066=CALENDAR_DATE(1993,19,7);
#1067=LOCAL_TIME(19,51,59.0,#29);
#1077=APPROVAL_PERSON_ORGANIZATION(#81,#1062,#1079);
#1079=APPROVAL_ROLE('Authorize product definition');
#3265=ASSEMBLY_COMPONENT_USAGE('1993-A1','component assembly relationship','assembly relationship of gasket rod assembly to flat ring gasket with holes',#17,#2017,$);
#3281=CC_DESIGN_SECURITY_CLASSIFICATION(#3282,(#3265));
#3282=SECURITY_CLASSIFICATION('1993-C5','open availability of STEP test data',#3283);
#3283=SECURITY_CLASSIFICATION_LEVEL('unclassified');
#3284=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#3285,#3289,(#3282));
#3285=DATE_AND_TIME(#3286,#3287);
#3286=CALENDAR_DATE(1993,19,7);
#3287=LOCAL_TIME(10,45,20.0,#29);
#3289=DATE_TIME_ROLE('classification_date');
#3290=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#41,#3292,(#3282));
#3292=PERSON_AND_ORGANIZATION_ROLE('classification_officer');
#3293=CC_DESIGN_APPROVAL(#3294,(#3282));
#3294=APPROVAL(#3295,'Approved as unclassified step test data');
#3295=APPROVAL_STATUS('approved');
#3296=APPROVAL_DATE_TIME(#3297,#3294);
#3297=DATE_AND_TIME(#3298,#3299);
#3298=CALENDAR_DATE(1993,19,7);
#3299=LOCAL_TIME(10,47,28.0,#29);
#3300=APPROVAL_PERSON_ORGANIZATION(#74,#3294,#3301);
#3301=APPROVAL_ROLE('Authorize the security code');
#2001=PRODUCT('21113','Flat Ring Gasket with Holes','Description for part 21113',(#2002));
#2002=MECHANICAL_CONTEXT('assembly specification',#3,'mechanical');
#2004=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#5,#2008,(#2001));
#2008=PERSON_AND_ORGANIZATION_ROLE('design_owner');
#2009=PRODUCT_RELATED_PRODUCT_CATEGORY('assembly','Part Type for product 21113',(#2001));
#2010=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('B','Description of version with specified source for part 21113',#2001,.BOUGHT.);
#2011=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#13,#2015,(#2010));
#2015=PERSON_AND_ORGANIZATION_ROLE('creator');
#2044=CC_DESIGN_APPROVAL(#2045,(#2010));
#2045=APPROVAL(#2046,'Approved as initial STEP test case part');
#2046=APPROVAL_STATUS('approved');
#2047=APPROVAL_DATE_TIME(#2048,#2045);
#2048=DATE_AND_TIME(#2050,#2051);
#2050=CALENDAR_DATE(1993,17,7);
#2051=LOCAL_TIME(13,29,52.0,#29);
#2069=APPROVAL_PERSON_ORGANIZATION(#70,#2045,#2072);
#2072=APPROVAL_ROLE('Authorize part release');
#2031=CC_DESIGN_SECURITY_CLASSIFICATION(#2032,(#2010));
#2032=SECURITY_CLASSIFICATION('1993-C3','open availability of STEP test data',#2033);
#2033=SECURITY_CLASSIFICATION_LEVEL('unclassified');
#2034=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#2035,#2039,(#2032));
#2035=DATE_AND_TIME(#2036,#2037);
#2036=CALENDAR_DATE(1993,17,7);
#2037=LOCAL_TIME(13,45,20.0,#29);
#2039=DATE_TIME_ROLE('classification_date');
#2040=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#41,#2043,(#2032));
#2043=PERSON_AND_ORGANIZATION_ROLE('classification_officer');
#2053=CC_DESIGN_APPROVAL(#2054,(#2032));
#2054=APPROVAL(#2055,'Approved as unclassified step test data');
#2055=APPROVAL_STATUS('approved');
#2056=APPROVAL_DATE_TIME(#2057,#2054);
#2057=DATE_AND_TIME(#2058,#2059);
#2058=CALENDAR_DATE(1993,17,7);
#2059=LOCAL_TIME(13,47,28.0,#29);
#2073=APPROVAL_PERSON_ORGANIZATION(#74,#2054,#2076);
#2076=APPROVAL_ROLE('Authorize the security code');
#2017=PRODUCT_DEFINITION('D3','Detailed drawing as planned for STEP conformance testing',#2010,#2018);
#2018=DESIGN_CONTEXT('assembly specification',#3,'design');
#2019=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#13,#2023,(#2017));
#2023=PERSON_AND_ORGANIZATION_ROLE('creator');
#2024=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#2025,#2030,(#2017));
#2025=DATE_AND_TIME(#2027,#2028);
#2027=CALENDAR_DATE(1993,19,7);
#2028=LOCAL_TIME(19,46,55.0,#29);
#2030=DATE_TIME_ROLE('creation_date');
#2061=CC_DESIGN_APPROVAL(#2062,(#2017));
#2062=APPROVAL(#2063,'Approved as STEP conformance testing drawing');
#2063=APPROVAL_STATUS('approved');
#2064=APPROVAL_DATE_TIME(#2065,#2062);
#2065=DATE_AND_TIME(#2066,#2067);
#2066=CALENDAR_DATE(1993,19,7);
#2067=LOCAL_TIME(19,47,51.0,#29);
#2077=APPROVAL_PERSON_ORGANIZATION(#70,#2062,#2079);
#2079=APPROVAL_ROLE('Authorize product definition');
#2080=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#81,#2084,(#2010,#3010));
#2084=PERSON_AND_ORGANIZATION_ROLE('design_supplier');
#2088=SUPPLIED_PART_RELATIONSHIP('design','design supplier','The supplier provides assembly specification',#2017,#3017);
#2085=CC_DESIGN_CERTIFICATION(#2086,(#2088));
#2086=CERTIFICATION('ISO-9000 certified design supplier','quality control',#2087);
#2087=CERTIFICATION_TYPE('design_supplier');
#2089=CC_DESIGN_APPROVAL(#2090,(#2086));
#2090=APPROVAL(#2091,'Approved as ISO-9000 certified supplier');
#2091=APPROVAL_STATUS('approved');
#2092=APPROVAL_PERSON_ORGANIZATION(#70,#2090,#2093);
#2093=APPROVAL_ROLE('Authorize supplier certification');
#2094=DATE_AND_TIME(#2095,#2096);
#2095=CALENDAR_DATE(1993,20,4);
#2096=LOCAL_TIME(15,47,51.0,#29);
#2097=APPROVAL_DATE_TIME(#2094,#2090);
#2098=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#2100,#2102,(#2086));
#2099=CALENDAR_DATE(1993,19,4);
#2100=DATE_AND_TIME(#2099,#2101);
#2101=LOCAL_TIME(10,41,59.0,#29);
#2102=DATE_TIME_ROLE('certification_date');
#3010=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('S-1','For Solid Square',#2001,.MADE.);
#3011=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1013,#3016,(#3010));
#3016=PERSON_AND_ORGANIZATION_ROLE('creator');
#3044=CC_DESIGN_APPROVAL(#3045,(#3010));
#3045=APPROVAL(#3046,'Approved as test part design');
#3046=APPROVAL_STATUS('approved');
#3047=APPROVAL_DATE_TIME(#3048,#3045);
#3048=DATE_AND_TIME(#3050,#3051);
#3050=CALENDAR_DATE(1993,19,7);
#3051=LOCAL_TIME(19,51,59.0,#29);
#3069=APPROVAL_PERSON_ORGANIZATION(#1070,#3045,#3072);
#3072=APPROVAL_ROLE('Authorize part version');
#3031=CC_DESIGN_SECURITY_CLASSIFICATION(#3032,(#3010));
#3032=SECURITY_CLASSIFICATION('1993-C4','open availability of test part designs',#3033);
#3033=SECURITY_CLASSIFICATION_LEVEL('unclassified');
#3034=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#3035,#3039,(#3032));
#3035=DATE_AND_TIME(#3036,#3037);
#3036=CALENDAR_DATE(1993,19,7);
#3037=LOCAL_TIME(19,45,41.0,#29);
#3039=DATE_TIME_ROLE('classification_date');
#3040=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1041,#3043,(#3032));
#3043=PERSON_AND_ORGANIZATION_ROLE('classification_officer');
#3053=CC_DESIGN_APPROVAL(#3054,(#3032));
#3054=APPROVAL(#3055,'Approved as unclassified part design');
#3055=APPROVAL_STATUS('approved');
#3056=APPROVAL_DATE_TIME(#3057,#3054);
#3057=DATE_AND_TIME(#3058,#3059);
#3058=CALENDAR_DATE(1993,19,7);
#3059=LOCAL_TIME(19,47,58.0,#29);
#3073=APPROVAL_PERSON_ORGANIZATION(#81,#3054,#3076);
#3076=APPROVAL_ROLE('Authorize the security code');
#3017=PRODUCT_DEFINITION('D4','Detailed drawing',#3010,#3018);
#3018=DESIGN_CONTEXT('assembly specification',#3,'design');
#3019=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1013,#3023,(#3017));
#3023=PERSON_AND_ORGANIZATION_ROLE('creator');
#3024=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#3025,#3030,(#3017));
#3025=DATE_AND_TIME(#3027,#3028);
#3027=CALENDAR_DATE(1993,18,7);
#3028=LOCAL_TIME(10,51,59.0,#29);
#3030=DATE_TIME_ROLE('creation_date');
#3061=CC_DESIGN_APPROVAL(#3062,(#3017));
#3062=APPROVAL(#3063,'Approved as assembly specification');
#3063=APPROVAL_STATUS('approved');
#3064=APPROVAL_DATE_TIME(#3065,#3062);
#3065=DATE_AND_TIME(#3066,#3067);
#3066=CALENDAR_DATE(1993,19,7);
#3067=LOCAL_TIME(19,51,59.0,#29);
#3077=APPROVAL_PERSON_ORGANIZATION(#81,#3062,#3079);
#3079=APPROVAL_ROLE('Authorize product definition');
#5265=(ASSEMBLY_COMPONENT_USAGE('designator 5')
NEXT_ASSEMBLY_USAGE_OCCURRENCE()
PRODUCT_DEFINITION_RELATIONSHIP('1993-N2','next assembly relationship','next occurance assembly relationship of flat ring gasket with holes to rod with conical tip',#2017,#4017)
PRODUCT_DEFINITION_USAGE()
QUANTIFIED_ASSEMBLY_COMPONENT_USAGE(#5305));
#5305=MEASURE_WITH_UNIT(COUNT_MEASURE(4),#5306);
#5306=CONTEXT_DEPENDENT_UNIT(#5307,'parts');
#5307=DIMENSIONAL_EXPONENTS(0.0,0.0,0.0,0.0,0.0,0.0,0.0);
#5281=CC_DESIGN_SECURITY_CLASSIFICATION(#5282,(#5265));
#5282=SECURITY_CLASSIFICATION('1993-C8','open availability of STEP test data',#5283);
#5283=SECURITY_CLASSIFICATION_LEVEL('unclassified');
#5284=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#5285,#5289,(#5282));
#5285=DATE_AND_TIME(#5286,#5287);
#5286=CALENDAR_DATE(1993,19,7);
#5287=LOCAL_TIME(10,45,20.0,#29);
#5289=DATE_TIME_ROLE('classification_date');
#5290=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#41,#5292,(#5282));
#5292=PERSON_AND_ORGANIZATION_ROLE('classification_officer');
#5293=CC_DESIGN_APPROVAL(#5294,(#5282));
#5294=APPROVAL(#5295,'Approved as unclassified step test data');
#5295=APPROVAL_STATUS('approved');
#5296=APPROVAL_DATE_TIME(#5297,#5294);
#5297=DATE_AND_TIME(#5298,#5299);
#5298=CALENDAR_DATE(1993,19,7);
#5299=LOCAL_TIME(10,47,28.0,#29);
#5300=APPROVAL_PERSON_ORGANIZATION(#74,#5294,#5301);
#5301=APPROVAL_ROLE('Authorize the security code');
#4001=PRODUCT('41113','Rod with Conical Tip','Description for part 41113',(#4002));
#4002=MECHANICAL_CONTEXT('assembly specification',#3,'mechanical');
#4004=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#5,#4008,(#4001));
#4008=PERSON_AND_ORGANIZATION_ROLE('design_owner');
#4009=PRODUCT_RELATED_PRODUCT_CATEGORY('detail','Part Type for product 41113',(#4001));
#4010=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('B','Description of version with specified source for part 41113',#4001,.BOUGHT.);
#4011=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#13,#4015,(#4010));
#4015=PERSON_AND_ORGANIZATION_ROLE('creator');
#4044=CC_DESIGN_APPROVAL(#4045,(#4010));
#4045=APPROVAL(#4046,'Approved as initial STEP test case part');
#4046=APPROVAL_STATUS('approved');
#4047=APPROVAL_DATE_TIME(#4048,#4045);
#4048=DATE_AND_TIME(#4050,#4051);
#4050=CALENDAR_DATE(1993,17,7);
#4051=LOCAL_TIME(13,29,52.0,#29);
#4069=APPROVAL_PERSON_ORGANIZATION(#70,#4045,#4072);
#4072=APPROVAL_ROLE('Authorize part release');
#4031=CC_DESIGN_SECURITY_CLASSIFICATION(#4032,(#4010));
#4032=SECURITY_CLASSIFICATION('1993-C6','open availability of STEP test data',#4033);
#4033=SECURITY_CLASSIFICATION_LEVEL('unclassified');
#4034=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#4035,#4039,(#4032));
#4035=DATE_AND_TIME(#4036,#4037);
#4036=CALENDAR_DATE(1993,17,7);
#4037=LOCAL_TIME(13,45,20.0,#29);
#4039=DATE_TIME_ROLE('classification_date');
#4040=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#41,#4043,(#4032));
#4043=PERSON_AND_ORGANIZATION_ROLE('classification_officer');
#4053=CC_DESIGN_APPROVAL(#4054,(#4032));
#4054=APPROVAL(#4055,'Approved as unclassified step test data');
#4055=APPROVAL_STATUS('approved');
#4056=APPROVAL_DATE_TIME(#4057,#4054);
#4057=DATE_AND_TIME(#4058,#4059);
#4058=CALENDAR_DATE(1993,17,7);
#4059=LOCAL_TIME(13,47,28.0,#29);
#4073=APPROVAL_PERSON_ORGANIZATION(#74,#4054,#4076);
#4076=APPROVAL_ROLE('Authorize the security code');
#4017=PRODUCT_DEFINITION('D5','Detailed drawing as planned for STEP conformance testing',#4010,#4018);
#4018=DESIGN_CONTEXT('assembly specification',#3,'design');
#4019=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#13,#4023,(#4017));
#4023=PERSON_AND_ORGANIZATION_ROLE('creator');
#4024=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#4025,#4030,(#4017));
#4025=DATE_AND_TIME(#4027,#4028);
#4027=CALENDAR_DATE(1993,19,7);
#4028=LOCAL_TIME(19,46,55.0,#29);
#4030=DATE_TIME_ROLE('creation_date');
#4061=CC_DESIGN_APPROVAL(#4062,(#4017));
#4062=APPROVAL(#4063,'Approved as STEP conformance testing drawing');
#4063=APPROVAL_STATUS('approved');
#4064=APPROVAL_DATE_TIME(#4065,#4062);
#4065=DATE_AND_TIME(#4066,#4067);
#4066=CALENDAR_DATE(1993,19,7);
#4067=LOCAL_TIME(19,47,51.0,#29);
#4077=APPROVAL_PERSON_ORGANIZATION(#70,#4062,#4079);
#4079=APPROVAL_ROLE('Authorize product definition');
#4080=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#81,#4084,(#4010,#5010));
#4084=PERSON_AND_ORGANIZATION_ROLE('design_supplier');
#4088=SUPPLIED_PART_RELATIONSHIP('design','design supplier','The supplier provides assembly specification',#4017,#5017);
#4085=CC_DESIGN_CERTIFICATION(#4086,(#4088));
#4086=CERTIFICATION('ISO-9000 certified design supplier','quality control',#4087);
#4087=CERTIFICATION_TYPE('design_supplier');
#4089=CC_DESIGN_APPROVAL(#4090,(#4086));
#4090=APPROVAL(#4091,'Approved as ISO-9000 certified supplier');
#4091=APPROVAL_STATUS('approved');
#4092=APPROVAL_PERSON_ORGANIZATION(#70,#4090,#4093);
#4093=APPROVAL_ROLE('Authorize supplier certification');
#4094=DATE_AND_TIME(#4095,#4096);
#4095=CALENDAR_DATE(1993,20,4);
#4096=LOCAL_TIME(15,47,51.0,#29);
#4097=APPROVAL_DATE_TIME(#4094,#4090);
#4098=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#4100,#4102,(#4086));
#4099=CALENDAR_DATE(1993,19,4);
#4100=DATE_AND_TIME(#4099,#4101);
#4101=LOCAL_TIME(10,41,59.0,#29);
#4102=DATE_TIME_ROLE('certification_date');
#5010=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('S-1','For Rod with Conical Tip',#4001,.MADE.);
#5011=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1013,#5016,(#5010));
#5016=PERSON_AND_ORGANIZATION_ROLE('creator');
#5044=CC_DESIGN_APPROVAL(#5045,(#5010));
#5045=APPROVAL(#5046,'Approved as test part design');
#5046=APPROVAL_STATUS('approved');
#5047=APPROVAL_DATE_TIME(#5048,#5045);
#5048=DATE_AND_TIME(#5050,#5051);
#5050=CALENDAR_DATE(1993,19,7);
#5051=LOCAL_TIME(19,51,59.0,#29);
#5069=APPROVAL_PERSON_ORGANIZATION(#1070,#5045,#5072);
#5072=APPROVAL_ROLE('Authorize part version');
#5031=CC_DESIGN_SECURITY_CLASSIFICATION(#5032,(#5010));
#5032=SECURITY_CLASSIFICATION('1993-C7','open availability of test part designs',#5033);
#5033=SECURITY_CLASSIFICATION_LEVEL('unclassified');
#5034=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#5035,#5039,(#5032));
#5035=DATE_AND_TIME(#5036,#5037);
#5036=CALENDAR_DATE(1993,19,7);
#5037=LOCAL_TIME(19,45,41.0,#29);
#5039=DATE_TIME_ROLE('classification_date');
#5040=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1041,#5043,(#5032));
#5043=PERSON_AND_ORGANIZATION_ROLE('classification_officer');
#5053=CC_DESIGN_APPROVAL(#5054,(#5032));
#5054=APPROVAL(#5055,'Approved as unclassified part design');
#5055=APPROVAL_STATUS('approved');
#5056=APPROVAL_DATE_TIME(#5057,#5054);
#5057=DATE_AND_TIME(#5058,#5059);
#5058=CALENDAR_DATE(1993,19,7);
#5059=LOCAL_TIME(19,47,58.0,#29);
#5073=APPROVAL_PERSON_ORGANIZATION(#81,#5054,#5076);
#5076=APPROVAL_ROLE('Authorize the security code');
#5017=PRODUCT_DEFINITION('D6','Detailed drawing',#5010,#5018);
#5018=DESIGN_CONTEXT('assembly specification',#3,'design');
#5019=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1013,#5023,(#5017));
#5023=PERSON_AND_ORGANIZATION_ROLE('creator');
#5024=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#5025,#5030,(#5017));
#5025=DATE_AND_TIME(#5027,#5028);
#5027=CALENDAR_DATE(1993,18,7);
#5028=LOCAL_TIME(10,51,59.0,#29);
#5030=DATE_TIME_ROLE('creation_date');
#5061=CC_DESIGN_APPROVAL(#5062,(#5017));
#5062=APPROVAL(#5063,'Approved as assembly specification');
#5063=APPROVAL_STATUS('approved');
#5064=APPROVAL_DATE_TIME(#5065,#5062);
#5065=DATE_AND_TIME(#5066,#5067);
#5066=CALENDAR_DATE(1993,19,7);
#5067=LOCAL_TIME(19,51,59.0,#29);
#5077=APPROVAL_PERSON_ORGANIZATION(#81,#5062,#5079);
#5079=APPROVAL_ROLE('Authorize product definition');
/* component assembly position : method 1 */
#1211=PRODUCT_DEFINITION_SHAPE('ABR_Shape','Shape relationship between gasket and rod',#5265);
#1210=CONTEXT_DEPENDENT_SHAPE_REPRESENTATION(#1212,#1211);
#1212=( REPRESENTATION_RELATIONSHIP('label','description',#9370,#10370)
REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#1213)
SHAPE_REPRESENTATION_RELATIONSHIP());
#1213=ITEM_DEFINED_TRANSFORMATION('name','description',#9211,#9120);
#1214=CONTEXT_DEPENDENT_SHAPE_REPRESENTATION(#1216,#1211);
#1216=(REPRESENTATION_RELATIONSHIP('label','description',#9370,#10370)
REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#1217)
SHAPE_REPRESENTATION_RELATIONSHIP());
#1217=ITEM_DEFINED_TRANSFORMATION('name','description',#9241,#9120);
#1218=CONTEXT_DEPENDENT_SHAPE_REPRESENTATION(#1220,#1211);
#1220=(REPRESENTATION_RELATIONSHIP('label','description',#9370,#10370)
REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#1221)
SHAPE_REPRESENTATION_RELATIONSHIP());
#1221=ITEM_DEFINED_TRANSFORMATION('name','description',#9271,#9120);
#1222=CONTEXT_DEPENDENT_SHAPE_REPRESENTATION(#1224,#1211);
#1224=(REPRESENTATION_RELATIONSHIP('label','description',#9370,#10370)
REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#1225)
SHAPE_REPRESENTATION_RELATIONSHIP());
#1225=ITEM_DEFINED_TRANSFORMATION('name','description',#9301,#9120);
/* component assembly position : method 2 */
#1230=MAPPED_ITEM('MapPath1',#1234,#9211);
#1231=MAPPED_ITEM('MapPath2',#1234,#9241);
#1232=MAPPED_ITEM('MapPath3',#1234,#9271);
#1233=MAPPED_ITEM('MapPath4',#1234,#9301);
#1234=REPRESENTATION_MAP(#9120,#10370);
#9020=DIMENSIONAL_EXPONENTS(1.0,0.0,0.0,0.0,0.0,0.0,0.0);
#9021=DIMENSIONAL_EXPONENTS(0.0,0.0,0.0,0.0,0.0,0.0,0.0);
#9040 =(LENGTH_UNIT()NAMED_UNIT(*)SI_UNIT(.MILLI.,.METRE.));
#9041 =(NAMED_UNIT(*)PLANE_ANGLE_UNIT()SI_UNIT($,.RADIAN.));
#9042 =(NAMED_UNIT(*)SI_UNIT($,.STERADIAN.)SOLID_ANGLE_UNIT());
#9043 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(0.000001),#9040,'xx','yy');
#9100 = CARTESIAN_POINT('CartPt1',(0.0,0.0,0.0));
#9101 = DIRECTION('Dir1',(0.1,0.0,0.0));
#9103 = DIRECTION('Dir3',(0.0,0.0,1.0));
#9120 = AXIS2_PLACEMENT_3D('Ax2P3D1',#9100,#9103,#9101);
#9121 = PLANE('Plane1',#9120);
#9122 = CIRCLE('Circ1',#9120,40.0);
#9123 = CARTESIAN_POINT('CartPt2',(40.0,0.0,0.0));
#9124 = VERTEX_POINT('VertPt1',#9123);
#9125 = EDGE_CURVE('EdgeCur1',#9124,#9124,#9122,.T.);
#9126 = ORIENTED_EDGE('OriEdge1',*,*,#9125,.T.);
#9127 = EDGE_LOOP('EdgeLoop1',(#9126));
#9128 = FACE_BOUND('FaceBnd1',#9127,.F.);
#9130 = CIRCLE('Circ2',#9120,25.0);
#9131 = CARTESIAN_POINT('CartPt3',(25.0,0.0,0.0));
#9132 = VERTEX_POINT('VertPt2',#9131);
#9133 = EDGE_CURVE('EdgeCur2',#9132,#9132,#9130,.T.);
#9134 = ORIENTED_EDGE('OriEdge2',*,*,#9133,.T.);
#9135 = EDGE_LOOP('EdgeLoop2',(#9134));
#9136 = FACE_BOUND('FaceBnd2',#9135,.T.);
#9140 = CARTESIAN_POINT('CartPt4',(0.0,0.0,5.0));
#9141 = AXIS2_PLACEMENT_3D('Ax2P3D2',#9140,#9103,#9101);
#9142 = PLANE('Plane2',#9141);
#9143 = CIRCLE('Circ3',#9141,40.0);
#9144 = CARTESIAN_POINT('CartPt5',(40.0,0.0,5.0));
#9145 = VERTEX_POINT('VertPt3',#9144);
#9146 = EDGE_CURVE('EdgeCur3',#9145,#9145,#9143,.T.);
#9147 = ORIENTED_EDGE('OriEdge3',*,*,#9146,.T.);
#9148 = EDGE_LOOP('EdgeLoop3',(#9147));
#9149 = FACE_BOUND('FaceBnd3',#9148,.T.);
#9160 = CIRCLE('Circ4',#9141,25.0);
#9161 = CARTESIAN_POINT('CartPt6',(25.0,0.0,5.0));
#9162 = VERTEX_POINT('VertPt4',#9161);
#9163 = EDGE_CURVE('EdgeCur4',#9162,#9162,#9160,.T.);
#9164 = ORIENTED_EDGE('OriEdge4',*,*,#9163,.T.);
#9165 = EDGE_LOOP('EdgeLoop4',(#9164));
#9166 = FACE_BOUND('FaceBnd4',#9165,.F.);
#9180 = CYLINDRICAL_SURFACE('CylSur1',#9120,40.0);
#9190 = FACE_BOUND('FaceBnd5',#9127,.T.);
#9191 = FACE_BOUND('FaceBnd6',#9148,.F.);
#9192 = ADVANCED_FACE('AdvFace1',(#9190,#9191),#9180,.T.);
#9200 = CYLINDRICAL_SURFACE('CylSur2',#9120,25.0);
#9201 = FACE_BOUND('FaceBnd7',#9135,.F.);
#9202 = FACE_BOUND('FaceBnd8',#9165,.T.);
#9203 = ADVANCED_FACE('AdvFace2',(#9201,#9202),#9200,.F.);
#9210 = CARTESIAN_POINT('CartPt7',(0.0,32.5,0.0));
#9211 = AXIS2_PLACEMENT_3D('Ax2P3D3',#9210,#9103,#9101);
#9212 = CIRCLE('Circ5',#9211,2.5);
#9213 = CARTESIAN_POINT('CartPt8',(2.5,32.5,0.0));
#9214 = VERTEX_POINT('VertPt5',#9213);
#9215 = EDGE_CURVE('EdgeCur5',#9214,#9214,#9212,.T.);
#9216 = ORIENTED_EDGE('OriEdge5',*,*,#9215,.T.);
#9217 = EDGE_LOOP('EdgeLoop5',(#9216));
#9218 = FACE_BOUND('FaceBnd9',#9217,.F.);
#9219 = FACE_BOUND('FaceBnd10',#9217,.T.);
#9220 = CARTESIAN_POINT('CartPt9',(0.0,32.5,5.0));
#9221 = AXIS2_PLACEMENT_3D('Ax2P3D4',#9220,#9103,#9101);
#9222 = CIRCLE('Circ6',#9221,5.0);
#9223 = CARTESIAN_POINT('CartPt10',(5.0,32.5,5.0));
#9224 = VERTEX_POINT('VertPt6',#9223);
#9225 = EDGE_CURVE('EdgeCur6',#9224,#9224,#9222,.T.);
#9226 = ORIENTED_EDGE('OriEdge6',*,*,#9225,.T.);
#9227 = EDGE_LOOP('EdgeLoop6',(#9226));
#9228 = FACE_BOUND('FaceBnd11',#9227,.T.);
#9229 = FACE_BOUND('FaceBnd12',#9227,.F.);
#9230 = CONICAL_SURFACE('ConSur1',#9211,2.5,0.46364761);
#9231 = ADVANCED_FACE('AdvFace3',(#9218,#9228),#9230,.F.);
#9240 = CARTESIAN_POINT('CartPt11',(32.5,0.0,0.0));
#9241 = AXIS2_PLACEMENT_3D('Ax2P3D5',#9240,#9103,#9101);
#9242 = CIRCLE('Circ7',#9241,2.5);
#9243 = CARTESIAN_POINT('CartPt12',(35.0,0.0,0.0));
#9244 = VERTEX_POINT('VertPt7',#9243);
#9245 = EDGE_CURVE('EdgeCur7',#9244,#9244,#9242,.T.);
#9246 = ORIENTED_EDGE('OriEdge7',*,*,#9245,.T.);
#9247 = EDGE_LOOP('EdgeLoop7',(#9246));
#9248 = FACE_BOUND('FaceBnd13',#9247,.F.);
#9249 = FACE_BOUND('FaceBnd14',#9247,.T.);
#9250 = CARTESIAN_POINT('CartPt13',(32.5,0.0,5.0));
#9251 = AXIS2_PLACEMENT_3D('Ax2P3D6',#9250,#9103,#9101);
#9252 = CIRCLE('Circ8',#9251,5.0);
#9253 = CARTESIAN_POINT('CartPt14',(37.5,0.0,5.0));
#9254 = VERTEX_POINT('VertPt8',#9253);
#9255 = EDGE_CURVE('EdgeCur8',#9254,#9254,#9252,.T.);
#9256 = ORIENTED_EDGE('OriEdge8',*,*,#9255,.T.);
#9257 = EDGE_LOOP('EdgeLoop8',(#9256));
#9258 = FACE_BOUND('FaceBnd15',#9257,.T.);
#9259 = FACE_BOUND('FaceBnd16',#9257,.F.);
#9260 = CONICAL_SURFACE('ConSur2',#9241,2.5,0.46364761);
#9261 = ADVANCED_FACE('AdvFace4',(#9248,#9258),#9260,.F.);
#9270 = CARTESIAN_POINT('CartPt15',(0.0,-32.5,0.0));
#9271 = AXIS2_PLACEMENT_3D('Ax2P3D7',#9270,#9103,#9101);
#9272 = CIRCLE('Circ9',#9271,2.5);
#9273 = CARTESIAN_POINT('CartPt16',(2.5,-32.5,0.0));
#9274 = VERTEX_POINT('VertPt9',#9273);
#9275 = EDGE_CURVE('EdgeCur9',#9274,#9274,#9272,.T.);
#9276 = ORIENTED_EDGE('OriEdge9',*,*,#9275,.T.);
#9277 = EDGE_LOOP('EdgeLoop9',(#9276));
#9278 = FACE_BOUND('FaceBnd17',#9277,.F.);
#9279 = FACE_BOUND('FaceBnd18',#9277,.T.);
#9280 = CARTESIAN_POINT('CartPt17',(0.0,-32.5,5.0));
#9281 = AXIS2_PLACEMENT_3D('Ax2P3D8',#9280,#9103,#9101);
#9282 = CIRCLE('Circ10',#9281,5.0);
#9283 = CARTESIAN_POINT('CartPt18',(5.0,-32.5,5.0));
#9284 = VERTEX_POINT('VertPt10',#9283);
#9285 = EDGE_CURVE('EdgeCur10',#9284,#9284,#9282,.T.);
#9286 = ORIENTED_EDGE('OriEdge10',*,*,#9285,.T.);
#9287 = EDGE_LOOP('EdgeLoop10',(#9286));
#9288 = FACE_BOUND('FaceBnd19',#9287,.T.);
#9289 = FACE_BOUND('FaceBnd20',#9287,.F.);
#9290 = CONICAL_SURFACE('ConSur3',#9271,2.5,0.46364761);
#9291 = ADVANCED_FACE('AdvFace5',(#9278,#9288),#9290,.F.);
#9300 = CARTESIAN_POINT('CartPt19',(-32.5,0.0,0.0));
#9301 = AXIS2_PLACEMENT_3D('Ax2P3D9',#9300,#9103,#9101);
#9302 = CIRCLE('Circ11',#9301,2.5);
#9303 = CARTESIAN_POINT('CartPt20',(-30.0,0.0,0.0));
#9304 = VERTEX_POINT('VertPt11',#9303);
#9305 = EDGE_CURVE('EdgeCur11',#9304,#9304,#9302,.T.);
#9306 = ORIENTED_EDGE('OriEdge11',*,*,#9305,.T.);
#9307 = EDGE_LOOP('EdgeLoop11',(#9306));
#9308 = FACE_BOUND('FaceBnd21',#9307,.F.);
#9309 = FACE_BOUND('FaceBnd22',#9307,.T.);
#9310 = CARTESIAN_POINT('CartPt21',(-32.5,0.0,5.0));
#9311 = AXIS2_PLACEMENT_3D('Ax2P3D10',#9310,#9103,#9101);
#9312 = CIRCLE('Circ12',#9311,5.0);
#9313 = CARTESIAN_POINT('CartPt22',(37.5,0.0,5.0));
#9314 = VERTEX_POINT('VertPt12',#9313);
#9315 = EDGE_CURVE('EdgeCur12',#9314,#9314,#9312,.T.);
#9316 = ORIENTED_EDGE('OriEdge12',*,*,#9315,.T.);
#9317 = EDGE_LOOP('EdgeLoop12',(#9316));
#9318 = FACE_BOUND('FaceBnd23',#9317,.T.);
#9319 = FACE_BOUND('FaceBnd24',#9317,.F.);
#9320 = CONICAL_SURFACE('ConSur4',#9301,2.5,0.46364761);
#9321 = ADVANCED_FACE('AdvFace6',(#9308,#9318),#9320,.F.);
#9325 = ADVANCED_FACE('AdvFace7',(#9128,#9136,#9219,#9249,#9279,#9309),#9121,.F.);
#9326 = ADVANCED_FACE('AdvFace8',(#9149,#9166,#9229,#9259,#9289,#9319),#9142,.T.);
#9350 = CLOSED_SHELL('CloseSh1',(#9192,#9203,#9231,#9261,#9291,#9321,#9325,#9326));
#9351 = MANIFOLD_SOLID_BREP('ManSolBrep1',#9350);
#9360 = (GEOMETRIC_REPRESENTATION_CONTEXT(3)GLOBAL_UNIT_ASSIGNED_CONTEXT((#9040,#9041,#9042))REPRESENTATION_CONTEXT('CONTEXT for advanced brep test case gasket with conical holes','This is a 3d context using millimeters for linear dimension'));
#9370 = ADVANCED_BREP_SHAPE_REPRESENTATION('ABShapeRep1',(#9351,#1230,#1231,#1232,#1233),#9360);
#10121 = PLANE('Plane3',#9120);
#10122 = CIRCLE('Circ13',#9120,2.5);
#10123 = CARTESIAN_POINT('CartPt23',(2.5,0.0,0.0));
#10124 = VERTEX_POINT('VertPt13',#10123);
#10125 = EDGE_CURVE('EdgeCur13',#10124,#10124,#10122,.T.);
#10126 = ORIENTED_EDGE('OriEdge13',*,*,#10125,.T.);
#10127 = EDGE_LOOP('EdgeLoop13',(#10126));
#10128 = FACE_BOUND('FaceBnd25',#10127,.F.);
#10130 = ADVANCED_FACE('AdvFace9',(#10128),#10121,.F.);
#10140 = CARTESIAN_POINT('CartPt24',(0.0,0.0,5.0));
#10141 = AXIS2_PLACEMENT_3D('Ax2P3D11',#10140,#9103,#9101);
#10143 = CIRCLE('Circ14',#10141,5.0);
#10144 = CARTESIAN_POINT('CartPt25',(5.0,0.0,5.0));
#10145 = VERTEX_POINT('VertPt14',#10144);
#10146 = EDGE_CURVE('EdgeCur14',#10145,#10145,#10143,.T.);
#10147 = ORIENTED_EDGE('OriEdge14',*,*,#10146,.F.);
#10148 = EDGE_LOOP('EdgeLoop14',(#10147));
#10149 = FACE_BOUND('FaceBnd26',#10148,.T.);
#10150 = FACE_BOUND('FaceBnd27',#10127,.T.);
#10160 = CONICAL_SURFACE('ConSur5',#9120,2.5,0.46364761);
#10170 = ADVANCED_FACE('AdvFace10',(#10149,#10150),#10160,.T.);
#10180 = CARTESIAN_POINT('CartPt26',(0.0,0.0,50.0));
#10181 = AXIS2_PLACEMENT_3D('Ax2P3D12',#10180,#9103,#9101);
#10182 = CIRCLE('Circ15',#10181,5.0);
#10183 = CARTESIAN_POINT('CartPt27',(5.0,0.0,50.0));
#10184 = VERTEX_POINT('VertPt15',#10183);
#10185 = EDGE_CURVE('EdgeCur15',#10184,#10184,#10182,.T.);
#10186 = ORIENTED_EDGE('OriEdge15',*,*,#10185,.F.);
#10187 = EDGE_LOOP('EdgeLoop15',(#10186));
#10188 = FACE_BOUND('FaceBnd28',#10187,.T.);
#10190 = FACE_BOUND('FaceBnd29',#10148,.F.);
#10200 = CYLINDRICAL_SURFACE('CylSur3',#10141,5.0);
#10210 = ADVANCED_FACE('AdvFace11',(#10188,#10190),#10200,.T.);
#10211 = PLANE('Plane4',#10181);
#10212 = FACE_BOUND('FaceBnd30',#10187,.F.);
#10213 = ADVANCED_FACE('AdvFace12',(#10212),#10211,.T.);
#10230 = PLANE('Plane5',#10141);
#10232 = ADVANCED_FACE('AdvFace13',(#10190),#10230,.T.);
#10233 = ADVANCED_FACE('AdvFace14',(#10149),#10230,.F.);
#10240 = CLOSED_SHELL('CloseSh2',(#10130,#10170,#10232));
#10250 = CLOSED_SHELL('CloseSh3',(#10233,#10210,#10213));
#10260 = MANIFOLD_SOLID_BREP('ManSolBrep2',#10240);
#10270 = MANIFOLD_SOLID_BREP('ManSolBrep3',#10250);
#10360 = (GEOMETRIC_REPRESENTATION_CONTEXT(3)
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#9043))
GLOBAL_UNIT_ASSIGNED_CONTEXT((#9040,#9041,#9042))
REPRESENTATION_CONTEXT('CONTEXT for advanced brep test case rod with conical tip aspect','This is a 3d context using millimeters for linear dimension'));
#10370 = ADVANCED_BREP_SHAPE_REPRESENTATION('ABShapeRep2',(#10260,#10270),#10360);
ENDSEC;
END-ISO-10303-21;
+220
View File
@@ -0,0 +1,220 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('STEP conformance test data','AP203 class 6 - advanced brep'),'1');
FILE_NAME('gasket1.p21','1994-12-14 T10:00:00',
('S. Dhar','S. Jetli','M. McFarland','J. Kindrick'),
('Industrial Technology Institute',
'P.O. Box 1485',
'Ann Arbor',
'Michigan',
'48106'),'NIST Data Probe, Release March 1993','conformance test suite','K. H. Muralidhar');
FILE_SCHEMA(('CONFIG_CONTROL_DESIGN'));
ENDSEC;
DATA;
#1=PRODUCT('11113','Flat Ring Gasket','Description for part 11113',(#2));
#2=MECHANICAL_CONTEXT('detailed design',#3,'mechanical');
#3=APPLICATION_CONTEXT('Control the configuration of three dimensional design');
#300=APPLICATION_PROTOCOL_DEFINITION('AP definition status','config_control_design', 1994, #3);
#4=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#5,#8,(#1));
#5=PERSON_AND_ORGANIZATION(#6,#7);
#6=PERSON('307-10-5806','Muralidhar','K.',('H.'),$,$);
#7=ORGANIZATION('ITI-Michigan','Industrial Technology Institute','A not-for-profit engineering and research center');
#8=PERSON_AND_ORGANIZATION_ROLE('design_owner');
#9=PRODUCT_RELATED_PRODUCT_CATEGORY('detail','Part Type for product 11113',(#1));
#10=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('A','Description of version with specified source for part 11113',#1,.BOUGHT.);
#11=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#13,#15,(#10));
#13=PERSON_AND_ORGANIZATION(#14,#7);
#14=PERSON('302-30-6149','Quadir','Nur',$,$,$);
#15=PERSON_AND_ORGANIZATION_ROLE('creator');
#44=CC_DESIGN_APPROVAL(#45,(#10));
#45=APPROVAL(#46,'Approved as initial STEP test case part');
#46=APPROVAL_STATUS('approved');
#47=APPROVAL_DATE_TIME(#48,#45);
#48=DATE_AND_TIME(#50,#51);
#50=CALENDAR_DATE(1993,17,7);
#51=LOCAL_TIME(13,29,52.0,#29);
#69=APPROVAL_PERSON_ORGANIZATION(#70,#45,#72);
#70=PERSON_AND_ORGANIZATION(#71,#7);
#71=PERSON('574-20-7069','Kindrick','James',$,$,$);
#72=APPROVAL_ROLE('Authorize part release');
#31=CC_DESIGN_SECURITY_CLASSIFICATION(#32,(#10));
#32=SECURITY_CLASSIFICATION('1993-C1','open availability of STEP test data',#33);
#33=SECURITY_CLASSIFICATION_LEVEL('unclassified');
#34=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#35,#39,(#32));
#35=DATE_AND_TIME(#36,#37);
#36=CALENDAR_DATE(1993,17,7);
#37=LOCAL_TIME(13,45,20.0,#29);
#39=DATE_TIME_ROLE('classification_date');
#40=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#41,#43,(#32));
#41=PERSON_AND_ORGANIZATION(#42,#7);
#42=PERSON('412-89-3456','Dhar','Shantanu',$,('Mr.'),$);
#43=PERSON_AND_ORGANIZATION_ROLE('classification_officer');
#53=CC_DESIGN_APPROVAL(#54,(#32));
#54=APPROVAL(#55,'Approved as unclassified step test data');
#55=APPROVAL_STATUS('approved');
#56=APPROVAL_DATE_TIME(#57,#54);
#57=DATE_AND_TIME(#58,#59);
#58=CALENDAR_DATE(1993,17,7);
#59=LOCAL_TIME(13,47,28.0,#29);
#73=APPROVAL_PERSON_ORGANIZATION(#74,#54,#76);
#74=PERSON_AND_ORGANIZATION(#75,#7);
#75=PERSON('525-94-5792','Matthews','Robert',('S.'),$,$);
#76=APPROVAL_ROLE('Authorize the security code');
#17=PRODUCT_DEFINITION('D1','Detailed drawing as planned for conformance testing',#10,#18);
#18=DESIGN_CONTEXT('detailed design',#3,'design');
#19=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#13,#23,(#17));
#23=PERSON_AND_ORGANIZATION_ROLE('creator');
#24=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#25,#30,(#17));
#25=DATE_AND_TIME(#27,#28);
#27=CALENDAR_DATE(1993,19,7);
#28=LOCAL_TIME(19,46,55.0,#29);
#29=COORDINATED_UNIVERSAL_TIME_OFFSET(8,$,.BEHIND.);
#30=DATE_TIME_ROLE('creation_date');
#61=CC_DESIGN_APPROVAL(#62,(#17));
#62=APPROVAL(#63,'Approved as STEP conformance testing drawing');
#63=APPROVAL_STATUS('approved');
#64=APPROVAL_DATE_TIME(#65,#62);
#65=DATE_AND_TIME(#66,#67);
#66=CALENDAR_DATE(1993,19,7);
#67=LOCAL_TIME(19,47,51.0,#29);
#77=APPROVAL_PERSON_ORGANIZATION(#70,#62,#79);
#79=APPROVAL_ROLE('Authorize product definition');
#80=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#81,#84,(#10,#1010));
#81=PERSON_AND_ORGANIZATION(#82,#83);
#82=PERSON('CDI-2','Dwaraka','B.',('K.'),$,$);
#83=ORGANIZATION('CDI','Contract Design, Inc.','Contract engineering organization.');
#84=PERSON_AND_ORGANIZATION_ROLE('design_supplier');
#88=SUPPLIED_PART_RELATIONSHIP('design','design supplier','The supplier provides detailed designs',#17,#1017);
#85=CC_DESIGN_CERTIFICATION(#86,(#88));
#86=CERTIFICATION('ISO-9000 certified design supplier','quality control',#87);
#87=CERTIFICATION_TYPE('design_supplier');
#89=CC_DESIGN_APPROVAL(#90,(#86));
#90=APPROVAL(#91,'Approved as ISO-9000 certified supplier');
#91=APPROVAL_STATUS('approved');
#92=APPROVAL_PERSON_ORGANIZATION(#70,#90,#93);
#93=APPROVAL_ROLE('Authorize supplier certification');
#94=DATE_AND_TIME(#95,#96);
#95=CALENDAR_DATE(1993,20,4);
#96=LOCAL_TIME(15,47,51.0,#29);
#97=APPROVAL_DATE_TIME(#94,#90);
#98=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#100,#102,(#86));
#99=CALENDAR_DATE(1993,19,4);
#100=DATE_AND_TIME(#99,#101);
#101=LOCAL_TIME(10,41,59.0,#29);
#102=DATE_TIME_ROLE('certification_date');
#1010=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('S-1','For Flat Ring Gasket',#1,.MADE.);
#1011=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1013,#1016,(#1010));
#1013=PERSON_AND_ORGANIZATION(#1014,#83);
#1014=PERSON('CDI-1','Brandenberg','Chad',$,$,$);
#1016=PERSON_AND_ORGANIZATION_ROLE('creator');
#1044=CC_DESIGN_APPROVAL(#1045,(#1010));
#1045=APPROVAL(#1046,'Approved as test part design');
#1046=APPROVAL_STATUS('approved');
#1047=APPROVAL_DATE_TIME(#1048,#1045);
#1048=DATE_AND_TIME(#1050,#1051);
#1050=CALENDAR_DATE(1993,19,7);
#1051=LOCAL_TIME(19,51,59.0,#29);
#1069=APPROVAL_PERSON_ORGANIZATION(#1070,#1045,#1072);
#1070=PERSON_AND_ORGANIZATION(#82,#83);
#1072=APPROVAL_ROLE('Authorize part version');
#1031=CC_DESIGN_SECURITY_CLASSIFICATION(#1032,(#1010));
#1032=SECURITY_CLASSIFICATION('1993-C2','open availability of test part designs',#1033);
#1033=SECURITY_CLASSIFICATION_LEVEL('unclassified');
#1034=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#1035,#1039,(#1032));
#1035=DATE_AND_TIME(#1036,#1037);
#1036=CALENDAR_DATE(1993,19,7);
#1037=LOCAL_TIME(19,45,41.0,#29);
#1039=DATE_TIME_ROLE('classification_date');
#1040=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1041,#1043,(#1032));
#1041=PERSON_AND_ORGANIZATION(#1042,#83);
#1042=PERSON('CDI-3','Sauter','Mitch',$,$,$);
#1043=PERSON_AND_ORGANIZATION_ROLE('classification_officer');
#1053=CC_DESIGN_APPROVAL(#1054,(#1032));
#1054=APPROVAL(#1055,'Approved as unclassified part design');
#1055=APPROVAL_STATUS('approved');
#1056=APPROVAL_DATE_TIME(#1057,#1054);
#1057=DATE_AND_TIME(#1058,#1059);
#1058=CALENDAR_DATE(1993,19,7);
#1059=LOCAL_TIME(19,47,58.0,#29);
#1073=APPROVAL_PERSON_ORGANIZATION(#81,#1054,#1076);
#1076=APPROVAL_ROLE('Authorize the security code');
#1017=PRODUCT_DEFINITION('D2','Description of product for part 11113',#1010,#1018);
#1018=DESIGN_CONTEXT('detailed design',#3,'design');
#1019=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1013,#1023,(#1017));
#1023=PERSON_AND_ORGANIZATION_ROLE('creator');
#1024=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#1025,#1030,(#1017));
#1025=DATE_AND_TIME(#1027,#1028);
#1027=CALENDAR_DATE(1993,18,7);
#1028=LOCAL_TIME(10,51,59.0,#29);
#1030=DATE_TIME_ROLE('creation_date');
#1061=CC_DESIGN_APPROVAL(#1062,(#1017));
#1062=APPROVAL(#1063,'Approved as detailed drawing');
#1063=APPROVAL_STATUS('approved');
#1064=APPROVAL_DATE_TIME(#1065,#1062);
#1065=DATE_AND_TIME(#1066,#1067);
#1066=CALENDAR_DATE(1993,19,7);
#1067=LOCAL_TIME(19,51,59.0,#29);
#1077=APPROVAL_PERSON_ORGANIZATION(#81,#1062,#1079);
#1079=APPROVAL_ROLE('Authorize product definition');
#1080=SHAPE_DEFINITION_REPRESENTATION(#1081,#9240);
#1081=PRODUCT_DEFINITION_SHAPE('ABR_Shape','Shape of Flat Ring Gasket',#17);
#9040 =(LENGTH_UNIT()NAMED_UNIT(*)SI_UNIT(.MILLI.,.METRE.));
#9041 =(NAMED_UNIT(*)PLANE_ANGLE_UNIT()SI_UNIT($,.RADIAN.));
#9042 =(NAMED_UNIT(*)SI_UNIT($,.STERADIAN.)SOLID_ANGLE_UNIT());
#9043 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(0.000001),#9040);
#9100 = CARTESIAN_POINT('CartPt1',(0.0,0.0,0.0));
#9101 = DIRECTION('Dir1',(1.0,0.0,0.0));
#9103 = DIRECTION('Dir3',(0.0,0.0,1.0));
#9120 = AXIS2_PLACEMENT_3D('Ax2P3D1',#9100,#9103,#9101);
#9121 = PLANE('Plane1',#9120);
#9122 = CIRCLE('Circ1',#9120,30.0);
#9123 = CARTESIAN_POINT('CartPt2',(30.0,0.0,0.0));
#9124 = VERTEX_POINT('VertPt1',#9123);
#9125 = EDGE_CURVE('EdgeCur1',#9124,#9124,#9122,.T.);
#9126 = ORIENTED_EDGE('OriEdge1',*,*,#9125,.T.);
#9127 = EDGE_LOOP('EdgeLoop1',(#9126));
#9128 = FACE_BOUND('FaceBnd1',#9127,.F.);
#9130 = CIRCLE('Circ2',#9120,25.0);
#9131 = CARTESIAN_POINT('CartPt3',(25.0,0.0,0.0));
#9132 = VERTEX_POINT('VertPt2',#9131);
#9133 = EDGE_CURVE('EdgeCur2',#9132,#9132,#9130,.T.);
#9134 = ORIENTED_EDGE('OriEdge2',*,*,#9133,.T.);
#9135 = EDGE_LOOP('EdgeLoop2',(#9134));
#9136 = FACE_BOUND('FaceBnd2',#9135,.T.);
#9137 = ADVANCED_FACE('AdvFace1',(#9136,#9128),#9121,.F.);
#9140 = CARTESIAN_POINT('CartPt4',(0.0,0.0,5.0));
#9141 = AXIS2_PLACEMENT_3D('Ax2P3D2',#9140,#9103,#9101);
#9142 = PLANE('Plane2',#9141);
#9143 = CIRCLE('Circ3',#9141,30.0);
#9144 = CARTESIAN_POINT('CartPt5',(30.0,0.0,5.0));
#9145 = VERTEX_POINT('VertPt3',#9144);
#9146 = EDGE_CURVE('EdgeCur3',#9145,#9145,#9143,.T.);
#9147 = ORIENTED_EDGE('OriEdge3',*,*,#9146,.T.);
#9148 = EDGE_LOOP('EdgeLoop3',(#9147));
#9149 = FACE_BOUND('FaceBnd3',#9148,.T.);
#9160 = CIRCLE('Circ4',#9141,25.0);
#9161 = CARTESIAN_POINT('CartPt6',(25.0,0.0,5.0));
#9162 = VERTEX_POINT('VertPt4',#9161);
#9163 = EDGE_CURVE('EdgeCur4',#9162,#9162,#9160,.T.);
#9164 = ORIENTED_EDGE('OriEdge4',*,*,#9163,.T.);
#9165 = EDGE_LOOP('EdgeLoop4',(#9164));
#9166 = FACE_BOUND('FaceBnd4',#9165,.F.);
#9167 = ADVANCED_FACE('AdvFace2',(#9149,#9166),#9142,.T.);
#9180 = CYLINDRICAL_SURFACE('CylSur1',#9120,30.0);
#9190 = FACE_BOUND('FaceBnd5',#9127,.T.);
#9191 = FACE_BOUND('FaceBnd6',#9148,.F.);
#9192 = ADVANCED_FACE('AdvFace3',(#9190,#9191),#9180,.T.);
#9200 = CYLINDRICAL_SURFACE('CylSur2',#9120,25.0);
#9201 = FACE_BOUND('FaceBnd7',#9135,.F.);
#9202 = FACE_BOUND('FaceBnd8',#9165,.T.);
#9203 = ADVANCED_FACE('AdvFace4',(#9201,#9202),#9200,.F.);
#9210 = CLOSED_SHELL('CloseSh1',(#9137,#9167,#9192,#9203));
#9220 = MANIFOLD_SOLID_BREP('ManSolBrep1',#9210);
#9230 = (GEOMETRIC_REPRESENTATION_CONTEXT(3)
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#9043))
GLOBAL_UNIT_ASSIGNED_CONTEXT((#9040,#9041,#9042))
REPRESENTATION_CONTEXT('CONTEXT for advanced brep test case gasket','This is a 3d context using millimeters for linear dimension'));
#9240 = ADVANCED_BREP_SHAPE_REPRESENTATION('ABShapeRep1',(#9220),#9230);
ENDSEC;
END-ISO-10303-21;
+340
View File
@@ -0,0 +1,340 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('STEP conformance test data','AP203 class 6 - advanced brep'),'1');
FILE_NAME('gasket2.p21','1994-12-14 T10:00:00',
('S. Dhar','S. Jetli','M. McFarland','J. Kindrick'),
('Industrial Technology Institute',
'P.O. Box 1485',
'Ann Arbor',
'Michigan',
'48106'),'NIST Data Probe, Release March 1993','conformance test suite','K. H. Muralidhar');
FILE_SCHEMA(('CONFIG_CONTROL_DESIGN'));
ENDSEC;
DATA;
#1=PRODUCT('21113','Flat Ring Gasket with Holes','Description for part 21113',(#2));
#2=MECHANICAL_CONTEXT('detailed design',#3,'mechanical');
#3=APPLICATION_CONTEXT('Control the configuration of three dimensional design');
#300=APPLICATION_PROTOCOL_DEFINITION('AP definition status','config_control_design', 1994, #3);
#4=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#5,#8,(#1));
#5=PERSON_AND_ORGANIZATION(#6,#7);
#6=PERSON('307-10-5806','Muralidhar','K.',('H.'),$,$);
#1097=PERSONAL_ADDRESS($,'17147','New Hamburg Road',$,'Whitmore Lake','Michigan','48189','USA',$,'(313) 769-1234',$,$,(#6));
#7=ORGANIZATION('ITI-Michigan','Industrial Technology Institute','Anot-for-profit engineering and research center');
#8=PERSON_AND_ORGANIZATION_ROLE('design_owner');
#9=PRODUCT_RELATED_PRODUCT_CATEGORY('detail','Part Type for product 21113',(#1));
#1098=PRODUCT_CATEGORY('mechanical','root node');
#1099=PRODUCT_CATEGORY_RELATIONSHIP('root-to-structural','Relates the root to the structural category',#1098,#1100);
#1100=PRODUCT_CATEGORY('structural','The structural product category');
#1101=PRODUCT_CATEGORY_RELATIONSHIP('structural-to-machined','Relate the structural to the machined product categories',#1100,#1102);
#1102=PRODUCT_RELATED_PRODUCT_CATEGORY('machined','Machined category',(#1));
#10=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('A','Description of version with specified source for part 21113',#1,.BOUGHT.);
#11=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#13,#15,(#10));
#13=PERSON_AND_ORGANIZATION(#14,#7);
#14=PERSON('302-30-6149','Quadir','Nur',$,$,$);
#15=PERSON_AND_ORGANIZATION_ROLE('creator');
#44=CC_DESIGN_APPROVAL(#45,(#10));
#45=APPROVAL(#46,'Approved as initial STEP test case part');
#46=APPROVAL_STATUS('approved');
#47=APPROVAL_DATE_TIME(#48,#45);
#48=DATE_AND_TIME(#50,#51);
#50=CALENDAR_DATE(1993,17,7);
#51=LOCAL_TIME(13,29,52.0,#29);
#69=APPROVAL_PERSON_ORGANIZATION(#70,#45,#72);
#70=PERSON_AND_ORGANIZATION(#71,#7);
#71=PERSON('574-20-7069','Kindrick','James',$,$,$);
#72=APPROVAL_ROLE('Authorize part release');
#31=CC_DESIGN_SECURITY_CLASSIFICATION(#32,(#10));
#32=SECURITY_CLASSIFICATION('1993-C1','open availability of STEP test data',#33);
#33=SECURITY_CLASSIFICATION_LEVEL('unclassified');
#34=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#35,#39,(#32));
#35=DATE_AND_TIME(#36,#37);
#36=CALENDAR_DATE(1993,17,7);
#37=LOCAL_TIME(13,45,20.0,#29);
#39=DATE_TIME_ROLE('classification_date');
#40=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#41,#43,(#32));
#41=PERSON_AND_ORGANIZATION(#42,#7);
#42=PERSON('412-89-3456','Dhar','Shantanu',$,('Mr.'),$);
#43=PERSON_AND_ORGANIZATION_ROLE('classification_officer');
#53=CC_DESIGN_APPROVAL(#54,(#32));
#54=APPROVAL(#55,'Approved as unclassified step test data');
#55=APPROVAL_STATUS('approved');
#56=APPROVAL_DATE_TIME(#57,#54);
#57=DATE_AND_TIME(#58,#59);
#58=CALENDAR_DATE(1993,17,7);
#59=LOCAL_TIME(13,47,28.0,#29);
#73=APPROVAL_PERSON_ORGANIZATION(#74,#54,#76);
#74=PERSON_AND_ORGANIZATION(#75,#7);
#75=PERSON('525-94-5792','Matthews','Robert',('S.'),$,$);
#76=APPROVAL_ROLE('Authorize the security code');
#17=PRODUCT_DEFINITION('D1','Detailed drawing as planned for conformance testing',#10,#18);
#18=DESIGN_CONTEXT('detailed design',#3,'design');
#19=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#13,#23,(#17));
#23=PERSON_AND_ORGANIZATION_ROLE('creator');
#24=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#25,#30,(#17));
#25=DATE_AND_TIME(#27,#28);
#27=CALENDAR_DATE(1993,19,7);
#28=LOCAL_TIME(19,46,55.0,#29);
#29=COORDINATED_UNIVERSAL_TIME_OFFSET(8,$,.BEHIND.);
#30=DATE_TIME_ROLE('creation_date');
#61=CC_DESIGN_APPROVAL(#62,(#17));
#62=APPROVAL(#63,'Approved as STEP conformance testing drawing');
#63=APPROVAL_STATUS('approved');
#64=APPROVAL_DATE_TIME(#65,#62);
#65=DATE_AND_TIME(#66,#67);
#66=CALENDAR_DATE(1993,19,7);
#67=LOCAL_TIME(19,47,51.0,#29);
#77=APPROVAL_PERSON_ORGANIZATION(#70,#62,#79);
#79=APPROVAL_ROLE('Authorize product definition');
#80=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#81,#84,(#10,#1010));
#81=PERSON_AND_ORGANIZATION(#82,#83);
#82=PERSON('CDI-2','Dwaraka','B.',('K.'),$,$);
#83=ORGANIZATION('CDI','Contract Design, Inc.','Contract engineering organization');
#1096=ORGANIZATIONAL_ADDRESS($,'2901','Hubbard',$,'Ann Arbor','Michigan','48106','USA','(313) 769-4069','(313) 769-4000',$,$,(#83));
#84=PERSON_AND_ORGANIZATION_ROLE('design_supplier');
#88=SUPPLIED_PART_RELATIONSHIP('design','design supplier','The supplier provides detailed designs',#17,#1017);
#85=CC_DESIGN_CERTIFICATION(#86,(#88));
#86=CERTIFICATION('ISO-9000 certified design supplier','quality control',#87);
#87=CERTIFICATION_TYPE('design_supplier');
#89=CC_DESIGN_APPROVAL(#90,(#86));
#90=APPROVAL(#91,'Approved as ISO-9000 certified supplier');
#91=APPROVAL_STATUS('approved');
#92=APPROVAL_PERSON_ORGANIZATION(#70,#90,#93);
#93=APPROVAL_ROLE('Authorize supplier certification');
#94=DATE_AND_TIME(#95,#96);
#95=CALENDAR_DATE(1993,20,4);
#96=LOCAL_TIME(15,47,51.0,#29);
#97=APPROVAL_DATE_TIME(#94,#90);
#98=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#100,#102,(#86));
#99=CALENDAR_DATE(1993,19,4);
#100=DATE_AND_TIME(#99,#101);
#101=LOCAL_TIME(10,41,59.0,#29);
#102=DATE_TIME_ROLE('certification_date');
#1103=PRODUCT('12345','Ring Gasket - Flat with Holes','CDI''s part 12345 description',(#2));
#1109=PRODUCT_RELATED_PRODUCT_CATEGORY('customer_furnished_equipment','Part Type for product 12345',(#1103));
#1104=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1013,#8,(#1103));
#1010=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('S-1','For Ring Gasket - Flat with Holes ',#1103,.MADE.);
#1011=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1013,#1016,(#1010));
#1013=PERSON_AND_ORGANIZATION(#1014,#83);
#1014=PERSON('CDI-1','Brandenberg','Chad',$,$,$);
#1016=PERSON_AND_ORGANIZATION_ROLE('creator');
#1044=CC_DESIGN_APPROVAL(#1045,(#1010));
#1045=APPROVAL(#1046,'Approved as test part design');
#1046=APPROVAL_STATUS('approved');
#1047=APPROVAL_DATE_TIME(#1048,#1045);
#1048=DATE_AND_TIME(#1050,#1051);
#1050=CALENDAR_DATE(1993,19,7);
#1051=LOCAL_TIME(19,51,59.0,#29);
#1069=APPROVAL_PERSON_ORGANIZATION(#1070,#1045,#1072);
#1070=PERSON_AND_ORGANIZATION(#82,#83);
#1072=APPROVAL_ROLE('Authorize part version');
#1031=CC_DESIGN_SECURITY_CLASSIFICATION(#1032,(#1010));
#1032=SECURITY_CLASSIFICATION('1993-C2','open availability of test part designs',#1033);
#1033=SECURITY_CLASSIFICATION_LEVEL('unclassified');
#1034=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#1035,#1039,(#1032));
#1035=DATE_AND_TIME(#1036,#1037);
#1036=CALENDAR_DATE(1993,19,7);
#1037=LOCAL_TIME(19,45,41.0,#29);
#1039=DATE_TIME_ROLE('classification_date');
#1040=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1041,#1043,(#1032));
#1041=PERSON_AND_ORGANIZATION(#1042,#83);
#1042=PERSON('CDI-3','Sauter','Mitch',$,$,$);
#1043=PERSON_AND_ORGANIZATION_ROLE('classification_officer');
#1053=CC_DESIGN_APPROVAL(#1054,(#1032));
#1054=APPROVAL(#1055,'Approved as unclassified part design');
#1055=APPROVAL_STATUS('approved');
#1056=APPROVAL_DATE_TIME(#1057,#1054);
#1057=DATE_AND_TIME(#1058,#1059);
#1058=CALENDAR_DATE(1993,19,7);
#1059=LOCAL_TIME(19,47,58.0,#29);
#1073=APPROVAL_PERSON_ORGANIZATION(#81,#1054,#1076);
#1076=APPROVAL_ROLE('Authorize the security code');
#1017=PRODUCT_DEFINITION('D2','Description of product for part 12345',#1010,#1018);
#1018=DESIGN_CONTEXT('detailed design',#3,'design');
#1019=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1013,#1023,(#1017));
#1023=PERSON_AND_ORGANIZATION_ROLE('creator');
#1024=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#1025,#1030,(#1017));
#1025=DATE_AND_TIME(#1027,#1028);
#1027=CALENDAR_DATE(1993,18,7);
#1028=LOCAL_TIME(10,51,59.0,#29);
#1030=DATE_TIME_ROLE('creation_date');
#1061=CC_DESIGN_APPROVAL(#1062,(#1017));
#1062=APPROVAL(#1063,'Approved as detailed drawing');
#1063=APPROVAL_STATUS('approved');
#1064=APPROVAL_DATE_TIME(#1065,#1062);
#1065=DATE_AND_TIME(#1066,#1067);
#1066=CALENDAR_DATE(1993,19,7);
#1067=LOCAL_TIME(19,51,59.0,#29);
#1077=APPROVAL_PERSON_ORGANIZATION(#81,#1062,#1079);
#1079=APPROVAL_ROLE('Authorize product definition');
#1080=CC_DESIGN_CONTRACT(#1081,(#10));
#1081=CONTRACT('ITI-1121','Development of STEP conformance testing',#1082);
#1082=CONTRACT_TYPE('fixed_price');
#1083=CC_DESIGN_APPROVAL(#1084,(#1081));
#1084=APPROVAL(#1085,'Approved as active project under contract');
#1085=APPROVAL_STATUS('approved');
#1086=APPROVAL_PERSON_ORGANIZATION(#1087,#1084,#1090);
#1087=PERSON_AND_ORGANIZATION(#1088,#1089);
#1088=PERSON('212-33-7485','Masters','Larry',$,$,$);
#1089=ORGANIZATION('NIST','National Institute of Standards and Technology','Institute within the Department of Commerce');
#1090=APPROVAL_ROLE('Authorized the contract');
#1105=APPROVAL_DATE_TIME(#1106,#1084);
#1106=DATE_AND_TIME(#1107,#1108);
#1107=CALENDAR_DATE(1993,3,5);
#1108=LOCAL_TIME(10,47,28.0,#29);
#1091=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1092,#1095,(#1081));
#1092=PERSON_AND_ORGANIZATION(#1093,#7);
#1093=PERSON('355-55-6849','Kuper','George',$,$,$);
#1095=PERSON_AND_ORGANIZATION_ROLE('contractor');
#1200=SHAPE_DEFINITION_REPRESENTATION(#1201,#9370);
#1201=PRODUCT_DEFINITION_SHAPE('ABR_Shape','Shape of flat ring gasket with conical holes',#17);
#9040 =(LENGTH_UNIT()NAMED_UNIT(*)SI_UNIT(.MILLI.,.METRE.));
#9041 =(NAMED_UNIT(*)PLANE_ANGLE_UNIT()SI_UNIT($,.RADIAN.));
#9042 =(NAMED_UNIT(*)SI_UNIT($,.STERADIAN.)SOLID_ANGLE_UNIT());
#9043 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(0.000001),#9040);
#9100 = CARTESIAN_POINT('CartPt1',(0.0,0.0,0.0));
#9101 = DIRECTION('Dir1',(0.1,0.0,0.0));
#9103 = DIRECTION('Dir3',(0.0,0.0,1.0));
#9120 = AXIS2_PLACEMENT_3D('Ax2P3D1',#9100,#9103,#9101);
#9121 = PLANE('Plane1',#9120);
#9122 = CIRCLE('Circ1',#9120,40.0);
#9123 = CARTESIAN_POINT('CartPt2',(40.0,0.0,0.0));
#9124 = VERTEX_POINT('VertPt1',#9123);
#9125 = EDGE_CURVE('EdgeCur1',#9124,#9124,#9122,.T.);
#9126 = ORIENTED_EDGE('OriEdge1',*,*,#9125,.T.);
#9127 = EDGE_LOOP('EdgeLoop1',(#9126));
#9128 = FACE_BOUND('FaceBnd1',#9127,.F.);
#9130 = CIRCLE('Circ2',#9120,25.0);
#9131 = CARTESIAN_POINT('CartPt3',(25.0,0.0,0.0));
#9132 = VERTEX_POINT('VertPt2',#9131);
#9133 = EDGE_CURVE('EdgeCur2',#9132,#9132,#9130,.T.);
#9134 = ORIENTED_EDGE('OriEdge2',*,*,#9133,.T.);
#9135 = EDGE_LOOP('EdgeLoop2',(#9134));
#9136 = FACE_BOUND('FaceBnd2',#9135,.T.);
#9140 = CARTESIAN_POINT('CartPt4',(0.0,0.0,5.0));
#9141 = AXIS2_PLACEMENT_3D('Ax2P3D2',#9140,#9103,#9101);
#9142 = PLANE('Plane2',#9141);
#9143 = CIRCLE('Circ3',#9141,40.0);
#9144 = CARTESIAN_POINT('CartPt5',(40.0,0.0,5.0));
#9145 = VERTEX_POINT('VertPt3',#9144);
#9146 = EDGE_CURVE('EdgeCur3',#9145,#9145,#9143,.T.);
#9147 = ORIENTED_EDGE('OriEdge3',*,*,#9146,.T.);
#9148 = EDGE_LOOP('EdgeLoop3',(#9147));
#9149 = FACE_BOUND('FaceBnd3',#9148,.T.);
#9160 = CIRCLE('Circ4',#9141,25.0);
#9161 = CARTESIAN_POINT('CartPt6',(25.0,0.0,5.0));
#9162 = VERTEX_POINT('VertPt4',#9161);
#9163 = EDGE_CURVE('EdgeCur4',#9162,#9162,#9160,.T.);
#9164 = ORIENTED_EDGE('OriEdge4',*,*,#9163,.T.);
#9165 = EDGE_LOOP('EdgeLoop4',(#9164));
#9166 = FACE_BOUND('FaceBnd4',#9165,.F.);
#9180 = CYLINDRICAL_SURFACE('CylSur1',#9120,40.0);
#9190 = FACE_BOUND('FaceBnd5',#9127,.T.);
#9191 = FACE_BOUND('FaceBnd6',#9148,.F.);
#9192 = ADVANCED_FACE('AdvFace1',(#9190,#9191),#9180,.T.);
#9200 = CYLINDRICAL_SURFACE('CylSur2',#9120,25.0);
#9201 = FACE_BOUND('FaceBnd7',#9135,.F.);
#9202 = FACE_BOUND('FaceBnd8',#9165,.T.);
#9203 = ADVANCED_FACE('AdvFace2',(#9201,#9202),#9200,.F.);
#9210 = CARTESIAN_POINT('CartPt7',(0.0,32.5,0.0));
#9211 = AXIS2_PLACEMENT_3D('Ax2P3D3',#9210,#9103,#9101);
#9212 = CIRCLE('Circ5',#9211,2.5);
#9213 = CARTESIAN_POINT('CartPt8',(2.5,32.5,0.0));
#9214 = VERTEX_POINT('VertPt5',#9213);
#9215 = EDGE_CURVE('EdgeCur5',#9214,#9214,#9212,.T.);
#9216 = ORIENTED_EDGE('OriEdge5',*,*,#9215,.T.);
#9217 = EDGE_LOOP('EdgeLoop5',(#9216));
#9218 = FACE_BOUND('FaceBnd9',#9217,.F.);
#9219 = FACE_BOUND('FaceBnd10',#9217,.T.);
#9220 = CARTESIAN_POINT('CartPt9',(0.0,32.5,5.0));
#9221 = AXIS2_PLACEMENT_3D('Ax2P3D4',#9220,#9103,#9101);
#9222 = CIRCLE('Circ6',#9221,5.0);
#9223 = CARTESIAN_POINT('CartPt10',(5.0,32.5,5.0));
#9224 = VERTEX_POINT('VertPt6',#9223);
#9225 = EDGE_CURVE('EdgeCur6',#9224,#9224,#9222,.T.);
#9226 = ORIENTED_EDGE('OriEdge6',*,*,#9225,.T.);
#9227 = EDGE_LOOP('EdgeLoop6',(#9226));
#9228 = FACE_BOUND('FaceBnd11',#9227,.T.);
#9229 = FACE_BOUND('FaceBnd12',#9227,.F.);
#9230 = CONICAL_SURFACE('ConSur1',#9211,2.5,0.46364761);
#9231 = ADVANCED_FACE('AdvFace3',(#9218,#9228),#9230,.F.);
#9240 = CARTESIAN_POINT('CartPt11',(32.5,0.0,0.0));
#9241 = AXIS2_PLACEMENT_3D('Ax2P3D5',#9240,#9103,#9101);
#9242 = CIRCLE('Circ7',#9241,2.5);
#9243 = CARTESIAN_POINT('CartPt12',(35.0,0.0,0.0));
#9244 = VERTEX_POINT('VertPt7',#9243);
#9245 = EDGE_CURVE('EdgeCur7',#9244,#9244,#9242,.T.);
#9246 = ORIENTED_EDGE('OriEdge7',*,*,#9245,.T.);
#9247 = EDGE_LOOP('EdgeLoop7',(#9246));
#9248 = FACE_BOUND('FaceBnd13',#9247,.F.);
#9249 = FACE_BOUND('FaceBnd14',#9247,.T.);
#9250 = CARTESIAN_POINT('CartPt13',(32.5,0.0,5.0));
#9251 = AXIS2_PLACEMENT_3D('Ax2P3D6',#9250,#9103,#9101);
#9252 = CIRCLE('Circ8',#9251,5.0);
#9253 = CARTESIAN_POINT('CartPt14',(37.5,0.0,5.0));
#9254 = VERTEX_POINT('VertPt8',#9253);
#9255 = EDGE_CURVE('EdgeCur8',#9254,#9254,#9252,.T.);
#9256 = ORIENTED_EDGE('OriEdge8',*,*,#9255,.T.);
#9257 = EDGE_LOOP('EdgeLoop8',(#9256));
#9258 = FACE_BOUND('FaceBnd15',#9257,.T.);
#9259 = FACE_BOUND('FaceBnd16',#9257,.F.);
#9260 = CONICAL_SURFACE('ConSur2',#9241,2.5,0.46364761);
#9261 = ADVANCED_FACE('AdvFace4',(#9248,#9258),#9260,.F.);
#9270 = CARTESIAN_POINT('CartPt15',(0.0,-32.5,0.0));
#9271 = AXIS2_PLACEMENT_3D('Ax2P3D7',#9270,#9103,#9101);
#9272 = CIRCLE('Circ9',#9271,2.5);
#9273 = CARTESIAN_POINT('CartPt16',(2.5,-32.5,0.0));
#9274 = VERTEX_POINT('VertPt9',#9273);
#9275 = EDGE_CURVE('EdgeCur9',#9274,#9274,#9272,.T.);
#9276 = ORIENTED_EDGE('OriEdge9',*,*,#9275,.T.);
#9277 = EDGE_LOOP('EdgeLoop9',(#9276));
#9278 = FACE_BOUND('FaceBnd17',#9277,.F.);
#9279 = FACE_BOUND('FaceBnd18',#9277,.T.);
#9280 = CARTESIAN_POINT('CartPt17',(0.0,-32.5,5.0));
#9281 = AXIS2_PLACEMENT_3D('Ax2P3D8',#9280,#9103,#9101);
#9282 = CIRCLE('Circ10',#9281,5.0);
#9283 = CARTESIAN_POINT('CartPt18',(5.0,-32.5,5.0));
#9284 = VERTEX_POINT('VertPt10',#9283);
#9285 = EDGE_CURVE('EdgeCur10',#9284,#9284,#9282,.T.);
#9286 = ORIENTED_EDGE('OriEdge10',*,*,#9285,.T.);
#9287 = EDGE_LOOP('EdgeLoop10',(#9286));
#9288 = FACE_BOUND('FaceBnd19',#9287,.T.);
#9289 = FACE_BOUND('FaceBnd20',#9287,.F.);
#9290 = CONICAL_SURFACE('ConSur3',#9271,2.5,0.46364761);
#9291 = ADVANCED_FACE('AdvFace5',(#9278,#9288),#9290,.F.);
#9300 = CARTESIAN_POINT('CartPt19',(-32.5,0.0,0.0));
#9301 = AXIS2_PLACEMENT_3D('Ax2P3D9',#9300,#9103,#9101);
#9302 = CIRCLE('Circ11',#9301,2.5);
#9303 = CARTESIAN_POINT('CartPt20',(-30.0,0.0,0.0));
#9304 = VERTEX_POINT('VertPt11',#9303);
#9305 = EDGE_CURVE('EdgeCur11',#9304,#9304,#9302,.T.);
#9306 = ORIENTED_EDGE('OriEdge11',*,*,#9305,.T.);
#9307 = EDGE_LOOP('EdgeLoop11',(#9306));
#9308 = FACE_BOUND('FaceBnd21',#9307,.F.);
#9309 = FACE_BOUND('FaceBnd22',#9307,.T.);
#9310 = CARTESIAN_POINT('CartPt21',(-32.5,0.0,5.0));
#9311 = AXIS2_PLACEMENT_3D('Ax2P3D10',#9310,#9103,#9101);
#9312 = CIRCLE('Circ12',#9311,5.0);
#9313 = CARTESIAN_POINT('CartPt22',(37.5,0.0,5.0));
#9314 = VERTEX_POINT('VertPt12',#9313);
#9315 = EDGE_CURVE('EdgeCur12',#9314,#9314,#9312,.T.);
#9316 = ORIENTED_EDGE('OriEdge12',*,*,#9315,.T.);
#9317 = EDGE_LOOP('EdgeLoop12',(#9316));
#9318 = FACE_BOUND('FaceBnd23',#9317,.T.);
#9319 = FACE_BOUND('FaceBnd24',#9317,.F.);
#9320 = CONICAL_SURFACE('ConSur4',#9301,2.5,0.46364761);
#9321 = ADVANCED_FACE('AdvFace6',(#9308,#9318),#9320,.F.);
#9325 = ADVANCED_FACE('AdvFace7',(#9128,#9136,#9219,#9249,#9279,#9309),#9121,.F.);
#9326 = ADVANCED_FACE('AdvFace8',(#9149,#9166,#9229,#9259,#9289,#9319),#9142,.T.);
#9350 = CLOSED_SHELL('CloseSh1',(#9192,#9203,#9231,#9261,#9291,#9321,#9325,#9326));
#9351 = MANIFOLD_SOLID_BREP('ManSolBrep1',#9350);
#9360 = (GEOMETRIC_REPRESENTATION_CONTEXT(3)
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#9043))
GLOBAL_UNIT_ASSIGNED_CONTEXT((#9040,#9041,#9042))
REPRESENTATION_CONTEXT('CONTEXT for advanced brep test case gasket with conical holes','This is a 3d context using millimeters for linear dimension'));
#9370 = ADVANCED_BREP_SHAPE_REPRESENTATION('ABShapeRep1',(#9351),#9360);
ENDSEC;
END-ISO-10303-21;
+315
View File
@@ -0,0 +1,315 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('STEP conformance test data','AP203 class 6 - advanced brep'),'1');
FILE_NAME('gasket3.p21','1994-12-14 T10:00:00',
('S. Dhar','S. Jetli','M. McFarland','J. Kindrick'),
('Industrial Technology Institute',
'P.O. Box 1485',
'Ann Arbor',
'Michigan',
'48106'),'NIST Data Probe, Release March 1993','conformance test suite','K. H. Muralidhar');
FILE_SCHEMA(('CONFIG_CONTROL_DESIGN'));
ENDSEC;
DATA;
#1=PRODUCT('31113','Flat Semi-elliptical Gasket','Description for part 31113',(#2));
#2=MECHANICAL_CONTEXT('detailed design',#3,'mechanical');
#3=APPLICATION_CONTEXT('Control the configuration of three dimensional design');
#300=APPLICATION_PROTOCOL_DEFINITION('AP definition status','config_control_design', 1994, #3);
#4=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#5,#8,(#1));
#5=PERSON_AND_ORGANIZATION(#6,#7);
#6=PERSON('307-10-5806','Muralidhar','K.',('H.'),$,('PhD.'));
#1097=PERSONAL_ADDRESS($,'17147','New Hamburg Road',$,'Whitmore Lake','Michigan','48189','USA',$,'(313) 769-1234',$,$,(#6));
#7=ORGANIZATION('ITI-Michigan','Industrial Technology Institute','Anot-for-profit engineering and research center');
#8=PERSON_AND_ORGANIZATION_ROLE('design_owner');
#9=PRODUCT_RELATED_PRODUCT_CATEGORY('detail','Part Type for product 31113',(#1));
#1098=PRODUCT_CATEGORY('mechanical','root node');
#1099=PRODUCT_CATEGORY_RELATIONSHIP('root-to-structural','Relates the root to the structural category',#1098,#1100);
#1100=PRODUCT_CATEGORY('structural','The structural product category');
#1101=PRODUCT_CATEGORY_RELATIONSHIP('structural-to-machined','Relate the structural to the machined product categories',#1100,#1102);
#1102=PRODUCT_RELATED_PRODUCT_CATEGORY('machined','Machined category',(#1));
#10=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('A','Description of version with specified source for part 31113',#1,.BOUGHT.);
#11=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#13,#15,(#10));
#13=PERSON_AND_ORGANIZATION(#14,#7);
#14=PERSON('302-30-6149','Quadir','Nur',$,$,$);
#15=PERSON_AND_ORGANIZATION_ROLE('creator');
#44=CC_DESIGN_APPROVAL(#45,(#10));
#45=APPROVAL(#46,'Approved as initial STEP test case part');
#46=APPROVAL_STATUS('approved');
#47=APPROVAL_DATE_TIME(#48,#45);
#48=DATE_AND_TIME(#50,#51);
#50=CALENDAR_DATE(1993,17,7);
#51=LOCAL_TIME(13,29,52.0,#29);
#69=APPROVAL_PERSON_ORGANIZATION(#70,#45,#72);
#70=PERSON_AND_ORGANIZATION(#71,#7);
#71=PERSON('574-20-7069','Kindrick','James',$,$,$);
#72=APPROVAL_ROLE('Authorize part release');
#31=CC_DESIGN_SECURITY_CLASSIFICATION(#32,(#10));
#32=SECURITY_CLASSIFICATION('1993-C1','open availability of STEP test data',#33);
#33=SECURITY_CLASSIFICATION_LEVEL('unclassified');
#34=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#35,#39,(#32));
#35=DATE_AND_TIME(#36,#37);
#36=CALENDAR_DATE(1993,17,7);
#37=LOCAL_TIME(13,$,$,#29);
#39=DATE_TIME_ROLE('classification_date');
#40=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#41,#43,(#32));
#41=PERSON_AND_ORGANIZATION(#42,#7);
#42=PERSON('412-89-3456','Dhar','Shantanu',$,('Mr.'),$);
#43=PERSON_AND_ORGANIZATION_ROLE('classification_officer');
#53=CC_DESIGN_APPROVAL(#54,(#32));
#54=APPROVAL(#55,'Approved as unclassified step test data');
#55=APPROVAL_STATUS('approved');
#56=APPROVAL_DATE_TIME(#57,#54);
#57=DATE_AND_TIME(#58,#59);
#58=CALENDAR_DATE(1993,17,7);
#59=LOCAL_TIME(13,47,28.0,#29);
#73=APPROVAL_PERSON_ORGANIZATION(#74,#54,#76);
#74=PERSON_AND_ORGANIZATION(#75,#7);
#75=PERSON('525-94-5792','Matthews','Robert',('S.'),$,$);
#76=APPROVAL_ROLE('Authorize the security code');
#17=PRODUCT_DEFINITION('D1','Detailed drawing as planned for conformance testing',#10,#18);
#18=DESIGN_CONTEXT('detailed design',#3,'design');
#19=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#13,#23,(#17));
#23=PERSON_AND_ORGANIZATION_ROLE('creator');
#24=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#25,#30,(#17));
#25=DATE_AND_TIME(#27,#28);
#27=CALENDAR_DATE(1993,19,7);
#28=LOCAL_TIME(19,46,55.0,#29);
#29=COORDINATED_UNIVERSAL_TIME_OFFSET(8,$,.BEHIND.);
#30=DATE_TIME_ROLE('creation_date');
#61=CC_DESIGN_APPROVAL(#62,(#17));
#62=APPROVAL(#63,'Approved as STEP conformance testing drawing');
#63=APPROVAL_STATUS('approved');
#64=APPROVAL_DATE_TIME(#65,#62);
#65=DATE_AND_TIME(#66,#67);
#66=CALENDAR_DATE(1993,19,7);
#67=LOCAL_TIME(19,47,51.0,#29);
#77=APPROVAL_PERSON_ORGANIZATION(#70,#62,#79);
#79=APPROVAL_ROLE('Authorize product definition');
#80=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#81,#84,(#10,#1010));
#81=PERSON_AND_ORGANIZATION(#82,#83);
#82=PERSON('CDI-2','Dwaraka','B.',('K.'),$,$);
#83=ORGANIZATION('CDI','Contract Design, Inc.','Contract engineering organization');
#1096=ORGANIZATIONAL_ADDRESS($,'2901','Hubbard','P.O. Box 1485','Ann Arbor','Michigan','48106','USA','(313) 769-4069','(313) 769-4000',$,$,(#83));
#84=PERSON_AND_ORGANIZATION_ROLE('design_supplier');
#88=SUPPLIED_PART_RELATIONSHIP('design','design supplier','The supplier provides detailed designs',#17,#1017);
#85=CC_DESIGN_CERTIFICATION(#86,(#88));
#86=CERTIFICATION('ISO-9000 certified design supplier','quality control',#87);
#87=CERTIFICATION_TYPE('design_supplier');
#89=CC_DESIGN_APPROVAL(#90,(#86));
#90=APPROVAL(#91,'Approved as ISO-9000 certified supplier');
#91=APPROVAL_STATUS('approved');
#92=APPROVAL_PERSON_ORGANIZATION(#70,#90,#93);
#93=APPROVAL_ROLE('Authorize supplier certification');
#94=DATE_AND_TIME(#95,#96);
#95=CALENDAR_DATE(1993,20,4);
#96=LOCAL_TIME(15,47,51.0,#29);
#97=APPROVAL_DATE_TIME(#94,#90);
#98=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#100,#102,(#86));
#99=CALENDAR_DATE(1993,19,4);
#100=DATE_AND_TIME(#99,#101);
#101=LOCAL_TIME(10,41,59.0,#29);
#102=DATE_TIME_ROLE('certification_date');
#1103=PRODUCT('12345','Cube Solid','CDI''s part 12345 description',(#2));
#1109=PRODUCT_RELATED_PRODUCT_CATEGORY('customer_furnished_equipment','Part Type for product 12345',(#1103));
#1104=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1013,#8,(#1103));
#1010=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('S-1','For Cube Solid',#1103,.MADE.);
#1011=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1013,#1016,(#1010));
#1013=PERSON_AND_ORGANIZATION(#1014,#83);
#1014=PERSON('CDI-1','Brandenberg','Chad',('David','George'),$,$);
#1016=PERSON_AND_ORGANIZATION_ROLE('creator');
#1044=CC_DESIGN_APPROVAL(#1045,(#1010));
#1045=APPROVAL(#1046,'Approved as test part design');
#1046=APPROVAL_STATUS('approved');
#1047=APPROVAL_DATE_TIME(#1048,#1045);
#1048=DATE_AND_TIME(#1050,#1051);
#1050=CALENDAR_DATE(1993,19,7);
#1051=LOCAL_TIME(19,51,59.0,#29);
#1069=APPROVAL_PERSON_ORGANIZATION(#1070,#1045,#1072);
#1070=PERSON_AND_ORGANIZATION(#82,#83);
#1072=APPROVAL_ROLE('Authorize part version');
#1031=CC_DESIGN_SECURITY_CLASSIFICATION(#1032,(#1010));
#1032=SECURITY_CLASSIFICATION('1993-C2','open availability of test part designs',#1033);
#1033=SECURITY_CLASSIFICATION_LEVEL('unclassified');
#1034=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#1035,#1039,(#1032));
#1035=DATE_AND_TIME(#1036,#1037);
#1036=CALENDAR_DATE(1993,19,7);
#1037=LOCAL_TIME(19,45,41.0,#29);
#1039=DATE_TIME_ROLE('classification_date');
#1040=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1041,#1043,(#1032));
#1041=PERSON_AND_ORGANIZATION(#1042,#83);
#1042=PERSON('CDI-3','Sauter','Mitch',$,$,$);
#1043=PERSON_AND_ORGANIZATION_ROLE('classification_officer');
#1053=CC_DESIGN_APPROVAL(#1054,(#1032));
#1054=APPROVAL(#1055,'Approved as unclassified part design');
#1055=APPROVAL_STATUS('approved');
#1056=APPROVAL_DATE_TIME(#1057,#1054);
#1057=DATE_AND_TIME(#1058,#1059);
#1058=CALENDAR_DATE(1993,19,7);
#1059=LOCAL_TIME(19,47,58.0,#29);
#1073=APPROVAL_PERSON_ORGANIZATION(#81,#1054,#1076);
#1076=APPROVAL_ROLE('Authorize the security code');
#1017=PRODUCT_DEFINITION('D2','Description of product for part 12345',#1010,#1018);
#1018=DESIGN_CONTEXT('detailed design',#3,'design');
#1019=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1013,#1023,(#1017));
#1023=PERSON_AND_ORGANIZATION_ROLE('creator');
#1024=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#1025,#1030,(#1017));
#1025=DATE_AND_TIME(#1027,#1028);
#1027=CALENDAR_DATE(1993,18,7);
#1028=LOCAL_TIME(10,51,59.0,#29);
#1030=DATE_TIME_ROLE('creation_date');
#1061=CC_DESIGN_APPROVAL(#1062,(#1017));
#1062=APPROVAL(#1063,'Approved as detailed drawing');
#1063=APPROVAL_STATUS('approved');
#1064=APPROVAL_DATE_TIME(#1065,#1062);
#1065=DATE_AND_TIME(#1066,#1067);
#1066=CALENDAR_DATE(1993,19,7);
#1067=LOCAL_TIME(19,51,59.0,#29);
#1077=APPROVAL_PERSON_ORGANIZATION(#81,#1062,#1079);
#1079=APPROVAL_ROLE('Authorize product definition');
#1080=CC_DESIGN_CONTRACT(#1081,(#10));
#1081=CONTRACT('ITI-1121','Development of STEP conformance testing',#1082);
#1082=CONTRACT_TYPE('fixed_price');
#1083=CC_DESIGN_APPROVAL(#1084,(#1081));
#1084=APPROVAL(#1085,'Approved as active project under contract');
#1085=APPROVAL_STATUS('approved');
#1086=APPROVAL_PERSON_ORGANIZATION(#1087,#1084,#1090);
#1087=PERSON_AND_ORGANIZATION(#1088,#1089);
#1088=PERSON('212-33-7485','Masters','Larry',$,$,$);
#1089=ORGANIZATION('NIST','National Institute of Standards and Technology','Institute within the Department of Commerce');
#1090=APPROVAL_ROLE('Authorized the contract');
#1105=APPROVAL_DATE_TIME(#1106,#1084);
#1106=DATE_AND_TIME(#1107,#1108);
#1107=WEEK_OF_YEAR_AND_DAY_DATE(1993,20,5);
#1108=LOCAL_TIME(14,21,7.0,#29);
#1091=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1092,#1095,(#1081));
#1092=PERSON_AND_ORGANIZATION(#1093,#7);
#1093=PERSON('355-55-6849','Kuper','George',$,$,$);
#1095=PERSON_AND_ORGANIZATION_ROLE('contractor');
#1200=SHAPE_DEFINITION_REPRESENTATION(#1201,#9430);
#1201=PRODUCT_DEFINITION_SHAPE('ABR_Shape','Shape of semi-elliptical gasket',#17);
#9040 =(LENGTH_UNIT()NAMED_UNIT(*)SI_UNIT(.MILLI.,.METRE.));
#9041 =(NAMED_UNIT(*)PLANE_ANGLE_UNIT()SI_UNIT($,.RADIAN.));
#9042 =(NAMED_UNIT(*)SI_UNIT($,.STERADIAN.)SOLID_ANGLE_UNIT());
#9043 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(0.000001),#9040,'xx','yy');
#9100 = CARTESIAN_POINT('CartPt1',(0.0,0.0,0.0));
#9101 = DIRECTION('Dir1',(0.1,0.0,0.0));
#9102 = DIRECTION('Dir2',(0.0,1.0,0.0));
#9103 = DIRECTION('Dir3',(0.0,0.0,1.0));
#9104 = DIRECTION('Dir4',(0.0,0.0,-1.0));
#9120 = AXIS2_PLACEMENT_3D('Ax2P3D1',#9100,#9103,#9101);
#9121 = PLANE('Plane1',#9120);
#9122 = ELLIPSE('Ellip1',#9120,40.0,25.0);
#9123 = CARTESIAN_POINT('CartPt2',(0.0,25.0,0.0));
#9124 = VERTEX_POINT('VertPt1',#9123);
#9125 = CARTESIAN_POINT('CartPt3',(0.0,-25.0,0.0));
#9126 = VERTEX_POINT('VertPt2',#9125);
#9127 = EDGE_CURVE('EdgeCur1',#9124,#9126,#9122,.T.);
#9128 = ORIENTED_EDGE('OriEdge1',*,*,#9127,.F.);
#9130 = VECTOR('Vec1',#9102,50.0);
#9131 = LINE('Line1',#9125,#9130);
#9132 = EDGE_CURVE('EdgeCur2',#9126,#9124,#9131,.T.);
#9133 = ORIENTED_EDGE('OriEdge2',*,*,#9132,.F.);
#9134 = EDGE_LOOP('EdgeLoop1',(#9128,#9133));
#9135 = FACE_BOUND('FaceBnd1',#9134,.T.);
#9140 = CARTESIAN_POINT('CartPt4',(-5.0,0.0,0.0));
#9141 = AXIS2_PLACEMENT_3D('Ax2P3D2',#9140,#9103,#9101);
#9142 = ELLIPSE('Ellip2',#9141,30.0,20.0);
#9143 = CARTESIAN_POINT('CartPt5',(-5.0,20.0,0.0));
#9144 = VERTEX_POINT('VertPt3',#9143);
#9145 = CARTESIAN_POINT('CartPt6',(-5.0,-20.0,0.0));
#9146 = VERTEX_POINT('VertPt4',#9145);
#9147 = EDGE_CURVE('EdgeCur3',#9144,#9146,#9142,.T.);
#9148 = ORIENTED_EDGE('OriEdge3',*,*,#9147,.T.);
#9150 = VECTOR('Vec2',#9102,40.0);
#9151 = LINE('Line2',#9145,#9150);
#9152 = EDGE_CURVE('EdgeCur4',#9146,#9144,#9151,.T.);
#9153 = ORIENTED_EDGE('OriEdge4',*,*,#9152,.T.);
#9154 = EDGE_LOOP('EdgeLoop2',(#9148,#9153));
#9155 = FACE_BOUND('FaceBnd2',#9154,.T.);
#9156 = ADVANCED_FACE('AdvFace1',(#9155,#9135),#9121,.F.);
#9160 = CARTESIAN_POINT('CartPt7',(0.0,0.0,5.0));
#9161 = AXIS2_PLACEMENT_3D('Ax2P3D3',#9160,#9103,#9101);
#9162 = PLANE('Plane2',#9161);
#9163 = ELLIPSE('Ellip3',#9161,40.0,25.0);
#9164 = CARTESIAN_POINT('CartPt8',(0.0,25.0,5.0));
#9165 = VERTEX_POINT('VertPt5',#9164);
#9166 = CARTESIAN_POINT('CartPt9',(0.0,-25.0,5.0));
#9167 = VERTEX_POINT('VertPt6',#9166);
#9168 = EDGE_CURVE('EdgeCur5',#9165,#9167,#9163,.T.);
#9169 = ORIENTED_EDGE('OriEdge5',*,*,#9168,.T.);
#9170 = LINE('Line3',#9166,#9130);
#9171 = EDGE_CURVE('EdgeCur6',#9167,#9165,#9170,.T.);
#9172 = ORIENTED_EDGE('OriEdge6',*,*,#9171,.T.);
#9173 = EDGE_LOOP('EdgeLoop3',(#9169,#9172));
#9174 = FACE_BOUND('FaceBnd3',#9173,.T.);
#9180 = CARTESIAN_POINT('CartPt10',(-5.0,0.0,5.0));
#9181 = AXIS2_PLACEMENT_3D('Ax2P3D4',#9180,#9103,#9101);
#9182 = ELLIPSE('Ellip4',#9181,30.0,20.0);
#9183 = CARTESIAN_POINT('CartPt11',(-5.0,20.0,5.0));
#9184 = VERTEX_POINT('VertPt7',#9183);
#9185 = CARTESIAN_POINT('CartPt12',(-5.0,-20.0,5.0));
#9186 = VERTEX_POINT('VertPt8',#9185);
#9187 = EDGE_CURVE('EdgeCur7',#9184,#9186,#9182,.T.);
#9188 = ORIENTED_EDGE('OriEdge7',*,*,#9187,.F.);
#9190 = LINE('Line4',#9185,#9150);
#9191 = EDGE_CURVE('EdgeCur8',#9186,#9184,#9190,.T.);
#9192 = ORIENTED_EDGE('OriEdge8',*,*,#9191,.F.);
#9193 = EDGE_LOOP('EdgeLoop4',(#9188,#9192));
#9194 = FACE_BOUND('FaceBnd4',#9193,.T.);
#9195 = ADVANCED_FACE('AdvFace2',(#9174,#9194),#9162,.T.);
#9200 = VECTOR('Vec3',#9103,5.0);
#9201 = SURFACE_OF_LINEAR_EXTRUSION('SurLExt1',#9122,#9200);
#9210 = ORIENTED_EDGE('OriEdge9',*,*,#9127,.T.);
#9220 = LINE('Line5',#9125,#9200);
#9221 = EDGE_CURVE('EdgeCur9',#9126,#9167,#9220,.T.);
#9222 = ORIENTED_EDGE('OriEdge10',*,*,#9221,.T.);
#9230 = ORIENTED_EDGE('OriEdge11',*,*,#9168,.F.);
#9240 = LINE('Line6',#9123,#9200);
#9241 = EDGE_CURVE('EdgeCur10',#9165,#9124,#9240,.F.);
#9242 = ORIENTED_EDGE('OriEdge12',*,*,#9241,.T.);
#9250 = EDGE_LOOP('EdgeLoop5',(#9210,#9222,#9230,#9242));
#9251 = FACE_BOUND('FaceBnd5',#9250,.T.);
#9252 = ADVANCED_FACE('AdvFace3',(#9251),#9201,.T.);
#9260 = AXIS2_PLACEMENT_3D('Ax2P3D5',#9100,#9101,#9104);
#9261 = PLANE('Plane3',#9260);
#9270 = ORIENTED_EDGE('OriEdge13',*,*,#9221,.F.);
#9280 = ORIENTED_EDGE('OriEdge14',*,*,#9132,.T.);
#9290 = ORIENTED_EDGE('OriEdge15',*,*,#9241,.F.);
#9300 = ORIENTED_EDGE('OriEdge16',*,*,#9171,.F.);
#9301 = EDGE_LOOP('EdgeLoop6',(#9270,#9280,#9290,#9300));
#9302 = FACE_BOUND('FaceBnd6',#9301,.T.);
#9303 = ADVANCED_FACE('AdvFace4',(#9302),#9261,.T.);
#9310 = SURFACE_OF_LINEAR_EXTRUSION('SurLExt2',#9142,#9200);
#9320 = ORIENTED_EDGE('OriEdge17',*,*,#9147,.F.);
#9330 = LINE('Line7',#9143,#9200);
#9331 = EDGE_CURVE('EdgeCur11',#9144,#9184,#9330,.T.);
#9332 = ORIENTED_EDGE('OriEdge18',*,*,#9331,.T.);
#9340 = ORIENTED_EDGE('OriEdge19',*,*,#9187,.T.);
#9350 = LINE('Line8',#9145,#9200);
#9351 = EDGE_CURVE('EdgeCur12',#9146,#9186,#9350,.F.);
#9352 = ORIENTED_EDGE('OriEdge20',*,*,#9351,.F.);
#9353 = EDGE_LOOP('EdgeLoop7',(#9320,#9332,#9340,#9352));
#9354 = FACE_BOUND('FaceBnd7',#9353,.T.);
#9355 = ADVANCED_FACE('AdvFace5',(#9354),#9310,.F.);
#9360 = AXIS2_PLACEMENT_3D('Ax2P3D6',#9140,#9101,#9104);
#9361 = PLANE('Plane4',#9360);
#9370 = ORIENTED_EDGE('OriEdge21',*,*,#9152,.F.);
#9380 = ORIENTED_EDGE('OriEdge22',*,*,#9351,.T.);
#9390 = ORIENTED_EDGE('OriEdge23',*,*,#9191,.T.);
#9400 = ORIENTED_EDGE('OriEdge24',*,*,#9331,.F.);
#9401 = EDGE_LOOP('EdgeLoop8',(#9370,#9380,#9390,#9400));
#9402 = FACE_BOUND('FaceBnd8',#9401,.T.);
#9403 = ADVANCED_FACE('AdvFace6',(#9402),#9361,.F.);
#9410 = CLOSED_SHELL('CloseSh1',(#9156,#9195,#9252,#9303,#9355,#9403));
#9411 = MANIFOLD_SOLID_BREP('ManSolBrep1',#9410);
#9420 = (GEOMETRIC_REPRESENTATION_CONTEXT(3)
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#9043))
GLOBAL_UNIT_ASSIGNED_CONTEXT((#9040,#9041,#9042))
REPRESENTATION_CONTEXT('CONTEXT for advanced brep test case semi-elliptical gasket','This is a 3d context using millimeters for linear dimension'));
#9430 = ADVANCED_BREP_SHAPE_REPRESENTATION('ABShapeRep1',(#9411),#9420);
ENDSEC;
END-ISO-10303-21;
+239
View File
@@ -0,0 +1,239 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('STEP conformance test data','AP203 class 5 - facetted brep'),'1');
FILE_NAME('hex_prism1.p21','1994-12-14 T10:00:00',
('S. Dhar','S. Jetli','M. McFarland','J. Kindrick'),
('Industrial Technology Institute',
'P.O. Box 1485',
'Ann Arbor',
'Michigan',
'48106'),'NIST Data Probe, Release March 1993','conformance test suite','K. H. Muralidhar');
FILE_SCHEMA(('CONFIG_CONTROL_DESIGN'));
ENDSEC;
DATA;
#1=PRODUCT('11112','Solid Hexagonal Cylinder','Description for part 11112',(#2));
#2=MECHANICAL_CONTEXT('detailed design',#3,'mechanical');
#3=APPLICATION_CONTEXT('Control the configuration of three dimensional design');
#300=APPLICATION_PROTOCOL_DEFINITION('AP definition status','config_control_design', 1994, #3);
#4=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#5,#8,(#1));
#5=PERSON_AND_ORGANIZATION(#6,#7);
#6=PERSON('307-10-5806','Muralidhar','K.',('H.'),$,$);
#7=ORGANIZATION('ITI-Michigan','Industrial Technology Institute','A not-for-profit engineering and research center');
#8=PERSON_AND_ORGANIZATION_ROLE('design_owner');
#9=PRODUCT_RELATED_PRODUCT_CATEGORY('detail','Part Type for product 11112',(#1));
#10=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('A','Description of version with specified source for part 11112',#1,.BOUGHT.);
#11=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#13,#15,(#10));
#13=PERSON_AND_ORGANIZATION(#14,#7);
#14=PERSON('302-30-6149','Quadir','Nur',$,$,$);
#15=PERSON_AND_ORGANIZATION_ROLE('creator');
#44=CC_DESIGN_APPROVAL(#45,(#10));
#45=APPROVAL(#46,'Approved as initial STEP test case part');
#46=APPROVAL_STATUS('approved');
#47=APPROVAL_DATE_TIME(#48,#45);
#48=DATE_AND_TIME(#50,#51);
#50=CALENDAR_DATE(1993,17,7);
#51=LOCAL_TIME(13,29,52.0,#29);
#69=APPROVAL_PERSON_ORGANIZATION(#70,#45,#72);
#70=PERSON_AND_ORGANIZATION(#71,#7);
#71=PERSON('574-20-7069','Kindrick','James',$,$,$);
#72=APPROVAL_ROLE('Authorize part release');
#31=CC_DESIGN_SECURITY_CLASSIFICATION(#32,(#10));
#32=SECURITY_CLASSIFICATION('1993-C1','open availability of STEP test data',#33);
#33=SECURITY_CLASSIFICATION_LEVEL('unclassified');
#34=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#35,#39,(#32));
#35=DATE_AND_TIME(#36,#37);
#36=CALENDAR_DATE(1993,17,7);
#37=LOCAL_TIME(13,45,20.0,#29);
#39=DATE_TIME_ROLE('classification_date');
#40=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#41,#43,(#32));
#41=PERSON_AND_ORGANIZATION(#42,#7);
#42=PERSON('412-89-3456','Dhar','Shantanu',$,('Mr.'),$);
#43=PERSON_AND_ORGANIZATION_ROLE('classification_officer');
#53=CC_DESIGN_APPROVAL(#54,(#32));
#54=APPROVAL(#55,'Approved as unclassified step test data');
#55=APPROVAL_STATUS('approved');
#56=APPROVAL_DATE_TIME(#57,#54);
#57=DATE_AND_TIME(#58,#59);
#58=CALENDAR_DATE(1993,17,7);
#59=LOCAL_TIME(13,47,28.0,#29);
#73=APPROVAL_PERSON_ORGANIZATION(#74,#54,#76);
#74=PERSON_AND_ORGANIZATION(#75,#7);
#75=PERSON('525-94-5792','Matthews','Robert',('S.'),$,$);
#76=APPROVAL_ROLE('Authorize the security code');
#17=PRODUCT_DEFINITION('D1','Detailed drawing as planned for conformance testing',#10,#18);
#18=DESIGN_CONTEXT('detailed design',#3,'design');
#19=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#13,#23,(#17));
#23=PERSON_AND_ORGANIZATION_ROLE('creator');
#24=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#25,#30,(#17));
#25=DATE_AND_TIME(#27,#28);
#27=CALENDAR_DATE(1993,19,7);
#28=LOCAL_TIME(19,46,55.0,#29);
#29=COORDINATED_UNIVERSAL_TIME_OFFSET(8,$,.BEHIND.);
#30=DATE_TIME_ROLE('creation_date');
#61=CC_DESIGN_APPROVAL(#62,(#17));
#62=APPROVAL(#63,'Approved as STEP conformance testing drawing');
#63=APPROVAL_STATUS('approved');
#64=APPROVAL_DATE_TIME(#65,#62);
#65=DATE_AND_TIME(#66,#67);
#66=CALENDAR_DATE(1993,19,7);
#67=LOCAL_TIME(19,47,51.0,#29);
#77=APPROVAL_PERSON_ORGANIZATION(#70,#62,#79);
#79=APPROVAL_ROLE('Authorize product definition');
#80=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#81,#84,(#10,#1010));
#81=PERSON_AND_ORGANIZATION(#82,#83);
#82=PERSON('CDI-2','Dwaraka','B.',('K.'),$,$);
#83=ORGANIZATION('CDI','Contract Design, Inc.','Contract engineering organization.');
#84=PERSON_AND_ORGANIZATION_ROLE('design_supplier');
#88=SUPPLIED_PART_RELATIONSHIP('design','design supplier','The supplier provides detailed designs',#17,#1017);
#85=CC_DESIGN_CERTIFICATION(#86,(#88));
#86=CERTIFICATION('ISO-9000 certified design supplier','quality control',#87);
#87=CERTIFICATION_TYPE('design_supplier');
#89=CC_DESIGN_APPROVAL(#90,(#86));
#90=APPROVAL(#91,'Approved as ISO-9000 certified supplier');
#91=APPROVAL_STATUS('approved');
#92=APPROVAL_PERSON_ORGANIZATION(#70,#90,#93);
#93=APPROVAL_ROLE('Authorize supplier certification');
#94=DATE_AND_TIME(#95,#96);
#95=CALENDAR_DATE(1993,20,4);
#96=LOCAL_TIME(15,47,51.0,#29);
#97=APPROVAL_DATE_TIME(#94,#90);
#98=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#100,#102,(#86));
#99=CALENDAR_DATE(1993,19,4);
#100=DATE_AND_TIME(#99,#101);
#101=LOCAL_TIME(10,41,59.0,#29);
#102=DATE_TIME_ROLE('certification_date');
#1010=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('S-1','For Solid Hexagonal Cylinder',#1,.MADE.);
#1011=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1013,#1016,(#1010));
#1013=PERSON_AND_ORGANIZATION(#1014,#83);
#1014=PERSON('CDI-1','Brandenberg','Chad',$,$,$);
#1016=PERSON_AND_ORGANIZATION_ROLE('creator');
#1044=CC_DESIGN_APPROVAL(#1045,(#1010));
#1045=APPROVAL(#1046,'Approved as test part design');
#1046=APPROVAL_STATUS('approved');
#1047=APPROVAL_DATE_TIME(#1048,#1045);
#1048=DATE_AND_TIME(#1050,#1051);
#1050=CALENDAR_DATE(1993,19,7);
#1051=LOCAL_TIME(19,51,59.0,#29);
#1069=APPROVAL_PERSON_ORGANIZATION(#1070,#1045,#1072);
#1070=PERSON_AND_ORGANIZATION(#82,#83);
#1072=APPROVAL_ROLE('Authorize part version');
#1031=CC_DESIGN_SECURITY_CLASSIFICATION(#1032,(#1010));
#1032=SECURITY_CLASSIFICATION('1993-C2','open availability of test part designs',#1033);
#1033=SECURITY_CLASSIFICATION_LEVEL('unclassified');
#1034=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#1035,#1039,(#1032));
#1035=DATE_AND_TIME(#1036,#1037);
#1036=CALENDAR_DATE(1993,19,7);
#1037=LOCAL_TIME(19,45,41.0,#29);
#1039=DATE_TIME_ROLE('classification_date');
#1040=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1041,#1043,(#1032));
#1041=PERSON_AND_ORGANIZATION(#1042,#83);
#1042=PERSON('CDI-3','Sauter','Mitch',$,$,$);
#1043=PERSON_AND_ORGANIZATION_ROLE('classification_officer');
#1053=CC_DESIGN_APPROVAL(#1054,(#1032));
#1054=APPROVAL(#1055,'Approved as unclassified part design');
#1055=APPROVAL_STATUS('approved');
#1056=APPROVAL_DATE_TIME(#1057,#1054);
#1057=DATE_AND_TIME(#1058,#1059);
#1058=CALENDAR_DATE(1993,19,7);
#1059=LOCAL_TIME(19,47,58.0,#29);
#1073=APPROVAL_PERSON_ORGANIZATION(#81,#1054,#1076);
#1076=APPROVAL_ROLE('Authorize the security code');
#1017=PRODUCT_DEFINITION('D2','Description of product for part 11112',#1010,#1018);
#1018=DESIGN_CONTEXT('detailed design',#3,'design');
#1019=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1013,#1023,(#1017));
#1023=PERSON_AND_ORGANIZATION_ROLE('creator');
#1024=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#1025,#1030,(#1017));
#1025=DATE_AND_TIME(#1027,#1028);
#1027=CALENDAR_DATE(1993,18,7);
#1028=LOCAL_TIME(10,51,59.0,#29);
#1030=DATE_TIME_ROLE('creation_date');
#1061=CC_DESIGN_APPROVAL(#1062,(#1017));
#1062=APPROVAL(#1063,'Approved as detailed drawing');
#1063=APPROVAL_STATUS('approved');
#1064=APPROVAL_DATE_TIME(#1065,#1062);
#1065=DATE_AND_TIME(#1066,#1067);
#1066=CALENDAR_DATE(1993,19,7);
#1067=LOCAL_TIME(19,51,59.0,#29);
#1077=APPROVAL_PERSON_ORGANIZATION(#81,#1062,#1079);
#1079=APPROVAL_ROLE('Authorize product definition');
#1080=SHAPE_DEFINITION_REPRESENTATION(#1081,#9280);
#1081=PRODUCT_DEFINITION_SHAPE('FBR_Shape','Shape of Solid Hexagonal Cylinder',#17);
#9010 = DIMENSIONAL_EXPONENTS(1.0,0.0,0.0,0.0,0.0,0.0,0.0);
#9040 = (LENGTH_UNIT()NAMED_UNIT(*)SI_UNIT(.CENTI.,.METRE.));
#9041 = LENGTH_MEASURE_WITH_UNIT(POSITIVE_LENGTH_MEASURE(2.54),#9040);
#9042 = (CONVERSION_BASED_UNIT('inch',#9041)LENGTH_UNIT()NAMED_UNIT(#9010));
#9043 = (NAMED_UNIT(*)PLANE_ANGLE_UNIT()SI_UNIT($,.RADIAN.));
#9044 = (NAMED_UNIT(*)SI_UNIT($,.STERADIAN.)SOLID_ANGLE_UNIT());
#9045 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(0.000001),#9042,'xx','yy');
#9100 = DIRECTION('Dir1',(0.0,0.0,1.0));
#9101 = DIRECTION('Dir2',(1.0,0.0,0.0));
#9103 = DIRECTION('Dir4',(0.0,0.0,-1.0));
#9104 = DIRECTION('Dir5',(-1.0,0.0,0.0));
#9120 = CARTESIAN_POINT('CartPt1',(0.0,0.0,0.0));
#9121 = CARTESIAN_POINT('CartPt2',(0.0,2.0,0.0));
#9122 = CARTESIAN_POINT('CartPt3',(1.7320508,3.0,0.0));
#9123 = CARTESIAN_POINT('CartPt4',(3.4641016,2.0,0.0));
#9124 = CARTESIAN_POINT('CartPt5',(3.4641016,0.0,0.0));
#9125 = CARTESIAN_POINT('CartPt6',(1.7320508,-1.0,0.0));
#9126 = AXIS2_PLACEMENT_3D('Ax2P3D1',#9120,#9100,#9101);
#9127 = PLANE('Plane1',#9126);
#9128 = POLY_LOOP('PolyLoop1',(#9120,#9121,#9122,#9123,#9124,#9125));
#9129 = FACE_BOUND('FaceBnd1',#9128,.T.);
#9130 = FACE_SURFACE('FaceSurf1',(#9129),#9127,.F.);
#9150 = CARTESIAN_POINT('CartPt7',(0.0,0.0,8.0));
#9151 = CARTESIAN_POINT('CartPt8',(0.0,2.0,8.0));
#9152 = CARTESIAN_POINT('CartPt9',(1.7320508,3.0,8.0));
#9153 = CARTESIAN_POINT('CartPt10',(3.4641016,2.0,8.0));
#9154 = CARTESIAN_POINT('CartPt11',(3.4641016,0.0,8.0));
#9155 = CARTESIAN_POINT('CartPt12',(1.7320508,-1.0,8.0));
#9156 = AXIS2_PLACEMENT_3D('Ax2P3D2',#9150,#9100,#9101);
#9157 = PLANE('Plane2',#9156);
#9158 = POLY_LOOP('PolyLoop2',(#9150,#9151,#9152,#9153,#9154,#9155));
#9159 = FACE_BOUND('FaceBnd2',#9158,.F.);
#9160 = FACE_SURFACE('FaceSurf2',(#9159),#9157,.T.);
#9180 = AXIS2_PLACEMENT_3D('Ax2P3D3',#9120,#9101,#9103);
#9181 = PLANE('Plane3',#9180);
#9182 = POLY_LOOP('PolyLoop3',(#9120,#9121,#9151,#9150));
#9183 = FACE_BOUND('FaceBnd3',#9182,.F.);
#9184 = FACE_SURFACE('FaceSurf3',(#9183),#9181,.F.);
#9190 = DIRECTION('Dir6',(0.5,-0.8660254,0.0));
#9191 = AXIS2_PLACEMENT_3D('Ax2P3D4',#9121,#9190,#9103);
#9192 = PLANE('Plane4',#9191);
#9193 = POLY_LOOP('PolyLoop4',(#9121,#9122,#9152,#9151));
#9194 = FACE_BOUND('FaceBnd4',#9193,.F.);
#9195 = FACE_SURFACE('FaceSurf4',(#9194),#9192,.F.);
#9200 = DIRECTION('Dir7',(-0.5,-0.8660254,0.0));
#9201 = AXIS2_PLACEMENT_3D('Ax2P3D5',#9122,#9200,#9103);
#9202 = PLANE('Plane5',#9201);
#9203 = POLY_LOOP('PolyLoop5',(#9122,#9123,#9153,#9152));
#9204 = FACE_BOUND('FaceBnd5',#9203,.F.);
#9205 = FACE_SURFACE('FaceSurf5',(#9204),#9202,.F.);
#9210 = AXIS2_PLACEMENT_3D('Ax2P3D6',#9123,#9104,#9100);
#9211 = PLANE('Plane6',#9210);
#9212 = POLY_LOOP('PolyLoop6',(#9123,#9124,#9154,#9153));
#9213 = FACE_BOUND('FaceBnd6',#9212,.F.);
#9214 = FACE_SURFACE('FaceSurf6',(#9213),#9211,.F.);
#9220 = DIRECTION('Dir8',(-0.5,0.8660254,0.0));
#9221 = AXIS2_PLACEMENT_3D('Ax2P3D7',#9124,#9220,#9100);
#9222 = PLANE('Plane7',#9221);
#9223 = POLY_LOOP('PolyLoop7',(#9124,#9154,#9155,#9125));
#9224 = FACE_BOUND('FaceBnd7',#9223,.T.);
#9225 = FACE_SURFACE('FaceSurf7',(#9224),#9222,.F.);
#9230 = DIRECTION('Dir9',(0.5,0.8660254,0.0));
#9231 = AXIS2_PLACEMENT_3D('Ax2P3D8',#9125,#9230,#9100);
#9232 = PLANE('Plane8',#9231);
#9233 = POLY_LOOP('PolyLoop8',(#9125,#9120,#9150,#9155));
#9234 = FACE_BOUND('FaceBnd8',#9233,.F.);
#9235 = FACE_SURFACE('FaceSurf8',(#9234),#9232,.F.);
#9250 = CLOSED_SHELL('CloseSh1',(#9130,#9160,#9184,#9195,#9205,#9214,#9225,#9235));
#9260 = FACETED_BREP('FacedBrep1',#9250);
#9270 = (GEOMETRIC_REPRESENTATION_CONTEXT(3)
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#9045))
GLOBAL_UNIT_ASSIGNED_CONTEXT((#9042,#9043,#9044))
REPRESENTATION_CONTEXT('CONTEXT for facetted brep test case','This is a 3d context using inches for linear dimension'));
#9280 = FACETED_BREP_SHAPE_REPRESENTATION('FBShapeRep1',(#9260),#9270);
ENDSEC;
END-ISO-10303-21;
+264
View File
@@ -0,0 +1,264 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('STEP conformance test data','AP203 class 6 - advanced brep'),'1');
FILE_NAME('rod_aspect1.p21','1994-12-14 T10:00:00',
('S. Dhar','S. Jetli','M. McFarland','J. Kindrick'),
('Industrial Technology Institute',
'P.O. Box 1485',
'Ann Arbor',
'Michigan',
'48106'),'NIST Data Probe, Release March 1993','conformance test suite','K. H. Muralidhar');
FILE_SCHEMA(('CONFIG_CONTROL_DESIGN'));
ENDSEC;
DATA;
#1=PRODUCT('41113','Rod with Conical Tip','Description for part 41113',(#2));
#2=MECHANICAL_CONTEXT('detailed design',#3,'mechanical');
#3=APPLICATION_CONTEXT('Control the configuration of three dimensional design');
#300=APPLICATION_PROTOCOL_DEFINITION('AP definition status','config_control_design', 1994, #3);
#4=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#5,#8,(#1));
#5=PERSON_AND_ORGANIZATION(#6,#7);
#6=PERSON('307-10-5806','Muralidhar','K.',('H.'),$,('PhD.'));
#1097=PERSONAL_ADDRESS($,'17147','New Hamburg Road',$,'Whitmore Lake','Michigan','48189','USA',$,'(313) 769-4306',$,$,(#6));
#7=ORGANIZATION('ITI-Michigan','Industrial Technology Institute','Anot-for-profit engineering and research center');
#8=PERSON_AND_ORGANIZATION_ROLE('design_owner');
#2101=PRODUCT_CATEGORY_RELATIONSHIP('root-to-standard','Relate the root to the standard product category',#1098,#1109);
#1109=PRODUCT_CATEGORY('standard_part','Identifies this as a standard part') ;
#1101=PRODUCT_CATEGORY_RELATIONSHIP('standard-to-detail','Relate the standard to the detail product category',#1109,#9);
#9=PRODUCT_RELATED_PRODUCT_CATEGORY('detail','Part Type for product 41113',(#1));
#1098=PRODUCT_CATEGORY('mechanical','mechanical product category: root node');
#1099=PRODUCT_CATEGORY_RELATIONSHIP('root-to-structural','Relates the root to the structural category',#1098,#1100);
#1100=PRODUCT_CATEGORY('structural','The structural product category');
#1110=PRODUCT_CATEGORY_RELATIONSHIP('structural-to-machined', 'Relates the structural to the machined category',#1100,#1102) ;
#1102=PRODUCT_RELATED_PRODUCT_CATEGORY('machined','The machined product category',(#1));
#10=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('A','Description of version with specified source for part 41113',#1,.BOUGHT.);
#11=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#13,#15,(#10));
#13=PERSON_AND_ORGANIZATION(#14,#7);
#14=PERSON('302-30-6149','Quadir','Nur',$,$,$);
#15=PERSON_AND_ORGANIZATION_ROLE('creator');
#44=CC_DESIGN_APPROVAL(#45,(#10));
#45=APPROVAL(#46,'Approved as initial STEP test case part');
#46=APPROVAL_STATUS('approved');
#47=APPROVAL_DATE_TIME(#48,#45);
#48=DATE_AND_TIME(#50,#51);
#50=CALENDAR_DATE(1993,17,7);
#51=LOCAL_TIME(13,29,52.0,#29);
#69=APPROVAL_PERSON_ORGANIZATION(#70,#45,#72);
#70=PERSON_AND_ORGANIZATION(#71,#7);
#71=PERSON('574-20-7069','Kindrick','James',$,$,$);
#72=APPROVAL_ROLE('Authorize part release');
#31=CC_DESIGN_SECURITY_CLASSIFICATION(#32,(#10));
#32=SECURITY_CLASSIFICATION('1993-C1','open availability of STEP test data',#33);
#33=SECURITY_CLASSIFICATION_LEVEL('unclassified');
#34=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#35,#39,(#32));
#35=DATE_AND_TIME(#36,#37);
#36=CALENDAR_DATE(1993,17,7);
#37=LOCAL_TIME(13,$,$,#29);
#39=DATE_TIME_ROLE('classification_date');
#40=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#41,#43,(#32));
#41=PERSON_AND_ORGANIZATION(#42,#7);
#42=PERSON('412-89-3456','Dhar','Shantanu',$,('Mr.'),$);
#43=PERSON_AND_ORGANIZATION_ROLE('classification_officer');
#53=CC_DESIGN_APPROVAL(#54,(#32));
#54=APPROVAL(#55,'Approved as unclassified step test data');
#55=APPROVAL_STATUS('approved');
#56=APPROVAL_DATE_TIME(#57,#54);
#57=DATE_AND_TIME(#58,#59);
#58=CALENDAR_DATE(1993,17,7);
#59=LOCAL_TIME(13,47,28.0,#29);
#73=APPROVAL_PERSON_ORGANIZATION(#74,#54,#76);
#74=PERSON_AND_ORGANIZATION(#75,#7);
#75=PERSON('525-94-5792','Matthews','Robert',('S.'),$,$);
#76=APPROVAL_ROLE('Authorize the security code');
#17=PRODUCT_DEFINITION('D1','Detailed drawing as planned for conformance testing',#10,#18);
#18=DESIGN_CONTEXT('detailed design',#3,'design');
#19=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#13,#23,(#17));
#23=PERSON_AND_ORGANIZATION_ROLE('creator');
#24=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#25,#30,(#17));
#25=DATE_AND_TIME(#27,#28);
#27=CALENDAR_DATE(1993,19,7);
#28=LOCAL_TIME(19,46,55.0,#29);
#29=COORDINATED_UNIVERSAL_TIME_OFFSET(8,$,.BEHIND.);
#30=DATE_TIME_ROLE('creation_date');
#61=CC_DESIGN_APPROVAL(#62,(#17));
#62=APPROVAL(#63,'Approved as STEP conformance testing drawing');
#63=APPROVAL_STATUS('approved');
#64=APPROVAL_DATE_TIME(#65,#62);
#65=DATE_AND_TIME(#66,#67);
#66=CALENDAR_DATE(1993,19,7);
#67=LOCAL_TIME(19,47,51.0,#29);
#77=APPROVAL_PERSON_ORGANIZATION(#70,#62,#79);
#79=APPROVAL_ROLE('Authorize product definition');
#80=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#81,#84,(#10,#1010));
#81=PERSON_AND_ORGANIZATION(#82,#83);
#82=PERSON('CDI-2','Dwaraka','B.',('K.'),$,$);
#83=ORGANIZATION('CDI','Contract Design, Inc.','Contract engineering organization');
#1096=ORGANIZATIONAL_ADDRESS($,'2901','Hubbard','P.O. Box 1485','Ann Arbor','Michigan','48106','USA','(313) 769-4069','(313) 769-4000',$,$,(#83));
#84=PERSON_AND_ORGANIZATION_ROLE('design_supplier');
#88=SUPPLIED_PART_RELATIONSHIP('design','design supplier','The supplier provides detailed designs',#17,#1017);
#85=CC_DESIGN_CERTIFICATION(#86,(#88));
#86=CERTIFICATION('ISO-9000 certified design supplier','quality control',#87);
#87=CERTIFICATION_TYPE('design_supplier');
#89=CC_DESIGN_APPROVAL(#90,(#86));
#90=APPROVAL(#91,'Approved as ISO-9000 certified supplier');
#91=APPROVAL_STATUS('approved');
#92=APPROVAL_PERSON_ORGANIZATION(#70,#90,#93);
#93=APPROVAL_ROLE('Authorize supplier certification');
#94=DATE_AND_TIME(#95,#96);
#95=CALENDAR_DATE(1993,20,4);
#96=LOCAL_TIME(15,47,51.0,#29);
#97=APPROVAL_DATE_TIME(#94,#90);
#98=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#100,#102,(#86));
#99=CALENDAR_DATE(1993,19,4);
#100=DATE_AND_TIME(#99,#101);
#101=LOCAL_TIME(10,41,59.0,#29);
#102=DATE_TIME_ROLE('certification_date');
#1103=PRODUCT('12345','Conical Tip Rod','CDI''s part 12345 description',(#2));
#2009=PRODUCT_RELATED_PRODUCT_CATEGORY('customer_furnished_equipment','Part Type for product 12345',(#1103));
#1104=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1013,#8,(#1103));
#1010=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('S-1','For Conical Tip Rod ',#1103,.MADE.);
#1011=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1013,#1016,(#1010));
#1013=PERSON_AND_ORGANIZATION(#1014,#83);
#1014=PERSON('CDI-1','Brandenberg','Chad',('David','George'),$,$);
#1016=PERSON_AND_ORGANIZATION_ROLE('creator');
#1044=CC_DESIGN_APPROVAL(#1045,(#1010));
#1045=APPROVAL(#1046,'Approved as test part design');
#1046=APPROVAL_STATUS('approved');
#1047=APPROVAL_DATE_TIME(#1048,#1045);
#1048=DATE_AND_TIME(#1050,#1051);
#1050=CALENDAR_DATE(1993,19,7);
#1051=LOCAL_TIME(19,51,59.0,#29);
#1069=APPROVAL_PERSON_ORGANIZATION(#1070,#1045,#1072);
#1070=PERSON_AND_ORGANIZATION(#82,#83);
#1072=APPROVAL_ROLE('Authorize part version');
#1031=CC_DESIGN_SECURITY_CLASSIFICATION(#1032,(#1010));
#1032=SECURITY_CLASSIFICATION('1993-C2','open availability of test part designs',#1033);
#1033=SECURITY_CLASSIFICATION_LEVEL('unclassified');
#1034=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#1035,#1039,(#1032));
#1035=DATE_AND_TIME(#1036,#1037);
#1036=CALENDAR_DATE(1993,19,7);
#1037=LOCAL_TIME(19,45,41.0,#29);
#1039=DATE_TIME_ROLE('classification_date');
#1040=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1041,#1043,(#1032));
#1041=PERSON_AND_ORGANIZATION(#1042,#83);
#1042=PERSON('CDI-3','Sauter','Mitch',$,$,$);
#1043=PERSON_AND_ORGANIZATION_ROLE('classification_officer');
#1111=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#1112,#1115,(#1032));
#1112=DATE_AND_TIME(#1113,#1114);
#1113=CALENDAR_DATE(1993,1,10);
#1114=LOCAL_TIME(9,$,$,#29);
#1115=DATE_TIME_ROLE('declassification_date');
#1053=CC_DESIGN_APPROVAL(#1054,(#1032));
#1054=APPROVAL(#1055,'Approved as unclassified part design');
#1055=APPROVAL_STATUS('approved');
#1056=APPROVAL_DATE_TIME(#1057,#1054);
#1057=DATE_AND_TIME(#1058,#1059);
#1058=CALENDAR_DATE(1993,19,7);
#1059=LOCAL_TIME(19,47,58.0,#29);
#1073=APPROVAL_PERSON_ORGANIZATION(#81,#1054,#1076);
#1076=APPROVAL_ROLE('Authorize the security code');
#1019=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1013,#1023,(#1017));
#1023=PERSON_AND_ORGANIZATION_ROLE('creator');
#1024=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#1025,#1030,(#1017));
#1025=DATE_AND_TIME(#1027,#1028);
#1027=CALENDAR_DATE(1993,18,7);
#1028=LOCAL_TIME(10,51,59.0,#29);
#1030=DATE_TIME_ROLE('creation_date');
#1061=CC_DESIGN_APPROVAL(#1062,(#1017));
#1062=APPROVAL(#1063,'Approved as detailed drawing');
#1063=APPROVAL_STATUS('approved');
#1064=APPROVAL_DATE_TIME(#1065,#1062);
#1065=DATE_AND_TIME(#1066,#1067);
#1066=CALENDAR_DATE(1993,19,7);
#1067=LOCAL_TIME(19,51,59.0,#29);
#1077=APPROVAL_PERSON_ORGANIZATION(#81,#1062,#1079);
#1017=PRODUCT_DEFINITION_WITH_ASSOCIATED_DOCUMENTS('D2','Description of product for part 1234',#1010,#1018, (#1116));
#1018=PRODUCT_DEFINITION_CONTEXT('detailed design',#3,'design');
#1079=APPROVAL_ROLE('Authorize product definition');
#1116=DOCUMENT('rod_aspectA.dhc','Conical Tip Rod CAD file','CAD file for Rod with Conical Tip',#1117);
#1117=DOCUMENT_TYPE('cad_filename');
#1080=CC_DESIGN_CONTRACT(#1081,(#10));
#1081=CONTRACT('ITI-1121','Development of STEP conformance testing',#1082);
#1082=CONTRACT_TYPE('fixed_price');
#1083=CC_DESIGN_APPROVAL(#1084,(#1081));
#1084=APPROVAL(#1085,'Approved as active project under contract');
#1085=APPROVAL_STATUS('approved');
#1086=APPROVAL_PERSON_ORGANIZATION(#1087,#1084,#1090);
#1087=PERSON_AND_ORGANIZATION(#1088,#1089);
#1088=PERSON('212-33-7485','Masters','Larry',$,$,$);
#1089=ORGANIZATION('NIST','National Institute of Standards and Technology','Institute within the Department of Commerce');
#1090=APPROVAL_ROLE('Authorized the contract');
#1105=APPROVAL_DATE_TIME(#1106,#1084);
#1106=DATE_AND_TIME(#1107,#1108);
#1107=WEEK_OF_YEAR_AND_DAY_DATE(1993,20,5);
#1108=LOCAL_TIME(14,21,7.0,#29);
#1091=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1092,#1095,(#1081));
#1092=PERSON_AND_ORGANIZATION(#1093,#7);
#1093=PERSON('355-55-6849','Kuper','George',$,$,$);
#1095=PERSON_AND_ORGANIZATION_ROLE('contractor');
#1200=SHAPE_DEFINITION_REPRESENTATION(#1201,#9370);
#1201=PRODUCT_DEFINITION_SHAPE('ABR_Shape','Shape of rod with conical tip',#17);
#1202=SHAPE_DEFINITION_REPRESENTATION(#1201,#9390);
#9020=DIMENSIONAL_EXPONENTS(1.0,0.0,0.0,0.0,0.0,0.0,0.0);
#9040 =(LENGTH_UNIT()NAMED_UNIT(*)SI_UNIT(.MILLI.,.METRE.));
#9041 =(NAMED_UNIT(*)PLANE_ANGLE_UNIT()SI_UNIT($,.RADIAN.));
#9042 =(NAMED_UNIT(*)SI_UNIT($,.STERADIAN.)SOLID_ANGLE_UNIT());
#9043 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(0.000001),#9040,'xx','yy');
#9100 = CARTESIAN_POINT('CartPt1',(0.0,0.0,0.0));
#9101 = DIRECTION('Dir1',(0.1,0.0,0.0));
#9103 = DIRECTION('Dir3',(0.0,0.0,1.0));
#9120 = AXIS2_PLACEMENT_3D('Ax2P3D1',#9100,#9103,#9101);
#9121 = PLANE('Plane1',#9120);
#9122 = CIRCLE('Circ1',#9120,2.5);
#9123 = CARTESIAN_POINT('CartPt2',(2.5,0.0,0.0));
#9124 = VERTEX_POINT('VertPt1',#9123);
#9125 = EDGE_CURVE('EdgeCur1',#9124,#9124,#9122,.T.);
#9126 = ORIENTED_EDGE('OriEdge1',*,*,#9125,.T.);
#9127 = EDGE_LOOP('EdgeLoop1',(#9126));
#9128 = FACE_BOUND('FaceBnd1',#9127,.F.);
#9130 = ADVANCED_FACE('AdvFace1',(#9128),#9121,.F.);
#9140 = CARTESIAN_POINT('CartPt3',(0.0,0.0,5.0));
#9141 = AXIS2_PLACEMENT_3D('Ax2P3D2',#9140,#9103,#9101);
#9143 = CIRCLE('Circ2',#9141,5.0);
#9144 = CARTESIAN_POINT('CartPt4',(5.0,0.0,5.0));
#9145 = VERTEX_POINT('VertPt2',#9144);
#9146 = EDGE_CURVE('EdgeCur2',#9145,#9145,#9143,.T.);
#9147 = ORIENTED_EDGE('OriEdge2',*,*,#9146,.F.);
#9148 = EDGE_LOOP('EdgeLoop2',(#9147));
#9149 = FACE_BOUND('FaceBnd2',#9148,.T.);
#9150 = FACE_BOUND('FaceBnd3',#9127,.T.);
#9160 = CONICAL_SURFACE('ConSur1',#9120,2.5,0.46364761);
#9170 = ADVANCED_FACE('AdvFace2',(#9149,#9150),#9160,.T.);
#9180 = CARTESIAN_POINT('CartPt5',(0.0,0.0,50.0));
#9181 = AXIS2_PLACEMENT_3D('Ax2P3D3',#9180,#9103,#9101);
#9182 = CIRCLE('Circ3',#9181,5.0);
#9183 = CARTESIAN_POINT('CartPt6',(5.0,0.0,50.0));
#9184 = VERTEX_POINT('VertPt3',#9183);
#9185 = EDGE_CURVE('EdgeCur3',#9184,#9184,#9182,.T.);
#9186 = ORIENTED_EDGE('OriEdge3',*,*,#9185,.F.);
#9187 = EDGE_LOOP('EdgeLoop3',(#9186));
#9188 = FACE_BOUND('FaceBnd4',#9187,.T.);
#9190 = FACE_BOUND('FaceBnd5',#9148,.F.);
#9200 = CYLINDRICAL_SURFACE('CylSur1',#9141,5.0);
#9210 = ADVANCED_FACE('AdvFace3',(#9188,#9190),#9200,.T.);
#9211 = PLANE('Plane2',#9181);
#9212 = FACE_BOUND('FaceBnd6',#9187,.F.);
#9213 = ADVANCED_FACE('AdvFace4',(#9212),#9211,.T.);
#9230 = PLANE('Plane3',#9141);
#9232 = ADVANCED_FACE('AdvFace5',(#9190),#9230,.T.);
#9233 = ADVANCED_FACE('AdvFace6',(#9149),#9230,.F.);
#9240 = CLOSED_SHELL('CloseSh1',(#9130,#9170,#9232));
#9250 = CLOSED_SHELL('CloseSh2',(#9233,#9210,#9213));
#9260 = MANIFOLD_SOLID_BREP('ManSolBrep1',#9240);
#9270 = MANIFOLD_SOLID_BREP('ManSolBrep2',#9250);
#9370 = ADVANCED_BREP_SHAPE_REPRESENTATION('ABShapeRep1',(#9260,#9270),#9360);
#9360 = (GEOMETRIC_REPRESENTATION_CONTEXT(3)
GLOBAL_UNIT_ASSIGNED_CONTEXT((#9040,#9041,#9042))
REPRESENTATION_CONTEXT('CONTEXT for advanced brep test case rod with conical tip aspect','This is a 3d context using millimeters for linear dimension'));
#9390 = ADVANCED_BREP_SHAPE_REPRESENTATION('ABShapeRep2',(#9260),#9380);
#9380 = (GEOMETRIC_REPRESENTATION_CONTEXT(3)
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#9043))
GLOBAL_UNIT_ASSIGNED_CONTEXT((#9040,#9041,#9042))
REPRESENTATION_CONTEXT('CONTEXT for advanced brep test case conical tip aspect of rod','This is a 3d context using millimeters for linear dimension'));
ENDSEC;
END-ISO-10303-21;
+467
View File
@@ -0,0 +1,467 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('STEP conformance test data','AP203 class 2 - ntsw'),'1');
FILE_NAME('star1.p21','1994-12-14 T10:00:00',
('S. Dhar','S. Jetli','M. McFarland','J. Kindrick'),
('Industrial Technology Institute',
'P.O. Box 1485',
'Ann Arbor',
'Michigan',
'48106'),'NIST Data Probe, Release March 1993','conformance test suite','K. H. Muralidhar');
FILE_SCHEMA(('CONFIG_CONTROL_DESIGN'));
ENDSEC;
DATA;
#1=PRODUCT('11114','Star Cog','Description for part 11114',(#2));
#2=MECHANICAL_CONTEXT('detailed design',#3,'mechanical');
#3=APPLICATION_CONTEXT('Control the configuration of three dimensional design');
#300=APPLICATION_PROTOCOL_DEFINITION('AP definition status','config_control_design', 1994, #3);
#4=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#5,#8,(#1));
#5=PERSON_AND_ORGANIZATION(#6,#7);
#6=PERSON('307-10-5806','Muralidhar','K.',('H.'),$,$);
#7=ORGANIZATION('ITI-Michigan','Industrial Technology Institute','A not-for-profit engineering and research center');
#8=PERSON_AND_ORGANIZATION_ROLE('design_owner');
#9=PRODUCT_RELATED_PRODUCT_CATEGORY('detail','Part Type for product 11114',(#1));
#10=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('A','Description of version with specified source for part 11114',#1,.BOUGHT.);
#11=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#13,#15,(#10));
#13=PERSON_AND_ORGANIZATION(#14,#7);
#14=PERSON('302-30-6149','Quadir','Nur',$,$,$);
#15=PERSON_AND_ORGANIZATION_ROLE('creator');
#44=CC_DESIGN_APPROVAL(#45,(#10));
#45=APPROVAL(#46,'Approved as initial STEP test case part');
#46=APPROVAL_STATUS('approved');
#47=APPROVAL_DATE_TIME(#48,#45);
#48=DATE_AND_TIME(#50,#51);
#50=CALENDAR_DATE(1993,17,7);
#51=LOCAL_TIME(13,29,52.0,#29);
#69=APPROVAL_PERSON_ORGANIZATION(#70,#45,#72);
#70=PERSON_AND_ORGANIZATION(#71,#7);
#71=PERSON('574-20-7069','Kindrick','James',$,$,$);
#72=APPROVAL_ROLE('Authorize part release');
#31=CC_DESIGN_SECURITY_CLASSIFICATION(#32,(#10));
#32=SECURITY_CLASSIFICATION('1993-C1','open availability of STEP test data',#33);
#33=SECURITY_CLASSIFICATION_LEVEL('unclassified');
#34=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#35,#39,(#32));
#35=DATE_AND_TIME(#36,#37);
#36=CALENDAR_DATE(1993,17,7);
#37=LOCAL_TIME(13,45,20.0,#29);
#39=DATE_TIME_ROLE('classification_date');
#40=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#41,#43,(#32));
#41=PERSON_AND_ORGANIZATION(#42,#7);
#42=PERSON('412-89-3456','Dhar','Shantanu',$,('Mr.'),$);
#43=PERSON_AND_ORGANIZATION_ROLE('classification_officer');
#53=CC_DESIGN_APPROVAL(#54,(#32));
#54=APPROVAL(#55,'Approved as unclassified step test data');
#55=APPROVAL_STATUS('approved');
#56=APPROVAL_DATE_TIME(#57,#54);
#57=DATE_AND_TIME(#58,#59);
#58=CALENDAR_DATE(1993,17,7);
#59=LOCAL_TIME(13,47,28.0,#29);
#73=APPROVAL_PERSON_ORGANIZATION(#74,#54,#76);
#74=PERSON_AND_ORGANIZATION(#75,#7);
#75=PERSON('525-94-5792','Matthews','Robert',('S.'),$,$);
#76=APPROVAL_ROLE('Authorize the security code');
#17=PRODUCT_DEFINITION('D1','Detailed drawing as planned for conformance testing',#10,#18);
#18=DESIGN_CONTEXT('detailed design',#3,'design');
#19=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#13,#23,(#17));
#23=PERSON_AND_ORGANIZATION_ROLE('creator');
#24=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#25,#30,(#17));
#25=DATE_AND_TIME(#27,#28);
#27=CALENDAR_DATE(1993,19,7);
#28=LOCAL_TIME(19,46,55.0,#29);
#29=COORDINATED_UNIVERSAL_TIME_OFFSET(8,$,.BEHIND.);
#30=DATE_TIME_ROLE('creation_date');
#61=CC_DESIGN_APPROVAL(#62,(#17));
#62=APPROVAL(#63,'Approved as STEP conformance testing drawing');
#63=APPROVAL_STATUS('approved');
#64=APPROVAL_DATE_TIME(#65,#62);
#65=DATE_AND_TIME(#66,#67);
#66=CALENDAR_DATE(1993,19,7);
#67=LOCAL_TIME(19,47,51.0,#29);
#77=APPROVAL_PERSON_ORGANIZATION(#70,#62,#79);
#79=APPROVAL_ROLE('Authorize product definition');
#80=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#81,#84,(#10,#1010));
#81=PERSON_AND_ORGANIZATION(#82,#83);
#82=PERSON('CDI-2','Dwaraka','B.',('K.'),$,$);
#83=ORGANIZATION('CDI','Contract Design, Inc.','Contract engineering organization.');
#84=PERSON_AND_ORGANIZATION_ROLE('design_supplier');
#88=SUPPLIED_PART_RELATIONSHIP('design','design supplier','The supplier provides detailed designs',#17,#1017);
#85=CC_DESIGN_CERTIFICATION(#86,(#88));
#86=CERTIFICATION('ISO-9000 certified design supplier','quality control',#87);
#87=CERTIFICATION_TYPE('design_supplier');
#89=CC_DESIGN_APPROVAL(#90,(#86));
#90=APPROVAL(#91,'Approved as ISO-9000 certified supplier');
#91=APPROVAL_STATUS('approved');
#92=APPROVAL_PERSON_ORGANIZATION(#70,#90,#93);
#93=APPROVAL_ROLE('Authorize supplier certification');
#94=DATE_AND_TIME(#95,#96);
#95=CALENDAR_DATE(1993,20,4);
#96=LOCAL_TIME(15,47,51.0,#29);
#97=APPROVAL_DATE_TIME(#94,#90);
#98=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#100,#102,(#86));
#99=CALENDAR_DATE(1993,19,4);
#100=DATE_AND_TIME(#99,#101);
#101=LOCAL_TIME(10,41,59.0,#29);
#102=DATE_TIME_ROLE('certification_date');
#1010=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('S-1','For Star Cog ',#1,.MADE.);
#1011=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1013,#1016,(#1010));
#1013=PERSON_AND_ORGANIZATION(#1014,#83);
#1014=PERSON('CDI-1','Brandenberg','Chad',$,$,$);
#1016=PERSON_AND_ORGANIZATION_ROLE('creator');
#1044=CC_DESIGN_APPROVAL(#1045,(#1010));
#1045=APPROVAL(#1046,'Approved as test part design');
#1046=APPROVAL_STATUS('approved');
#1047=APPROVAL_DATE_TIME(#1048,#1045);
#1048=DATE_AND_TIME(#1050,#1051);
#1050=CALENDAR_DATE(1993,19,7);
#1051=LOCAL_TIME(19,51,59.0,#29);
#1069=APPROVAL_PERSON_ORGANIZATION(#1070,#1045,#1072);
#1070=PERSON_AND_ORGANIZATION(#82,#83);
#1072=APPROVAL_ROLE('Authorize part version');
#1031=CC_DESIGN_SECURITY_CLASSIFICATION(#1032,(#1010));
#1032=SECURITY_CLASSIFICATION('1993-C2','open availability of test part designs',#1033);
#1033=SECURITY_CLASSIFICATION_LEVEL('unclassified');
#1034=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#1035,#1039,(#1032));
#1035=DATE_AND_TIME(#1036,#1037);
#1036=CALENDAR_DATE(1993,19,7);
#1037=LOCAL_TIME(19,45,41.0,#29);
#1039=DATE_TIME_ROLE('classification_date');
#1040=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1041,#1043,(#1032));
#1041=PERSON_AND_ORGANIZATION(#1042,#83);
#1042=PERSON('CDI-3','Sauter','Mitch',$,$,$);
#1043=PERSON_AND_ORGANIZATION_ROLE('classification_officer');
#1053=CC_DESIGN_APPROVAL(#1054,(#1032));
#1054=APPROVAL(#1055,'Approved as unclassified part design');
#1055=APPROVAL_STATUS('approved');
#1056=APPROVAL_DATE_TIME(#1057,#1054);
#1057=DATE_AND_TIME(#1058,#1059);
#1058=CALENDAR_DATE(1993,19,7);
#1059=LOCAL_TIME(19,47,58.0,#29);
#1073=APPROVAL_PERSON_ORGANIZATION(#81,#1054,#1076);
#1076=APPROVAL_ROLE('Authorize the security code');
#1017=PRODUCT_DEFINITION('D2','Description of product for part 11114',#1010,#1018);
#1018=DESIGN_CONTEXT('detailed design',#3,'design');
#1019=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1013,#1023,(#1017));
#1023=PERSON_AND_ORGANIZATION_ROLE('creator');
#1024=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#1025,#1030,(#1017));
#1025=DATE_AND_TIME(#1027,#1028);
#1027=CALENDAR_DATE(1993,18,7);
#1028=LOCAL_TIME(10,51,59.0,#29);
#1030=DATE_TIME_ROLE('creation_date');
#1061=CC_DESIGN_APPROVAL(#1062,(#1017));
#1062=APPROVAL(#1063,'Approved as detailed drawing');
#1063=APPROVAL_STATUS('approved');
#1064=APPROVAL_DATE_TIME(#1065,#1062);
#1065=DATE_AND_TIME(#1066,#1067);
#1066=CALENDAR_DATE(1993,19,7);
#1067=LOCAL_TIME(19,51,59.0,#29);
#1077=APPROVAL_PERSON_ORGANIZATION(#81,#1062,#1079);
#1079=APPROVAL_ROLE('Authorize product definition');
#1200=SHAPE_DEFINITION_REPRESENTATION(#1201,#9810);
#1201=PRODUCT_DEFINITION_SHAPE('GBWR_Shape','Shape of Star Cog',#17);
#9101=CARTESIAN_POINT('CartPt1',(0.0, 0.0, 0.5));
#9102=CARTESIAN_POINT('CartPt2',(0.125, 0.4841, 0.5));
#9103=CARTESIAN_POINT('CartPt3',(0.125, 0.7500, 0.5));
#9104=CARTESIAN_POINT('CartPt4',(-0.125, 0.4841, 0.5));
#9105=CARTESIAN_POINT('CartPt5',(-0.125, 0.7500, 0.5));
#9107=DIRECTION('Dir1',(0.0, 0.0, 1.0));
#9108=AXIS2_PLACEMENT_3D('Ax2P3D1',#9101,#9107, $);
#9109=CIRCLE('Circ1',#9108, 0.500);
#9110=TRIMMED_CURVE('TrimCur1',#9109, (#9102), (#9104), .F., .CARTESIAN.);
#9111=POLYLINE('PolyLine1',(#9102,#9103,#9105,#9104));
#9120=CARTESIAN_POINT('CartPt6',(0.0, 0.0, 0.0));
#9121=CARTESIAN_POINT('CartPt7',(0.125, 0.4841, 0.0));
#9122=CARTESIAN_POINT('CartPt8',(0.125, 0.7500, 0.0));
#9123=CARTESIAN_POINT('CartPt9',(-0.125, 0.4841, 0.0));
#9124=CARTESIAN_POINT('CartPt10',(-0.125, 0.7500, 0.0));
#9128=AXIS2_PLACEMENT_3D('Ax2P3D2',#9120,#9107, $);
#9129=CIRCLE('Circ2',#9128, 0.500);
#9130=TRIMMED_CURVE('TrimCur2',#9129, (#9121), (#9123), .F., .UNSPECIFIED.);
#9131=POLYLINE('PolyLine2',(#9121,#9122,#9124,#9123));
#9140=CIRCLE('Circ3',#9108, 2.880);
#9141=CIRCLE('Circ4',#9128, 2.880);
#9145=CARTESIAN_POINT('CartPt11',(0.25, 1.5, 0.5));
#9146=CARTESIAN_POINT('CartPt12',(0.25, 1.5, 0.0));
#9150=CARTESIAN_POINT('CartPt13',(0.25, 2.8691, 0.5));
#9151=CARTESIAN_POINT('CartPt14',(0.25, 2.8691, 0.0));
#9153=POLYLINE('PolyLine3',(#9150,#9145,#9146,#9151));
#9155=CARTESIAN_POINT('CartPt15',(0.6013, 2.8165, 0.5));
#9156=CARTESIAN_POINT('CartPt16',(0.6013, 2.8165, 0.0));
#9158=TRIMMED_CURVE('TrimCur3',#9140, (#9150), (#9155), .F., .CARTESIAN.);
#9159=TRIMMED_CURVE('TrimCur4',#9141, (#9151), (#9156), .F., .CARTESIAN.);
#9160=CARTESIAN_POINT('CartPt17',(2.1386, 1.9290, 0.5));
#9161=CARTESIAN_POINT('CartPt18',(2.1386, 1.9290, 0.0));
#9170=CARTESIAN_POINT('CartPt19',(1.81, 3.1350, 0.5));
#9171=AXIS2_PLACEMENT_3D('Ax2P3D3',#9170,#9107, $);
#9172=CIRCLE('Circ5',#9171, 1.25);
#9173=TRIMMED_CURVE('TrimCur5',#9172, (#9155), (#9160), .T., .CARTESIAN.);
#9175=CARTESIAN_POINT('CartPt20',(1.81, 3.1350, 0.0));
#9176=AXIS2_PLACEMENT_3D('Ax2P3D4',#9175,#9107, $);
#9177=CIRCLE('Circ6',#9176, 1.25);
#9178=TRIMMED_CURVE('TrimCur6',#9177, (#9156), (#9161), .T., .CARTESIAN.);
#9180=CARTESIAN_POINT('CartPt21',(2.3579, 1.6511, 0.5));
#9181=CARTESIAN_POINT('CartPt22',(2.3579, 1.6511, 0.0));
#9183=CARTESIAN_POINT('CartPt23',(1.1740, 0.9665, 0.5));
#9184=CARTESIAN_POINT('CartPt24',(1.1740, 0.9665, 0.0));
#9185=POLYLINE('PolyLine4',(#9180,#9183,#9184,#9181));
#9186=CARTESIAN_POINT('CartPt25',(1.0825, 0.625, 0.5));
#9187=CARTESIAN_POINT('CartPt26',(1.0825, 0.625, 0.0));
#9190=CARTESIAN_POINT('CartPt27',(1.4240, 0.5335, 0.5));
#9191=CARTESIAN_POINT('CartPt28',(1.4240, 0.5335, 0.0));
#9194=B_SPLINE_CURVE_WITH_KNOTS('BSCurKnot1',1, (#9183,#9186,#9190), .POLYLINE_FORM., .F.,
.F., (2,1,2), (0.0, 1.0, 2.0), .UNSPECIFIED.);
#9195=B_SPLINE_CURVE_WITH_KNOTS('BSCurKnot2',1, (#9184,#9187,#9191), .POLYLINE_FORM., .F.,
.F., (2,1,2), (0.0, 1.0, 2.0), .UNSPECIFIED.);
#9196=CARTESIAN_POINT('CartPt29',(2.6097, 1.2181, 0.5));
#9197=CARTESIAN_POINT('CartPt30',(2.6097, 1.2181, 0.0));
#9198=POLYLINE('PolyLine5',(#9190,#9196,#9197,#9191));
#9200=CARTESIAN_POINT('CartPt31',(2.7398, 0.8876, 0.5));
#9201=CARTESIAN_POINT('CartPt32',(2.7398, 0.8876, 0.0));
#9205=CARTESIAN_POINT('CartPt33',(2.7398, -0.8876, 0.5));
#9206=CARTESIAN_POINT('CartPt34',(2.7398, -0.8876, 0.0));
#9208=CARTESIAN_POINT('CartPt35',(3.62, 0.0, 0.5));
#9209=AXIS2_PLACEMENT_3D('Ax2P3D5',#9208,#9107, $);
#9210=CIRCLE('Circ7',#9209, 1.25);
#9211=TRIMMED_CURVE('TrimCur7',#9210, (#9200), (#9205), .T., .CARTESIAN.);
#9212=CARTESIAN_POINT('CartPt36',(3.62, 0.0, 0.0));
#9213=AXIS2_PLACEMENT_3D('Ax2P3D6',#9212,#9107, $);
#9214=CIRCLE('Circ8',#9213, 1.25);
#9215=TRIMMED_CURVE('TrimCur8',#9214, (#9201), (#9206), .T., .CARTESIAN.);
#9220=CARTESIAN_POINT('CartPt37',(2.6097, -1.2181, 0.5));
#9221=CARTESIAN_POINT('CartPt38',(2.6097, -1.2181, 0.0));
#9225=CARTESIAN_POINT('CartPt39',(1.4240, -0.5335, 0.5));
#9226=CARTESIAN_POINT('CartPt40',(1.4240, -0.5335, 0.0));
#9227=POLYLINE('PolyLine6',(#9220,#9225,#9226,#9221));
#9230=CARTESIAN_POINT('CartPt41',(1.0825, -0.625, 0.5));
#9231=CARTESIAN_POINT('CartPt42',(1.0825, -0.625, 0.0));
#9235=CARTESIAN_POINT('CartPt43',(1.1740, -0.9665, 0.5));
#9236=CARTESIAN_POINT('CartPt44',(1.1740, -0.9665, 0.0));
#9238=QUASI_UNIFORM_CURVE('QUnifCur1',1, (#9225,#9230,#9235), .POLYLINE_FORM., .F., .F.);
#9239=QUASI_UNIFORM_CURVE('QUnifCur2',1, (#9226,#9231,#9236),.UNSPECIFIED., .U., .U.);
#9240=CARTESIAN_POINT('CartPt45',(2.3579, -1.6511, 0.5));
#9241=CARTESIAN_POINT('CartPt46',(2.3579, -1.6511, 0.0));
#9242=POLYLINE('PolyLine7',(#9235,#9240,#9241,#9236));
#9245=CARTESIAN_POINT('CartPt47',(2.1386, -1.9290, 0.5));
#9246=CARTESIAN_POINT('CartPt48',(2.1386, -1.9290, 0.0));
#9250=CARTESIAN_POINT('CartPt49',(0.6013, -2.8165, 0.5));
#9251=CARTESIAN_POINT('CartPt50',(0.6013, -2.8165, 0.0));
#9255=CARTESIAN_POINT('CartPt51',(1.81, -3.1350, 0.5));
#9256=AXIS2_PLACEMENT_3D('Ax2P3D7',#9255,#9107, $);
#9257=CIRCLE('Circ9',#9256, 1.25);
#9258=TRIMMED_CURVE('TrimCur9',#9257, (#9245), (#9250), .T., .CARTESIAN.);
#9260=CARTESIAN_POINT('CartPt52',(1.81, -3.1350, 0.0));
#9261=AXIS2_PLACEMENT_3D('Ax2P3D8',#9260,#9107, $);
#9262=CIRCLE('Circ10',#9261, 1.25);
#9263=TRIMMED_CURVE('TrimCur10',#9262, (#9246), (#9251), .T., .CARTESIAN.);
#9265=CARTESIAN_POINT('CartPt53',(0.25, -2.8691, 0.5));
#9266=CARTESIAN_POINT('CartPt54',(0.25, -2.8691, 0.0));
#9270=CARTESIAN_POINT('CartPt55',(0.25, -1.5, 0.5));
#9271=CARTESIAN_POINT('CartPt56',(0.25, -1.5, 0.0));
#9272=POLYLINE('PolyLine8',(#9265,#9270,#9271,#9266));
#9275=CARTESIAN_POINT('CartPt57',(0.0, -1.25, 0.5));
#9276=CARTESIAN_POINT('CartPt58',(0.0, -1.25, 0.0));
#9280=CARTESIAN_POINT('CartPt59',(-0.25, -1.5, 0.5));
#9281=CARTESIAN_POINT('CartPt60',(-0.25, -1.5, 0.0));
#9283=QUASI_UNIFORM_CURVE('QUnifCur3',1, (#9270,#9275,#9280), .POLYLINE_FORM., .U., .U.);
#9284=QUASI_UNIFORM_CURVE('QUnifCur4',1, (#9271,#9276,#9281), .UNSPECIFIED., .F., .F.);
#9285=CARTESIAN_POINT('CartPt61',(-0.25, -2.8691, 0.5));
#9286=CARTESIAN_POINT('CartPt62',(-0.25, -2.8691, 0.0));
#9287=POLYLINE('PolyLine9',(#9280,#9285,#9286,#9281));
#9290=CARTESIAN_POINT('CartPt63',(-0.6013, -2.8165, 0.5));
#9291=CARTESIAN_POINT('CartPt64',(-0.6013, -2.8165, 0.0));
#9295=CARTESIAN_POINT('CartPt65',(-2.1386, -1.9290, 0.5));
#9296=CARTESIAN_POINT('CartPt66',(-2.1386, -1.9290, 0.0));
#9300=CARTESIAN_POINT('CartPt67',(-1.81, -3.1350, 0.5));
#9301=AXIS2_PLACEMENT_3D('Ax2P3D9',#9300,#9107, $);
#9302=CIRCLE('Circ11',#9301, 1.25);
#9303=TRIMMED_CURVE('TrimCur11',#9302, (#9290), (#9295), .T., .CARTESIAN.);
#9305=CARTESIAN_POINT('CartPt68',(-1.81, -3.1350, 0.0));
#9306=AXIS2_PLACEMENT_3D('Ax2P3D10',#9305,#9107, $);
#9307=CIRCLE('Circ12',#9306, 1.25);
#9308=TRIMMED_CURVE('TrimCur12',#9307, (#9291), (#9296), .T., .CARTESIAN.);
#9310=CARTESIAN_POINT('CartPt69',(-2.3579, -1.6511, 0.5));
#9311=CARTESIAN_POINT('CartPt70',(-2.3579, -1.6511, 0.0));
#9315=CARTESIAN_POINT('CartPt71',(-1.1740, -0.9665, 0.5));
#9316=CARTESIAN_POINT('CartPt72',(-1.1740, -0.9665, 0.0));
#9317=POLYLINE('PolyLine10',(#9310,#9315,#9316,#9311));
#9320=CARTESIAN_POINT('CartPt73',(-1.0825, -0.625, 0.5));
#9321=CARTESIAN_POINT('CartPt74',(-1.0825, -0.625, 0.0));
#9325=CARTESIAN_POINT('CartPt75',(-1.4240, -0.5335, 0.5));
#9326=CARTESIAN_POINT('CartPt76',(-1.4240, -0.5335, 0.0));
#9328=B_SPLINE_CURVE_WITH_KNOTS('BSCurKnot3',1, (#9315,#9320,#9325), .POLYLINE_FORM., .F.,
.F., (2,1,2), (0.0, 1.0, 2.0), .UNSPECIFIED.);
#9329=B_SPLINE_CURVE_WITH_KNOTS('BSCurKnot4',1, (#9316,#9321,#9326), .POLYLINE_FORM., .F.,
.F., (2,1,2), (0.0, 1.0, 2.0), .UNSPECIFIED.);
#9330=CARTESIAN_POINT('CartPt77',(-2.6097, -1.2181, 0.5));
#9331=CARTESIAN_POINT('CartPt78',(-2.6097, -1.2181, 0.0));
#9332=POLYLINE('PolyLine11',(#9325,#9330,#9331,#9326));
#9335=CARTESIAN_POINT('CartPt79',(-2.7398, -0.8876, 0.5));
#9336=CARTESIAN_POINT('CartPt80',(-2.7398, -0.8876, 0.0));
#9340=CARTESIAN_POINT('CartPt81',(-2.7398, 0.8876, 0.5));
#9341=CARTESIAN_POINT('CartPt82',(-2.7398, 0.8876, 0.0));
#9345=CARTESIAN_POINT('CartPt83',(-3.62, 0.0, 0.5));
#9346=AXIS2_PLACEMENT_3D('Ax2P3D11',#9345,#9107, $);
#9347=CIRCLE('Circ13',#9346, 1.25);
#9348=TRIMMED_CURVE('TrimCur13',#9347, (#9335), (#9340), .T., .CARTESIAN.);
#9350=CARTESIAN_POINT('CartPt84',(-3.62, 0.0, 0.0));
#9351=AXIS2_PLACEMENT_3D('Ax2P3D12',#9350,#9107, $);
#9352=CIRCLE('Circ14',#9351, 1.25);
#9353=TRIMMED_CURVE('TrimCur14',#9352, (#9336), (#9341), .T., .CARTESIAN.);
#9355=CARTESIAN_POINT('CartPt85',(-2.6097, 1.2181, 0.5));
#9356=CARTESIAN_POINT('CartPt86',(-2.6097, 1.2181, 0.0));
#9360=CARTESIAN_POINT('CartPt87',(-1.4240, 0.5335, 0.5));
#9361=CARTESIAN_POINT('CartPt88',(-1.4240, 0.5335, 0.0));
#9362=POLYLINE('PolyLine12',(#9355,#9360,#9361,#9356));
#9365=CARTESIAN_POINT('CartPt89',(-1.0825, 0.625, 0.5));
#9366=CARTESIAN_POINT('CartPt90',(-1.0825, 0.625, 0.0));
#9370=CARTESIAN_POINT('CartPt91',(-1.1740, 0.9665, 0.5));
#9371=CARTESIAN_POINT('CartPt92',(-1.1740, 0.9665, 0.0));
#9373=B_SPLINE_CURVE_WITH_KNOTS('BSCurKnot5',1, (#9360,#9365,#9370), .POLYLINE_FORM., .F.,
.F., (2,1,2), (0.0, 1.0, 2.0), .UNSPECIFIED.);
#9374=B_SPLINE_CURVE_WITH_KNOTS('BSCurKnot6',1, (#9361,#9366,#9371), .POLYLINE_FORM., .F.,
.F., (2,1,2), (0.0, 1.0, 2.0), .UNSPECIFIED.);
#9375=CARTESIAN_POINT('CartPt93',(-2.3579, 1.6511, 0.5));
#9376=CARTESIAN_POINT('CartPt94',(-2.3579, 1.6511, 0.0));
#9377=POLYLINE('PolyLine13',(#9370,#9375,#9376,#9371));
#9380=CARTESIAN_POINT('CartPt95',(-2.1386, 1.9290, 0.5));
#9381=CARTESIAN_POINT('CartPt96',(-2.1386, 1.9290, 0.0));
#9385=CARTESIAN_POINT('CartPt97',(-0.6013, 2.8165, 0.5));
#9386=CARTESIAN_POINT('CartPt98',(-0.6013, 2.8165, 0.0));
#9390=CARTESIAN_POINT('CartPt99',(-1.81, 3.1350, 0.5));
#9391=AXIS2_PLACEMENT_3D('Ax2P3D13',#9390,#9107, $);
#9392=CIRCLE('Circ15',#9391, 1.25);
#9393=TRIMMED_CURVE('TrimCur15',#9392, (#9380), (#9385), .T., .CARTESIAN.);
#9395=CARTESIAN_POINT('CartPt100',(-1.81, 3.1350, 0.0));
#9396=AXIS2_PLACEMENT_3D('Ax2P3D14',#9395,#9107, $);
#9397=CIRCLE('Circ16',#9396, 1.25);
#9398=TRIMMED_CURVE('TrimCur16',#9397, (#9381), (#9386), .T., .CARTESIAN.);
#9400=CARTESIAN_POINT('CartPt101',(-0.25, 2.8691, 0.5));
#9401=CARTESIAN_POINT('CartPt102',(-0.25, 2.8691, 0.0));
#9405=CARTESIAN_POINT('CartPt103',(-0.25, 1.50, 0.5));
#9406=CARTESIAN_POINT('CartPt104',(-0.25, 1.50, 0.0));
#9407=POLYLINE('PolyLine14',(#9400,#9405,#9406,#9401));
#9410=CARTESIAN_POINT('CartPt105',(0.0, 1.25, 0.5));
#9411=CARTESIAN_POINT('CartPt106',(0.0, 1.25, 0.0));
#9413=B_SPLINE_CURVE_WITH_KNOTS('BSCurKnot7',1, (#9405,#9410,#9145), .POLYLINE_FORM., .F.,
.F., (2,1,2), (0.0, 1.0, 2.0), .UNSPECIFIED.);
#9414=B_SPLINE_CURVE_WITH_KNOTS('BSCurKnot8',1, (#9406,#9411,#9146), .POLYLINE_FORM., .F.,
.F., (2,1,2), (0.0, 1.0, 2.0), .UNSPECIFIED.);
#9450=TRIMMED_CURVE('TrimCur17',#9140, (#9160), (#9180), .F., .CARTESIAN.);
#9451=TRIMMED_CURVE('TrimCur18',#9141, (#9161), (#9181), .F., .CARTESIAN.);
#9460=TRIMMED_CURVE('TrimCur19',#9140, (#9196), (#9200), .F., .CARTESIAN.);
#9461=TRIMMED_CURVE('TrimCur20',#9141, (#9197), (#9201), .F., .CARTESIAN.);
#9470=TRIMMED_CURVE('TrimCur21',#9140, (#9205), (#9220), .F., .CARTESIAN.);
#9471=TRIMMED_CURVE('TrimCur22',#9141, (#9206), (#9221), .F., .CARTESIAN.);
#9480=TRIMMED_CURVE('TrimCur23',#9140, (#9240), (#9245), .F., .CARTESIAN.);
#9481=TRIMMED_CURVE('TrimCur24',#9141, (#9241), (#9246), .F., .CARTESIAN.);
#9490=TRIMMED_CURVE('TrimCur25',#9140, (#9250), (#9265), .F., .CARTESIAN.);
#9491=TRIMMED_CURVE('TrimCur26',#9141, (#9251), (#9266), .F., .CARTESIAN.);
#9500=TRIMMED_CURVE('TrimCur27',#9140, (#9285), (#9290), .F., .CARTESIAN.);
#9501=TRIMMED_CURVE('TrimCur28',#9141, (#9286), (#9291), .F., .CARTESIAN.);
#9510=TRIMMED_CURVE('TrimCur29',#9140, (#9295), (#9310), .F., .CARTESIAN.);
#9511=TRIMMED_CURVE('TrimCur30',#9141, (#9296), (#9311), .F., .CARTESIAN.);
#9520=TRIMMED_CURVE('TrimCur31',#9140, (#9330), (#9335), .F., .CARTESIAN.);
#9521=TRIMMED_CURVE('TrimCur32',#9141, (#9331), (#9336), .F., .CARTESIAN.);
#9530=TRIMMED_CURVE('TrimCur33',#9140, (#9340), (#9355), .F., .CARTESIAN.);
#9531=TRIMMED_CURVE('TrimCur34',#9141, (#9341), (#9356), .F., .CARTESIAN.);
#9540=TRIMMED_CURVE('TrimCur35',#9140, (#9375), (#9380), .F., .CARTESIAN.);
#9541=TRIMMED_CURVE('TrimCur36',#9141, (#9376), (#9381), .F., .CARTESIAN.);
#9550=TRIMMED_CURVE('TrimCur37',#9140, (#9385), (#9400), .F., .CARTESIAN.);
#9551=TRIMMED_CURVE('TrimCur38',#9141, (#9386), (#9401), .F., .CARTESIAN.);
#9560 = VECTOR('Vec1',#9107,1.0);
#9561 = LINE('Line1',#9121,#9560);
#9562 = TRIMMED_CURVE('TrimCur39',#9561,(#9121),(#9102),.T.,.CARTESIAN.);
#9565 = LINE('Line2',#9122,#9560);
#9566 = TRIMMED_CURVE('TrimCur40',#9565,(#9121),(#9103),.T.,.CARTESIAN.);
#9570 = LINE('Line3',#9124,#9560);
#9571 = TRIMMED_CURVE('TrimCur41',#9570,(#9124),(#9105),.T.,.CARTESIAN.);
#9575 = LINE('Line4',#9123,#9560);
#9576 = TRIMMED_CURVE('TrimCur42',#9575,(#9123),(#9104),.T.,.CARTESIAN.);
#9580 = LINE('Line5',#9151,#9560);
#9581 = TRIMMED_CURVE('TrimCur43',#9580,(#9151),(#9150),.T.,.CARTESIAN.);
#9585 = LINE('Line6',#9156,#9560);
#9586 = TRIMMED_CURVE('TrimCur44',#9585,(#9156),(#9155),.T.,.CARTESIAN.);
#9590 = LINE('Line7',#9161,#9560);
#9591 = TRIMMED_CURVE('TrimCur45',#9590,(#9161),(#9160),.T.,.CARTESIAN.);
#9595 = LINE('Line8',#9181,#9560);
#9596 = TRIMMED_CURVE('TrimCur46',#9595,(#9181),(#9180),.T.,.CARTESIAN.);
#9600 = LINE('Line9',#9187,#9560);
#9601 = TRIMMED_CURVE('TrimCur47',#9600,(#9187),(#9186),.T.,.CARTESIAN.);
#9605 = LINE('Line10',#9191,#9560);
#9606 = TRIMMED_CURVE('TrimCur48',#9605,(#9191),(#9190),.T.,.CARTESIAN.);
#9610 = LINE('Line11',#9201,#9560);
#9611 = TRIMMED_CURVE('TrimCur49',#9610,(#9201),(#9200),.T.,.CARTESIAN.);
#9615 = LINE('Line12',#9206,#9560);
#9616 = TRIMMED_CURVE('TrimCur50',#9615,(#9206),(#9205),.T.,.CARTESIAN.);
#9620 = LINE('Line13',#9221,#9560);
#9621 = TRIMMED_CURVE('TrimCur51',#9620,(#9221),(#9220),.T.,.CARTESIAN.);
#9625 = LINE('Line14',#9231,#9560);
#9626 = TRIMMED_CURVE('TrimCur52',#9625,(#9231),(#9230),.T.,.CARTESIAN.);
#9630 = LINE('Line15',#9236,#9560);
#9631 = TRIMMED_CURVE('TrimCur53',#9630,(#9236),(#9235),.T.,.CARTESIAN.);
#9635 = LINE('Line16',#9246,#9560);
#9636 = TRIMMED_CURVE('TrimCur54',#9635,(#9246),(#9245),.T.,.CARTESIAN.);
#9640 = LINE('Line17',#9251,#9560);
#9641 = TRIMMED_CURVE('TrimCur55',#9640,(#9251),(#9250),.T.,.CARTESIAN.);
#9645 = LINE('Line18',#9266,#9560);
#9646 = TRIMMED_CURVE('TrimCur56',#9645,(#9266),(#9265),.T.,.CARTESIAN.);
#9650 = LINE('Line19',#9276,#9560);
#9651 = TRIMMED_CURVE('TrimCur57',#9650,(#9276),(#9275),.T.,.CARTESIAN.);
#9655 = LINE('Line20',#9281,#9560);
#9656 = TRIMMED_CURVE('TrimCur58',#9655,(#9281),(#9280),.T.,.CARTESIAN.);
#9660 = LINE('Line21',#9291,#9560);
#9661 = TRIMMED_CURVE('TrimCur59',#9660,(#9291),(#9290),.T.,.CARTESIAN.);
#9665 = LINE('Line22',#9296,#9560);
#9666 = TRIMMED_CURVE('TrimCur60',#9665,(#9296),(#9295),.T.,.CARTESIAN.);
#9670 = LINE('Line23',#9311,#9560);
#9671 = TRIMMED_CURVE('TrimCur61',#9670,(#9311),(#9310),.T.,.CARTESIAN.);
#9675 = LINE('Line24',#9321,#9560);
#9676 = TRIMMED_CURVE('TrimCur62',#9675,(#9321),(#9320),.T.,.CARTESIAN.);
#9680 = LINE('Line25',#9326,#9560);
#9681 = TRIMMED_CURVE('TrimCur63',#9680,(#9326),(#9325),.T.,.CARTESIAN.);
#9685 = LINE('Line26',#9336,#9560);
#9686 = TRIMMED_CURVE('TrimCur64',#9685,(#9336),(#9335),.T.,.CARTESIAN.);
#9690 = LINE('Line27',#9341,#9560);
#9691 = TRIMMED_CURVE('TrimCur65',#9690,(#9341),(#9340),.T.,.CARTESIAN.);
#9695 = LINE('Line28',#9356,#9560);
#9696 = TRIMMED_CURVE('TrimCur66',#9695,(#9356),(#9355),.T.,.CARTESIAN.);
#9700 = LINE('Line29',#9366,#9560);
#9701 = TRIMMED_CURVE('TrimCur67',#9700,(#9366),(#9365),.T.,.CARTESIAN.);
#9705 = LINE('Line30',#9371,#9560);
#9706 = TRIMMED_CURVE('TrimCur68',#9705,(#9371),(#9370),.T.,.CARTESIAN.);
#9710 = LINE('Line31',#9381,#9560);
#9711 = TRIMMED_CURVE('TrimCur69',#9710,(#9381),(#9380),.T.,.CARTESIAN.);
#9715 = LINE('Line32',#9386,#9560);
#9716 = TRIMMED_CURVE('TrimCur70',#9715,(#9386),(#9385),.T.,.CARTESIAN.);
#9720 = LINE('Line33',#9401,#9560);
#9721 = TRIMMED_CURVE('TrimCur71',#9720,(#9401),(#9400),.T.,.CARTESIAN.);
#9725 = LINE('Line34',#9411,#9560);
#9726 = TRIMMED_CURVE('TrimCur72',#9725,(#9411),(#9410),.T.,.CARTESIAN.);
#9800 = GEOMETRIC_CURVE_SET('GeomCurSet1',(#9110,#9111,#9130,#9131,
#9562,#9566,#9571,#9576,#9581,#9153, #9586,#9158,#9159,#9591,#9173,
#9178,#9596,#9185, #9601,#9606,#9194,#9195,#9198,#9611,
#9616,#9211,#9215, #9621,#9227,#9626,#9631,#9238,
#9239,#9242,#9636,#9641, #9258,#9263,#9646,#9272,
#9651,#9656,#9283,#9284,#9287, #9661,#9666,#9303,
#9308,#9671,#9317,#9676, #9681,#9328,#9329,#9332,#9686,#9691,
#9348,#9353,#9696, #9362,#9701,#9706,#9373,#9374,
#9377,#9711,#9716,#9393, #9398,#9721,#9407,#9726,
#9413,#9414,#9450,#9451,#9460,#9461,#9470,#9471,#9480,#9481,#9490,#9491,
#9500,#9501,#9510,#9511,#9520,#9521,#9530,#9531,#9540,#9541,#9550,#9551));
#9815=DIMENSIONAL_EXPONENTS(1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
#9822=(LENGTH_UNIT()NAMED_UNIT(*)SI_UNIT(.CENTI.,.METRE.));
#9824=LENGTH_MEASURE_WITH_UNIT(POSITIVE_LENGTH_MEASURE(2.54),#9822);
#9825=(CONVERSION_BASED_UNIT('inch',#9824)LENGTH_UNIT()NAMED_UNIT(#9815));
#9826=(NAMED_UNIT(*)PLANE_ANGLE_UNIT()SI_UNIT($,.RADIAN.));
#9827=(NAMED_UNIT(*)SI_UNIT($,.STERADIAN.)SOLID_ANGLE_UNIT());
#9828 = (GEOMETRIC_REPRESENTATION_CONTEXT(3)
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#9829))
GLOBAL_UNIT_ASSIGNED_CONTEXT((#9825,#9826,#9827))
REPRESENTATION_CONTEXT('CONTEXT for gbwr test case star','This is a 3d context using inches for linear dimension'));
#9829 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(0.000001),#9825,'xx','yy');
#9810=GEOMETRICALLY_BOUNDED_WIREFRAME_SHAPE_REPRESENTATION('gbwsr',(#9800),#9828);
ENDSEC;
END-ISO-10303-21;
+57 -107
View File
@@ -1,32 +1,25 @@
# To build one or more schemas, configure with
# 'cmake -DSC_BUILD_SCHEMAS="path/to/schema.exp;path/to/schema2.exp"
MACRO(RELATIVE_PATH_TO_TOPLEVEL current_dir rel_path)
string(REPLACE "${SC_SOURCE_DIR}" "" subpath "${current_dir}")
string(REGEX REPLACE "^/" "" subpath "${subpath}")
string(LENGTH "${subpath}" PATH_LENGTH)
if(PATH_LENGTH GREATER 0)
set(${rel_path} "..")
get_filename_component(subpath "${subpath}" PATH)
string(LENGTH "${subpath}" PATH_LENGTH)
while(PATH_LENGTH GREATER 0)
set(${rel_path} "${${rel_path}}/..")
get_filename_component(subpath "${subpath}" PATH)
string(LENGTH "${subpath}" PATH_LENGTH)
endwhile(PATH_LENGTH GREATER 0)
endif(PATH_LENGTH GREATER 0)
ENDMACRO(RELATIVE_PATH_TO_TOPLEVEL current_dir rel_path)
#this sets a property so that the target doesn't get built by 'make' or 'make all'
#useful when testing generation of schema code/compiling schem libs/etc
FUNCTION( TESTABLE_TARGET target )
if(SCL_ENABLE_TESTING)
set_target_properties( ${target} PROPERTIES EXCLUDE_FROM_ALL ON )
endif()
ENDFUNCTION( TESTABLE_TARGET )
# This function runs fedex on one express file. The generated source goes in a dir
# in the build dir, and it is compiled into a library. A p21read executable is
# To build one or more schemas, configure with
# 'cmake -DSCL_BUILD_SCHEMAS="path/to/schema.exp;path/to/schema2.exp"
# This function runs fedex on one express file. The generated source goes in a dir
# in the build dir, and it is compiled into a library. A p21read executable is
# compiled and linked to the lib. p21read is used to test the lib.
FUNCTION(BUILD_A_SCHEMA SCHEMA_FILE)
if( EXISTS "${CMAKE_BINARY_DIR}/${SCHEMA_FILE}" ) #is it a path relative to build dir?
if( EXISTS "${CMAKE_BINARY_DIR}/${SCHEMA_FILE}" ) #try absolute path. if that fails, must already be absolute.
set( SCHEMA_FILE "${CMAKE_BINARY_DIR}/${SCHEMA_FILE}" )
elseif( EXISTS "${SC_SOURCE_DIR}/data/${SCHEMA_FILE}" ) # path relative to STEPcode/data?
set( SCHEMA_FILE "${SC_SOURCE_DIR}/data/${SCHEMA_FILE}" )
elseif( NOT EXISTS ${SCHEMA_FILE} ) # absolute path
message( FATAL_ERROR "Cannot find ${CMAKE_BINARY_DIR}/${SCHEMA_FILE} or ${SC_SOURCE_DIR}/data/${SCHEMA_FILE} or ${SCHEMA_FILE}" )
else()
if( NOT EXISTS ${SCHEMA_FILE} )
message( FATAL_ERROR "Cannot find ${CMAKE_BINARY_DIR}/${SCHEMA_FILE} or ${SCHEMA_FILE}")
endif()
endif()
if( IS_DIRECTORY ${SCHEMA_FILE} ) #if it is a dir, look for one .exp file inside
@@ -40,60 +33,54 @@ FUNCTION(BUILD_A_SCHEMA SCHEMA_FILE)
# read the schema name from a line like 'SCHEMA AUTOMOTIVE_DESIGN;'
file(STRINGS ${SCHEMA_FILE} SCHEMA_STATEMENT LIMIT_COUNT 1 REGEX "^SCHEMA .*")
string(REGEX REPLACE "^SCHEMA \(.*\)\;$" "\\1" SCHEMA_N ${SCHEMA_STATEMENT} )
string(TOUPPER ${SCHEMA_N} SCHEMA_LONG_NAME) #exp2cxx always uses upper case for file names
string(TOUPPER ${SCHEMA_N} SCHEMA_LONG_NAME) #fedex_plus always uses upper case for file names
get_filename_component( SCHEMA_SN ${SCHEMA_FILE} NAME )
string( REGEX REPLACE "\(.*\).[Ee][Xx][Pp]" "\\1" SCHEMA_SHORT_NAME ${SCHEMA_SN} )
project( sdai_${SCHEMA_SHORT_NAME} )
message( STATUS "Generating code for ${SCHEMA_SHORT_NAME}.")
set( SCHEMA_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/${SCHEMA_SHORT_NAME} )
set( SCHEMA_OUTPUT_DIR ${CMAKE_BINARY_DIR}/${SCHEMA_SHORT_NAME} )
#the names of the files that will be generated
set( FEDEX_HEADERS ${SCHEMA_OUTPUT_DIR}/Sdaiclasses.h ${SCHEMA_OUTPUT_DIR}/schema.h
${SCHEMA_OUTPUT_DIR}/Sdai${SCHEMA_LONG_NAME}.h )
set( FEDEX_OUT ${SCHEMA_OUTPUT_DIR}/compstructs.cc ${SCHEMA_OUTPUT_DIR}/schema.cc
${SCHEMA_OUTPUT_DIR}/Sdai${SCHEMA_LONG_NAME}.cc ${SCHEMA_OUTPUT_DIR}/SdaiAll.cc
${SCHEMA_OUTPUT_DIR}/Sdai${SCHEMA_LONG_NAME}.init.cc ${FEDEX_HEADERS} )
install( FILES ${FEDEX_HEADERS} DESTINATION include/${SCHEMA_SHORT_NAME} )
set( FEDEX_OUT ${SCHEMA_OUTPUT_DIR}/compstructs.cc ${SCHEMA_OUTPUT_DIR}/Sdaiclasses.h
${SCHEMA_OUTPUT_DIR}/schema.cc ${SCHEMA_OUTPUT_DIR}/Sdai${SCHEMA_LONG_NAME}.cc
${SCHEMA_OUTPUT_DIR}/schema.h ${SCHEMA_OUTPUT_DIR}/Sdai${SCHEMA_LONG_NAME}.h
${SCHEMA_OUTPUT_DIR}/SdaiAll.cc ${SCHEMA_OUTPUT_DIR}/Sdai${SCHEMA_LONG_NAME}.init.cc )
# *cannot* use include_directories() because the includes keep piling up - if building
# multiple schemas, each one will use the include dirs from all previous schemas. Since
# one header (schema.h) is always named the same, this will not work. only workaround
# seems to be set_target_properties( <target> PROPERTIES COMPILE_FLAGS <flags> )
set( ${PROJECT_NAME}_COMPILE_FLAGS "-I${CMAKE_CURRENT_SOURCE_DIR} -I${SC_SOURCE_DIR}/src/cldai -I${SC_SOURCE_DIR}/src/cleditor -I${SC_SOURCE_DIR}/src/clutils -I${SCHEMA_OUTPUT_DIR} -I${SC_SOURCE_DIR}/src/clstepcore -I${SC_SOURCE_DIR}/src/base" )
set( ${PROJECT_NAME}_COMPILE_FLAGS "-I${CMAKE_CURRENT_SOURCE_DIR} -I${SCL_SOURCE_DIR}/src/cldai -I${SCL_SOURCE_DIR}/src/cleditor -I${SCL_SOURCE_DIR}/src/clutils -I${SCHEMA_OUTPUT_DIR} -I${SCL_SOURCE_DIR}/src/clstepcore -I${SCL_SOURCE_DIR}/src/base" )
add_custom_target( generate_cpp_${SCHEMA_SHORT_NAME} SOURCES ${FEDEX_OUT} )
add_custom_command( OUTPUT ${SCHEMA_OUTPUT_DIR}
COMMAND ${CMAKE_COMMAND} ARGS -E make_directory ${SCHEMA_OUTPUT_DIR}
COMMAND cmake ARGS -E make_directory ${SCHEMA_OUTPUT_DIR}
COMMENT "Creating ${SCHEMA_OUTPUT_DIR} for schema ${SCHEMA_SHORT_NAME}")
add_custom_command( OUTPUT ${FEDEX_OUT}
COMMAND exp2cxx ARGS ${SCHEMA_FILE}
COMMAND fedex_plus ARGS ${SCHEMA_FILE}
DEPENDS ${SCHEMA_FILE} ${SCHEMA_OUTPUT_DIR}
WORKING_DIRECTORY ${SCHEMA_OUTPUT_DIR}
COMMENT "Running exp2cxx for ${SCHEMA_SHORT_NAME}..."
COMMENT "Running fedex_plus for ${SCHEMA_SHORT_NAME}..."
VERBATIM )
add_custom_target( generate_cpp_${SCHEMA_SHORT_NAME} DEPENDS ${FEDEX_OUT} SOURCES ${FEDEX_OUT} )
if( SC_ENABLE_COVERAGE AND NOT SC_COVER_SCHEMAS )
# Coverage will always be sparse on schema libs. Compiling the libs with the -fprofile-arcs and
# -ftest-coverage is extremely slow. We can avoid that by temporarily changing build type to release.
set( PREV_BUILD_TYPE ${CMAKE_BUILD_TYPE} )
set( CMAKE_BUILD_TYPE "Release" )
endif( SC_ENABLE_COVERAGE AND NOT SC_COVER_SCHEMAS )
# if testing is enabled, "TESTABLE" sets property EXCLUDE_FROM_ALL and prevents installation
SC_ADDLIB( ${PROJECT_NAME} "${FEDEX_OUT}" "stepdai;stepcore;stepeditor;steputils;base" "TESTABLE" )
if(MSVC OR BORLAND)
add_definitions( -DSCL_SCHEMA_DLL_EXPORTS )
add_definitions( -DSCL_BASE_DLL_IMPORTS )
add_definitions( -DSCL_EXPRESS_DLL_IMPORTS )
add_definitions( -DSCL_UTILS_DLL_IMPORTS )
add_definitions( -DSCL_DAI_DLL_IMPORTS )
add_definitions( -DSCL_CORE_DLL_IMPORTS )
add_definitions( -DSCL_EDITOR_DLL_IMPORTS )
endif()
add_library( ${PROJECT_NAME} SHARED ${FEDEX_OUT} )
target_link_libraries(${PROJECT_NAME} stepdai stepcore express stepeditor steputils base )
add_dependencies( ${PROJECT_NAME} generate_cpp_${SCHEMA_SHORT_NAME} )
set_target_properties( ${PROJECT_NAME} PROPERTIES COMPILE_FLAGS
${${PROJECT_NAME}_COMPILE_FLAGS} )
if( TARGET ${PROJECT_NAME}-static )
set_target_properties( ${PROJECT_NAME}-static PROPERTIES COMPILE_FLAGS
${${PROJECT_NAME}_COMPILE_FLAGS} )
endif( TARGET ${PROJECT_NAME}-static )
if( SC_ENABLE_COVERAGE AND NOT SC_COVER_SCHEMAS )
set( CMAKE_BUILD_TYPE ${PREV_BUILD_TYPE} )
endif( SC_ENABLE_COVERAGE AND NOT SC_COVER_SCHEMAS )
if(APPLE)
set_target_properties(${PROJECT_NAME} PROPERTIES LINK_FLAGS "-flat_namespace -undefined suppress")
endif(APPLE)
TESTABLE_TARGET( ${PROJECT_NAME} )
add_test( NAME generate_cpp_${SCHEMA_SHORT_NAME}
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
@@ -105,77 +92,40 @@ FUNCTION(BUILD_A_SCHEMA SCHEMA_FILE)
COMMAND ${CMAKE_COMMAND} --build .
--target p21read_${PROJECT_NAME}
--config $<CONFIGURATION> )
if(NOT WIN32)
add_test( NAME build_lazy_cpp_${PROJECT_NAME}
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
COMMAND ${CMAKE_COMMAND} --build .
--target lazy_${PROJECT_NAME}
--config $<CONFIGURATION> )
endif(NOT WIN32)
# label the tests and set dependencies
set_tests_properties( generate_cpp_${SCHEMA_SHORT_NAME} PROPERTIES LABELS cpp_schema_gen )
if(NOT WIN32)
set_tests_properties( build_lazy_cpp_${PROJECT_NAME} build_cpp_${PROJECT_NAME} PROPERTIES DEPENDS generate_cpp_${SCHEMA_SHORT_NAME} LABELS cpp_schema_build )
endif(NOT WIN32)
set_tests_properties( build_cpp_${PROJECT_NAME} PROPERTIES DEPENDS generate_cpp_${SCHEMA_SHORT_NAME} LABELS cpp_schema_build )
RELATIVE_PATH_TO_TOPLEVEL(${CMAKE_CURRENT_SOURCE_DIR} RELATIVE_PATH_COMPONENT)
SC_ADDEXEC( p21read_${PROJECT_NAME} "${RELATIVE_PATH_COMPONENT}/src/test/p21read/p21read.cc" "${PROJECT_NAME};base" "TESTABLE" )
if(NOT WIN32)
SC_ADDEXEC( lazy_${PROJECT_NAME} "${RELATIVE_PATH_COMPONENT}/src/cllazyfile/lazy_test.cc" "${PROJECT_NAME};steplazyfile;stepeditor" "TESTABLE" )
endif(NOT WIN32)
if(MSVC OR BORLAND)
add_executable( p21read_${PROJECT_NAME} ${SCL_SOURCE_DIR}/src/test/p21read/p21read.cc ${SCL_SOURCE_DIR}/src/fedex_plus/xgetopt.cc )
else()
add_executable( p21read_${PROJECT_NAME} ${SCL_SOURCE_DIR}/src/test/p21read/p21read.cc )
endif()
add_dependencies( p21read_${PROJECT_NAME} version_string )
if(NOT WIN32)
add_dependencies( lazy_${PROJECT_NAME} version_string )
endif(NOT WIN32)
target_link_libraries( p21read_${PROJECT_NAME} ${PROJECT_NAME} )
set_target_properties( p21read_${PROJECT_NAME} PROPERTIES COMPILE_FLAGS
${${PROJECT_NAME}_COMPILE_FLAGS} )
if(NOT WIN32)
set_target_properties( lazy_${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "${${PROJECT_NAME}_COMPILE_FLAGS} -I${SC_SOURCE_DIR}/src/base/judy/src" )
endif(NOT WIN32)
#add user-defined executables
foreach( src ${SC_SDAI_ADDITIONAL_EXES_SRCS} )
get_filename_component( name ${src} NAME_WE )
get_filename_component( path ${src} ABSOLUTE )
SC_ADDEXEC( ${name}_${PROJECT_NAME} "${src}" "${PROJECT_NAME};base" "TESTABLE" )
add_dependencies( ${name}_${PROJECT_NAME} version_string )
set_target_properties( ${name}_${PROJECT_NAME} PROPERTIES COMPILE_FLAGS
"${${PROJECT_NAME}_COMPILE_FLAGS} -I${path}" )
endforeach( src ${SC_SDAI_ADDITIONAL_EXES_SRCS} )
TESTABLE_TARGET( p21read_${PROJECT_NAME} )
#find all part 21 files in schema dir, add a test for each one
get_filename_component( SCHEMA_DIR ${SCHEMA_FILE} PATH )
file( GLOB_RECURSE P21_FILES ${SCHEMA_DIR}/*.stp ${SCHEMA_DIR}/*.step ${SCHEMA_DIR}/*.p21 ${SCHEMA_DIR}/*.ifc )
file( GLOB_RECURSE P21_FILES ${SCHEMA_DIR}/*.stp ${SCHEMA_DIR}/*.step ${SCHEMA_DIR}/*.p21 )
foreach( TEST_FILE ${P21_FILES} )
get_filename_component( FNAME ${TEST_FILE} NAME_WE )
add_test( NAME read_write_cpp_${SCHEMA_SHORT_NAME}_${FNAME}
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
COMMAND p21read_${PROJECT_NAME} ${TEST_FILE} )
set_tests_properties( read_write_cpp_${SCHEMA_SHORT_NAME}_${FNAME} PROPERTIES DEPENDS build_cpp_${PROJECT_NAME} LABELS cpp_schema_rw )
if(NOT WIN32)
add_test( NAME read_lazy_cpp_${SCHEMA_SHORT_NAME}_${FNAME}
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
COMMAND lazy_${PROJECT_NAME} ${TEST_FILE} )
set_tests_properties( read_lazy_cpp_${SCHEMA_SHORT_NAME}_${FNAME} PROPERTIES DEPENDS build_lazy_cpp_${PROJECT_NAME} LABELS cpp_schema_rw )
endif(NOT WIN32)
endforeach()
ENDFUNCTION(BUILD_A_SCHEMA)
#----------------------------------------------------------------------------------------------------
if( DEFINED SC_BUILD_SCHEMAS )
foreach( src ${SC_SDAI_ADDITIONAL_EXES_SRCS} )
get_filename_component( name ${src} NAME_WE )
message( STATUS "Additional SDAI executable: ${name}" )
endforeach( src ${SC_SDAI_ADDITIONAL_EXES_SRCS} )
if( SC_BUILD_SCHEMAS STREQUAL "ALL" )
file( GLOB_RECURSE SC_BUILD_SCHEMAS ${SC_SOURCE_DIR}/data/*.exp )
if( DEFINED SCL_BUILD_SCHEMAS )
if( SCL_BUILD_SCHEMAS STREQUAL "ALL" )
file( GLOB_RECURSE SCL_BUILD_SCHEMAS ${SCL_SOURCE_DIR}/data/*.exp )
endif()
foreach( ap ${SC_BUILD_SCHEMAS} )
foreach( ap ${SCL_BUILD_SCHEMAS} )
BUILD_A_SCHEMA( ${ap} )
endforeach()
endif()
File diff suppressed because it is too large Load Diff
-5328
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+300
View File
@@ -0,0 +1,300 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION((''), '1');
FILE_NAME('MITRE ',
'1998-08-31T15:05:58+02:00',
(''),
(''),
'CATIA.STEP INTERFACE',
'CATIA SOLUTIONS V4 RELEASE 2.1 FR 4.2.1',
'');
FILE_SCHEMA(('PLANT_SPATIAL_CONFIGURATION'));
ENDSEC;
DATA;
#1=APPLICATION_CONTEXT('process plants');
#2=APPLICATION_PROTOCOL_DEFINITION('CD','plant_spatial_configuration',1995,#1);
#3=PRODUCT_CONTEXT('plant design',#1,'process plant');
#4=PRODUCT_DEFINITION_CONTEXT('physical definition',#1,'physical design');
#5=PRODUCT_DEFINITION_CONTEXT('physical occurrence',#1,'physical design');
#6=PRODUCT_DEFINITION_CONTEXT('functional definition',#1,'functional design');
#7=PRODUCT_DEFINITION_CONTEXT('functional occurrence',#1,'functional design');
#8=PRODUCT_DEFINITION_CONTEXT('catalogue definition',#1,'???? design');
#9=CARTESIAN_POINT($,(0.00000000000,0.00000000000,0.00000000000));
#10=DIMENSIONAL_EXPONENTS(0.00000000000,1.00000000000,0.00000000000,0.00000000000,0.00000000000,0.00000000000,0.00000000000);
#11=(MASS_UNIT()NAMED_UNIT(#10)SI_UNIT(.KILO.,.GRAM.));
#12=DIMENSIONAL_EXPONENTS(1.00000000000,0.00000000000,0.00000000000,0.00000000000,0.00000000000,0.00000000000,0.00000000000);
#13=(LENGTH_UNIT()NAMED_UNIT(#12)SI_UNIT(.MILLI.,.METRE.));
#14=GLOBAL_UNIT_ASSIGNED_CONTEXT($,$,(#13));
#15=DESCRIPTIVE_REPRESENTATION_ITEM('flow direction','in');
#16=REPRESENTATION($,(#15),#14);
#17=DESCRIPTIVE_REPRESENTATION_ITEM('flow direction','out');
#18=REPRESENTATION($,(#17),#14);
#19=PLANT_LINE_DEFINITION('U1-P100-10"-CS150R-FG',$,$,#6,$);
#20=PLANT_LINE_SEGMENT_DEFINITION('en_dur',$,$,#6);
#21=PRODUCT_DEFINITION_RELATIONSHIP($,'',$,#19,#20);
#22=PRODUCT_DEFINITION_SHAPE($,$,#20);
#23=SHAPE_DIMENSION_REPRESENTATION($,(#25),$);
#24=SHAPE_DEFINITION_REPRESENTATION(#22,#23);
#25=(MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE(253.999998062),#13)REPRESENTATION_ITEM('line size'));
#26=DOCUMENT('CS150R',$,$,#28);
#27=PLANT_SPATIAL_CONFIGURATION_DOCUMENT_REFERENCE(#26,$,(#20));
#28=DOCUMENT_TYPE('piping specification');
#29=DOCUMENT_USAGE_CONSTRAINT(#26,'service description',$);
#30=PRODUCT('',$,$,(#3));
#31=PRODUCT_DEFINITION_FORMATION($,$,#30);
#32=PIPING_COMPONENT_DEFINITION($,$,#31,#4);
#33=PRODUCT_DEFINITION_SHAPE($,$,#32);
#34=PIPING_COMPONENT_DEFINITION($,$,#31,#5);
#35=PRODUCT_DEFINITION_SHAPE($,$,#34);
#36=PRODUCT_DEFINITION_RELATIONSHIP($,'definition usage',$,#32,#34);
#37=PIPE_CLASSIFICATION('straight pipe',$);
#38=CLASSIFICATION_ASSIGNMENT(#37,(#32,#34,#88,#90));
#39=PRODUCT_RELATED_PRODUCT_CATEGORY('pipe',$,(#30,#86,#135));
#40=PRODUCT_DEFINITION_RELATIONSHIP($,'realization',$,#20,#34);
#41=PLANT_ITEM_CONNECTOR($,'end 1',#33,$);
#42=PLANT_ITEM_CONNECTOR($,'end 1',#35,$);
#43=SHAPE_ASPECT_RELATIONSHIP('usage',$,#41,#42);
#44=REPRESENTATION($,(#45,#49),$);
#45=CARTESIAN_POINT('location',(1000.00000000,0.00000000000,0.00000000000));
#46=CARTESIAN_POINT($,(1000.00000000,0.00000000000,0.00000000000));
#47=DIRECTION($,(0.101600309323,0.00000000000,0.00000000000));
#48=DIRECTION($,(-0.00000000000,0.00000000000,0.0508001546616));
#49=AXIS2_PLACEMENT_3D('connector orientation',#46,#47,#48);
#50=PROPERTY_DEFINITION($,$,#42);
#51=PROPERTY_DEFINITION_REPRESENTATION(#50,#44);
#52=PLANT_ITEM_CONNECTOR($,'end 2',#33,$);
#53=PLANT_ITEM_CONNECTOR($,'end 2',#35,$);
#54=SHAPE_ASPECT_RELATIONSHIP('usage',$,#52,#53);
#55=REPRESENTATION($,(#56,#60),$);
#56=CARTESIAN_POINT('location',(366.025403784,-4.80740671596E-14,0.00000000000));
#57=CARTESIAN_POINT($,(366.025403784,-4.80740671596E-14,0.00000000000));
#58=DIRECTION($,(-0.101600309323,-0.00000000000,-0.00000000000));
#59=DIRECTION($,(-0.00000000000,0.00000000000,0.0508001546616));
#60=AXIS2_PLACEMENT_3D('connector orientation',#57,#58,#59);
#61=PROPERTY_DEFINITION($,$,#53);
#62=PROPERTY_DEFINITION_REPRESENTATION(#61,#55);
#63=PROPERTY_DEFINITION($,$,#32);
#64=REPRESENTATION('piping component size',(#69),$);
#65=PROPERTY_DEFINITION_REPRESENTATION(#63,#64);
#66=PROPERTY_DEFINITION($,$,#32);
#67=SHAPE_DIMENSION_REPRESENTATION('piping component dimensions',(#70),$);
#68=PROPERTY_DEFINITION_REPRESENTATION(#66,#67);
#69=(MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE(253.999998062),#13)REPRESENTATION_ITEM('nominal size'));
#70=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE(273.050000000),#13)REPRESENTATION_ITEM('outside diameter'));
#71=DOCUMENT($,$,$,#73);
#72=PLANT_SPATIAL_CONFIGURATION_DOCUMENT_REFERENCE(#71,$,(#64));
#73=DOCUMENT_TYPE('dimensional standard');
#74=DOCUMENT_USAGE_CONSTRAINT(#71,'pipe schedule','STANDARD');
#75=PRODUCT_DEFINITION($,$,$,$);
#76=MATERIAL_PROPERTY($,$,#75);
#77=PRODUCT_DEFINITION_USAGE($,$,$,#32,#75);
#78=DOCUMENT_TYPE('material specification');
#79=DOCUMENT('ASTM A 53',$,$,#78);
#80=DOCUMENT_USAGE_CONSTRAINT(#79,$,'Carbon steel');
#81=PLANT_SPATIAL_CONFIGURATION_DOCUMENT_REFERENCE(#79,$,(#75,#128,#179));
#82=DIMENSIONAL_LOCATION($,$,#42,#53);
#83=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE(633.974596216),#13)REPRESENTATION_ITEM('end to end length'));
#84=SHAPE_DIMENSION_REPRESENTATION('pipe dimensional shape',(#83),#14);
#85=DIMENSIONAL_CHARACTERISTIC_REPRESENTATION(#82,#84);
#86=PRODUCT('',$,$,(#3));
#87=PRODUCT_DEFINITION_FORMATION($,$,#86);
#88=PIPING_COMPONENT_DEFINITION($,$,#87,#4);
#89=PRODUCT_DEFINITION_SHAPE($,$,#88);
#90=PIPING_COMPONENT_DEFINITION($,$,#87,#5);
#91=PRODUCT_DEFINITION_SHAPE($,$,#90);
#92=PRODUCT_DEFINITION_RELATIONSHIP($,'definition usage',$,#88,#90);
#93=PRODUCT_DEFINITION_RELATIONSHIP($,'realization',$,#20,#90);
#94=PLANT_ITEM_CONNECTOR($,'end 1',#89,$);
#95=PLANT_ITEM_CONNECTOR($,'end 1',#91,$);
#96=SHAPE_ASPECT_RELATIONSHIP('usage',$,#94,#95);
#97=REPRESENTATION($,(#98,#102),$);
#98=CARTESIAN_POINT('location',(0.00000000000,366.025403784,0.00000000000));
#99=CARTESIAN_POINT($,(0.00000000000,366.025403784,0.00000000000));
#100=DIRECTION($,(-0.00000000000,-0.101600309323,-0.00000000000));
#101=DIRECTION($,(0.0508001546616,0.00000000000,0.00000000000));
#102=AXIS2_PLACEMENT_3D('connector orientation',#99,#100,#101);
#103=PROPERTY_DEFINITION($,$,#95);
#104=PROPERTY_DEFINITION_REPRESENTATION(#103,#97);
#105=PLANT_ITEM_CONNECTOR($,'end 2',#89,$);
#106=PLANT_ITEM_CONNECTOR($,'end 2',#91,$);
#107=SHAPE_ASPECT_RELATIONSHIP('usage',$,#105,#106);
#108=REPRESENTATION($,(#109,#113),$);
#109=CARTESIAN_POINT('location',(0.00000000000,1000.00000000,0.00000000000));
#110=CARTESIAN_POINT($,(0.00000000000,1000.00000000,0.00000000000));
#111=DIRECTION($,(0.00000000000,0.101600309323,0.00000000000));
#112=DIRECTION($,(0.0508001546616,0.00000000000,0.00000000000));
#113=AXIS2_PLACEMENT_3D('connector orientation',#110,#111,#112);
#114=PROPERTY_DEFINITION($,$,#106);
#115=PROPERTY_DEFINITION_REPRESENTATION(#114,#108);
#116=PROPERTY_DEFINITION($,$,#88);
#117=REPRESENTATION('piping component size',(#122),$);
#118=PROPERTY_DEFINITION_REPRESENTATION(#116,#117);
#119=PROPERTY_DEFINITION($,$,#88);
#120=SHAPE_DIMENSION_REPRESENTATION('piping component dimensions',(#123),$);
#121=PROPERTY_DEFINITION_REPRESENTATION(#119,#120);
#122=(MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE(253.999998062),#13)REPRESENTATION_ITEM('nominal size'));
#123=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE(273.050000000),#13)REPRESENTATION_ITEM('outside diameter'));
#124=DOCUMENT($,$,$,#126);
#125=PLANT_SPATIAL_CONFIGURATION_DOCUMENT_REFERENCE(#124,$,(#117));
#126=DOCUMENT_TYPE('dimensional standard');
#127=DOCUMENT_USAGE_CONSTRAINT(#124,'pipe schedule','STANDARD');
#128=PRODUCT_DEFINITION($,$,$,$);
#129=MATERIAL_PROPERTY($,$,#128);
#130=PRODUCT_DEFINITION_USAGE($,$,$,#88,#128);
#131=DIMENSIONAL_LOCATION($,$,#95,#106);
#132=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE(633.974596216),#13)REPRESENTATION_ITEM('end to end length'));
#133=SHAPE_DIMENSION_REPRESENTATION('pipe dimensional shape',(#132),#14);
#134=DIMENSIONAL_CHARACTERISTIC_REPRESENTATION(#131,#133);
#135=PRODUCT('',$,$,(#3));
#136=PRODUCT_DEFINITION_FORMATION($,$,#135);
#137=PIPING_COMPONENT_DEFINITION($,$,#136,#4);
#138=PRODUCT_DEFINITION_SHAPE($,$,#137);
#139=PIPING_COMPONENT_DEFINITION($,$,#136,#5);
#140=PRODUCT_DEFINITION_SHAPE($,$,#139);
#141=PRODUCT_DEFINITION_RELATIONSHIP($,'definition usage',$,#137,#139);
#142=PIPE_CLASSIFICATION('mitre bend pipe',$);
#143=CLASSIFICATION_ASSIGNMENT(#142,(#137,#139));
#144=PRODUCT_DEFINITION_RELATIONSHIP($,'realization',$,#20,#139);
#145=PLANT_ITEM_CONNECTOR($,'end 1',#138,$);
#146=PLANT_ITEM_CONNECTOR($,'end 1',#140,$);
#147=SHAPE_ASPECT_RELATIONSHIP('usage',$,#145,#146);
#148=REPRESENTATION($,(#149,#153),$);
#149=CARTESIAN_POINT('location',(366.025403784,-4.80740671596E-14,0.00000000000));
#150=CARTESIAN_POINT($,(366.025403784,-4.80740671596E-14,0.00000000000));
#151=DIRECTION($,(1.00000000000,-1.31340794006E-16,0.00000000000));
#152=DIRECTION($,(0.00000000000,1.00000000000,0.00000000000));
#153=AXIS2_PLACEMENT_3D('connector orientation',#150,#151,#152);
#154=PROPERTY_DEFINITION($,$,#146);
#155=PROPERTY_DEFINITION_REPRESENTATION(#154,#148);
#156=PLANT_ITEM_CONNECTOR($,'end 2',#138,$);
#157=PLANT_ITEM_CONNECTOR($,'end 2',#140,$);
#158=SHAPE_ASPECT_RELATIONSHIP('usage',$,#156,#157);
#159=REPRESENTATION($,(#160,#164),$);
#160=CARTESIAN_POINT('location',(0.00000000000,366.025403784,0.00000000000));
#161=CARTESIAN_POINT($,(0.00000000000,366.025403784,0.00000000000));
#162=DIRECTION($,(0.00000000000,1.00000000000,0.00000000000));
#163=DIRECTION($,(1.00000000000,0.00000000000,0.00000000000));
#164=AXIS2_PLACEMENT_3D('connector orientation',#161,#162,#163);
#165=PROPERTY_DEFINITION($,$,#157);
#166=PROPERTY_DEFINITION_REPRESENTATION(#165,#159);
#167=PROPERTY_DEFINITION($,$,#137);
#168=REPRESENTATION('piping component size',(#173),$);
#169=PROPERTY_DEFINITION_REPRESENTATION(#167,#168);
#170=PROPERTY_DEFINITION($,$,#137);
#171=SHAPE_DIMENSION_REPRESENTATION('piping component dimensions',(#174),$);
#172=PROPERTY_DEFINITION_REPRESENTATION(#170,#171);
#173=(MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE(253.999998062),#13)REPRESENTATION_ITEM('nominal size'));
#174=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE(273.050000000),#13)REPRESENTATION_ITEM('outside diameter'));
#175=DOCUMENT($,$,$,#177);
#176=PLANT_SPATIAL_CONFIGURATION_DOCUMENT_REFERENCE(#175,$,(#168));
#177=DOCUMENT_TYPE('dimensional standard');
#178=DOCUMENT_USAGE_CONSTRAINT(#175,'pipe schedule','STANDARD');
#179=PRODUCT_DEFINITION($,$,$,$);
#180=MATERIAL_PROPERTY($,$,#179);
#181=PRODUCT_DEFINITION_USAGE($,$,$,#137,#179);
#182=PROPERTY_DEFINITION($,$,#139);
#183=REPRESENTATION('pipe characteristics',(#185),$);
#184=PROPERTY_DEFINITION_REPRESENTATION(#182,#183);
#185=(MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(COUNT_MEASURE(3.00000000000),$)REPRESENTATION_ITEM('number of segments'));
#186=SHAPE_DEFINITION_REPRESENTATION(#33,#187);
#187=SHAPE_REPRESENTATION($,(#235),$);
#188=REPRESENTATION_MAP(#9,#187);
#189=SHAPE_REPRESENTATION($,(#191),#14);
#190=SHAPE_DEFINITION_REPRESENTATION(#35,#189);
#191=MAPPED_ITEM($,#188,#195);
#192=CARTESIAN_POINT($,(1000.00000000,0.00000000000,0.00000000000));
#193=DIRECTION($,(-1.00000000000,0.00000000000,0.00000000000));
#194=DIRECTION($,(0.00000000000,1.00000000000,0.00000000000));
#195=AXIS2_PLACEMENT_3D($,#192,#193,#194);
#196=SHAPE_DEFINITION_REPRESENTATION(#89,#197);
#197=SHAPE_REPRESENTATION($,(#251),$);
#198=REPRESENTATION_MAP(#9,#197);
#199=SHAPE_REPRESENTATION($,(#201),#14);
#200=SHAPE_DEFINITION_REPRESENTATION(#91,#199);
#201=MAPPED_ITEM($,#198,#205);
#202=CARTESIAN_POINT($,(1000.00000000,0.00000000000,0.00000000000));
#203=DIRECTION($,(-1.00000000000,0.00000000000,0.00000000000));
#204=DIRECTION($,(0.00000000000,1.00000000000,0.00000000000));
#205=AXIS2_PLACEMENT_3D($,#202,#203,#204);
#206=SHAPE_DEFINITION_REPRESENTATION(#138,#207);
#207=SHAPE_REPRESENTATION($,(#267,#283),$);
#208=REPRESENTATION_MAP(#9,#207);
#209=SHAPE_REPRESENTATION($,(#211),#14);
#210=SHAPE_DEFINITION_REPRESENTATION(#140,#209);
#211=MAPPED_ITEM($,#208,#215);
#212=CARTESIAN_POINT($,(1000.00000000,0.00000000000,0.00000000000));
#213=DIRECTION($,(-1.00000000000,0.00000000000,0.00000000000));
#214=DIRECTION($,(0.00000000000,1.00000000000,0.00000000000));
#215=AXIS2_PLACEMENT_3D($,#212,#213,#214);
#216=PLANT_ITEM_CONNECTION('',$,$,$,$,'',#146,#53);
#217=CONNECTION_FUNCTIONAL_CLASSIFICATION('fluid transference',$);
#218=CLASSIFICATION_ASSIGNMENT(#217,(#216,#219));
#219=PLANT_ITEM_CONNECTION('',$,$,$,$,'',#157,#95);
#220=CARTESIAN_POINT($,(7.85037143115E-31,0.00000000000,0.00000000000));
#221=DIRECTION($,(-7.58296427752E-17,0.00000000000,1.00000000000));
#222=AXIS1_PLACEMENT($,#220,#221);
#223=RIGHT_CIRCULAR_CYLINDER('',#222,670.556359712,136.525000000);
#224=CARTESIAN_POINT($,(0.00000000000,0.00000000000,0.00000000000));
#225=DIRECTION($,(-0.00000000000,0.00000000000,-1.00000000000));
#226=AXIS2_PLACEMENT_3D($,#224,#225,$);
#227=PLANE($,#226);
#228=HALF_SPACE_SOLID($,#227,$);
#229=CARTESIAN_POINT($,(-4.80740671596E-14,0.00000000000,633.974596216));
#230=DIRECTION($,(0.258819045103,0.00000000000,0.965925826289));
#231=AXIS2_PLACEMENT_3D($,#229,#230,$);
#232=PLANE($,#231);
#233=HALF_SPACE_SOLID($,#232,$);
#234=BOOLEAN_RESULT('',.DIFFERENCE.,#223,#228);
#235=BOOLEAN_RESULT('',.DIFFERENCE.,#234,#233);
#236=CARTESIAN_POINT($,(329.443640288,-0.00000000000,1000.00000000));
#237=DIRECTION($,(1.00000000000,0.00000000000,-8.75605293377E-17));
#238=AXIS1_PLACEMENT($,#236,#237);
#239=RIGHT_CIRCULAR_CYLINDER('',#238,670.556359712,136.525000000);
#240=CARTESIAN_POINT($,(366.025403784,-0.00000000000,1000.00000000));
#241=DIRECTION($,(-0.965925826289,0.00000000000,-0.258819045103));
#242=AXIS2_PLACEMENT_3D($,#240,#241,$);
#243=PLANE($,#242);
#244=HALF_SPACE_SOLID($,#243,$);
#245=CARTESIAN_POINT($,(1000.00000000,-0.00000000000,1000.00000000));
#246=DIRECTION($,(1.00000000000,-0.00000000000,0.00000000000));
#247=AXIS2_PLACEMENT_3D($,#245,#246,$);
#248=PLANE($,#247);
#249=HALF_SPACE_SOLID($,#248,$);
#250=BOOLEAN_RESULT('',.DIFFERENCE.,#239,#244);
#251=BOOLEAN_RESULT('',.DIFFERENCE.,#250,#249);
#252=CARTESIAN_POINT($,(-18.2908817483,0.00000000000,602.293859712));
#253=DIRECTION($,(0.500000000000,-0.00000000000,0.866025403784));
#254=AXIS1_PLACEMENT($,#252,#253);
#255=RIGHT_CIRCULAR_CYLINDER('',#254,341.112719424,136.525000000);
#256=CARTESIAN_POINT($,(-4.80740671596E-14,0.00000000000,633.974596216));
#257=DIRECTION($,(-0.258819045103,0.00000000000,-0.965925826289));
#258=AXIS2_PLACEMENT_3D($,#256,#257,$);
#259=PLANE($,#258);
#260=HALF_SPACE_SOLID($,#259,$);
#261=CARTESIAN_POINT($,(133.974596216,-0.00000000000,866.025403784));
#262=DIRECTION($,(0.707106781187,0.00000000000,0.707106781187));
#263=AXIS2_PLACEMENT_3D($,#261,#262,$);
#264=PLANE($,#263);
#265=HALF_SPACE_SOLID($,#264,$);
#266=BOOLEAN_RESULT('',.DIFFERENCE.,#255,#260);
#267=BOOLEAN_RESULT('',.DIFFERENCE.,#266,#265);
#268=CARTESIAN_POINT($,(102.293859712,-0.00000000000,847.734522036));
#269=DIRECTION($,(0.866025403784,-0.00000000000,0.500000000000));
#270=AXIS1_PLACEMENT($,#268,#269);
#271=RIGHT_CIRCULAR_CYLINDER('',#270,341.112719424,136.525000000);
#272=CARTESIAN_POINT($,(133.974596216,-0.00000000000,866.025403784));
#273=DIRECTION($,(-0.707106781187,0.00000000000,-0.707106781187));
#274=AXIS2_PLACEMENT_3D($,#272,#273,$);
#275=PLANE($,#274);
#276=HALF_SPACE_SOLID($,#275,$);
#277=CARTESIAN_POINT($,(366.025403784,-0.00000000000,1000.00000000));
#278=DIRECTION($,(0.965925826289,0.00000000000,0.258819045103));
#279=AXIS2_PLACEMENT_3D($,#277,#278,$);
#280=PLANE($,#279);
#281=HALF_SPACE_SOLID($,#280,$);
#282=BOOLEAN_RESULT('',.DIFFERENCE.,#271,#276);
#283=BOOLEAN_RESULT('',.DIFFERENCE.,#282,#281);
ENDSEC;
END-ISO-10303-21;
+299
View File
@@ -0,0 +1,299 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION((''), '1');
FILE_NAME('MITRE ',
'1998-08-31T15:05:58+02:00',
(''),
(''),
'CATIA.STEP INTERFACE',
'CATIA SOLUTIONS V4 RELEASE 2.1 FR 4.2.1',
'');
FILE_SCHEMA(('PLANT_SPATIAL_CONFIGURATION'));
ENDSEC;
DATA;
#1=APPLICATION_CONTEXT('process plants');
#2=APPLICATION_PROTOCOL_DEFINITION('CD','plant_spatial_configuration',1995,#1);
#3=PRODUCT_CONTEXT('plant design',#1,'process plant');
#4=PRODUCT_DEFINITION_CONTEXT('physical definition',#1,'physical design');
#5=PRODUCT_DEFINITION_CONTEXT('physical occurrence',#1,'physical design');
#6=PRODUCT_DEFINITION_CONTEXT('functional definition',#1,'functional design');
#7=PRODUCT_DEFINITION_CONTEXT('functional occurrence',#1,'functional design');
#8=PRODUCT_DEFINITION_CONTEXT('catalogue definition',#1,'???? design');
#9=CARTESIAN_POINT($,(0.00000000000,0.00000000000,0.00000000000));
#10=DIMENSIONAL_EXPONENTS(0.00000000000,1.00000000000,0.00000000000,0.00000000000,0.00000000000,0.00000000000,0.00000000000);
#11=(MASS_UNIT()NAMED_UNIT(#10)SI_UNIT(.KILO.,.GRAM.));
#12=DIMENSIONAL_EXPONENTS(1.00000000000,0.00000000000,0.00000000000,0.00000000000,0.00000000000,0.00000000000,0.00000000000);
#13=(LENGTH_UNIT()NAMED_UNIT(#12)SI_UNIT(.MILLI.,.METRE.));
#14=GLOBAL_UNIT_ASSIGNED_CONTEXT($,$,(#13));
#15=DESCRIPTIVE_REPRESENTATION_ITEM('flow direction','in');
#16=REPRESENTATION($,(#15),#14);
#17=DESCRIPTIVE_REPRESENTATION_ITEM('flow direction','out');
#18=REPRESENTATION($,(#17),#14);
#19=PLANT_LINE_DEFINITION('U1-P100-10"-CS150R-FG',$,$,#6,$);
#20=PLANT_LINE_SEGMENT_DEFINITION('en_dur',$,$,#6);
#21=PRODUCT_DEFINITION_RELATIONSHIP($,'',$,#19,#20);
#22=PRODUCT_DEFINITION_SHAPE($,$,#20);
#23=SHAPE_DIMENSION_REPRESENTATION($,(#25),$);
#24=SHAPE_DEFINITION_REPRESENTATION(#22,#23);
#25=(MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE(253.999998062),#13)REPRESENTATION_ITEM('line size'));
#26=DOCUMENT('CS150R',$,$,#28);
#27=PLANT_SPATIAL_CONFIGURATION_DOCUMENT_REFERENCE(#26,$,(#20));
#28=DOCUMENT_TYPE('piping specification');
#29=DOCUMENT_USAGE_CONSTRAINT(#26,'service description',$);
#30=PRODUCT('',$,$,(#3));
#31=PRODUCT_DEFINITION_FORMATION($,$,#30);
#32=PIPING_COMPONENT_DEFINITION($,$,#31,#4);
#33=PRODUCT_DEFINITION_SHAPE($,$,#32);
#34=PIPING_COMPONENT_DEFINITION($,$,#31,#5);
#35=PRODUCT_DEFINITION_SHAPE($,$,#34);
#36=PRODUCT_DEFINITION_RELATIONSHIP($,'definition usage',$,#32,#34);
#37=PIPE_CLASSIFICATION('straight pipe',$);
#38=CLASSIFICATION_ASSIGNMENT(#37,(#32,#34,#88,#90));
#39=PRODUCT_RELATED_PRODUCT_CATEGORY('pipe',$,(#30,#86,#135));
#40=PRODUCT_DEFINITION_RELATIONSHIP($,'realization',$,#20,#34);
#41=PLANT_ITEM_CONNECTOR($,'end 1',#33,$);
#42=PLANT_ITEM_CONNECTOR($,'end 1',#35,$);
#43=SHAPE_ASPECT_RELATIONSHIP('usage',$,#41,#42);
#44=REPRESENTATION($,(#45,#49),$);
#45=CARTESIAN_POINT('location',(1000.00000000,0.00000000000,0.00000000000));
#46=CARTESIAN_POINT($,(1000.00000000,0.00000000000,0.00000000000));
#47=DIRECTION($,(0.101600309323,0.00000000000,0.00000000000));
#48=DIRECTION($,(-0.00000000000,0.00000000000,0.0508001546616));
#49=AXIS2_PLACEMENT_3D('connector orientation',#46,#47,#48);
#50=PROPERTY_DEFINITION($,$,#42);
#51=PROPERTY_DEFINITION_REPRESENTATION(#50,#44);
#52=PLANT_ITEM_CONNECTOR($,'end 2',#33,$);
#53=PLANT_ITEM_CONNECTOR($,'end 2',#35,$);
#54=SHAPE_ASPECT_RELATIONSHIP('usage',$,#52,#53);
#55=REPRESENTATION($,(#56,#60),$);
#56=CARTESIAN_POINT('location',(366.025403784,-4.80740671596E-14,0.00000000000));
#57=CARTESIAN_POINT($,(366.025403784,-4.80740671596E-14,0.00000000000));
#58=DIRECTION($,(-0.101600309323,-0.00000000000,-0.00000000000));
#59=DIRECTION($,(-0.00000000000,0.00000000000,0.0508001546616));
#60=AXIS2_PLACEMENT_3D('connector orientation',#57,#58,#59);
#61=PROPERTY_DEFINITION($,$,#53);
#62=PROPERTY_DEFINITION_REPRESENTATION(#61,#55);
#63=PROPERTY_DEFINITION($,$,#32);
#64=REPRESENTATION('piping component size',(#69),$);
#65=PROPERTY_DEFINITION_REPRESENTATION(#63,#64);
#66=PROPERTY_DEFINITION($,$,#32);
#67=SHAPE_DIMENSION_REPRESENTATION('piping component dimensions',(#70),$);
#68=PROPERTY_DEFINITION_REPRESENTATION(#66,#67);
#69=(MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE(253.999998062),#13)REPRESENTATION_ITEM('nominal size'));
#70=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE(273.050000000),#13)REPRESENTATION_ITEM('outside diameter'));
#71=DOCUMENT($,$,$,#73);
#72=PLANT_SPATIAL_CONFIGURATION_DOCUMENT_REFERENCE(#71,$,(#64));
#73=DOCUMENT_TYPE('dimensional standard');
#74=DOCUMENT_USAGE_CONSTRAINT(#71,'pipe schedule','STANDARD');
#75=PRODUCT_DEFINITION($,$,$,$);
#76=MATERIAL_PROPERTY($,$,#75);
#77=PRODUCT_DEFINITION_USAGE($,$,$,#32,#75);
#78=DOCUMENT_TYPE('material specification');
#79=DOCUMENT('ASTM A 53',$,$,#78);
#80=DOCUMENT_USAGE_CONSTRAINT(#79,$,'Carbon steel');
#81=PLANT_SPATIAL_CONFIGURATION_DOCUMENT_REFERENCE(#79,$,(#75,#128,#179));
#82=DIMENSIONAL_LOCATION($,$,#42,#53);
#83=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE(633.974596216),#13)REPRESENTATION_ITEM('end to end length'));
#84=SHAPE_DIMENSION_REPRESENTATION('pipe dimensional shape',(#83),#14);
#85=DIMENSIONAL_CHARACTERISTIC_REPRESENTATION(#82,#84);
#86=PRODUCT('',$,$,(#3));
#87=PRODUCT_DEFINITION_FORMATION($,$,#86);
#88=PIPING_COMPONENT_DEFINITION($,$,#87,#4);
#89=PRODUCT_DEFINITION_SHAPE($,$,#88);
#90=PIPING_COMPONENT_DEFINITION($,$,#87,#5);
#91=PRODUCT_DEFINITION_SHAPE($,$,#90);
#92=PRODUCT_DEFINITION_RELATIONSHIP($,'definition usage',$,#88,#90);
#93=PRODUCT_DEFINITION_RELATIONSHIP($,'realization',$,#20,#90);
#94=PLANT_ITEM_CONNECTOR($,'end 1',#89,$);
#95=PLANT_ITEM_CONNECTOR($,'end 1',#91,$);
#96=SHAPE_ASPECT_RELATIONSHIP('usage',$,#94,#95);
#97=REPRESENTATION($,(#98,#102),$);
#98=CARTESIAN_POINT('location',(0.00000000000,366.025403784,0.00000000000));
#99=CARTESIAN_POINT($,(0.00000000000,366.025403784,0.00000000000));
#100=DIRECTION($,(-0.00000000000,-0.101600309323,-0.00000000000));
#101=DIRECTION($,(0.0508001546616,0.00000000000,0.00000000000));
#102=AXIS2_PLACEMENT_3D('connector orientation',#99,#100,#101);
#103=PROPERTY_DEFINITION($,$,#95);
#104=PROPERTY_DEFINITION_REPRESENTATION(#103,#97);
#105=PLANT_ITEM_CONNECTOR($,'end 2',#89,$);
#106=PLANT_ITEM_CONNECTOR($,'end 2',#91,$);
#107=SHAPE_ASPECT_RELATIONSHIP('usage',$,#105,#106);
#108=REPRESENTATION($,(#109,#113),$);
#109=CARTESIAN_POINT('location',(0.00000000000,1000.00000000,0.00000000000));
#110=CARTESIAN_POINT($,(0.00000000000,1000.00000000,0.00000000000));
#111=DIRECTION($,(0.00000000000,0.101600309323,0.00000000000));
#112=DIRECTION($,(0.0508001546616,0.00000000000,0.00000000000));
#113=AXIS2_PLACEMENT_3D('connector orientation',#110,#111,#112);
#114=PROPERTY_DEFINITION($,$,#106);
#115=PROPERTY_DEFINITION_REPRESENTATION(#114,#108);
#116=PROPERTY_DEFINITION($,$,#88);
#117=REPRESENTATION('piping component size',(#122),$);
#118=PROPERTY_DEFINITION_REPRESENTATION(#116,#117);
#119=PROPERTY_DEFINITION($,$,#88);
#120=SHAPE_DIMENSION_REPRESENTATION('piping component dimensions',(#123),$);
#121=PROPERTY_DEFINITION_REPRESENTATION(#119,#120);
#122=(MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE(253.999998062),#13)REPRESENTATION_ITEM('nominal size'));
#123=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE(273.050000000),#13)REPRESENTATION_ITEM('outside diameter'));
#124=DOCUMENT($,$,$,#126);
#125=PLANT_SPATIAL_CONFIGURATION_DOCUMENT_REFERENCE(#124,$,(#117));
#126=DOCUMENT_TYPE('dimensional standard');
#127=DOCUMENT_USAGE_CONSTRAINT(#124,'pipe schedule','STANDARD');
#128=PRODUCT_DEFINITION($,$,$,$);
#129=MATERIAL_PROPERTY($,$,#128);
#130=PRODUCT_DEFINITION_USAGE($,$,$,#88,#128);
#131=DIMENSIONAL_LOCATION($,$,#95,#106);
#132=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE(633.974596216),#13)REPRESENTATION_ITEM('end to end length'));
#133=SHAPE_DIMENSION_REPRESENTATION('pipe dimensional shape',(#132),#14);
#134=DIMENSIONAL_CHARACTERISTIC_REPRESENTATION(#131,#133);
#135=PRODUCT('',$,$,(#3));
#136=PRODUCT_DEFINITION_FORMATION($,$,#135);
#137=PIPING_COMPONENT_DEFINITION($,$,#136,#4);
#138=PRODUCT_DEFINITION_SHAPE($,$,#137);
#139=PIPING_COMPONENT_DEFINITION($,$,#136,#5);
#140=PRODUCT_DEFINITION_SHAPE($,$,#139);
#141=PRODUCT_DEFINITION_RELATIONSHIP($,'definition usage',$,#137,#139);
#142=PIPE_CLASSIFICATION('mitre bend pipe',$);
#143=CLASSIFICATION_ASSIGNMENT(#142,(#137,#139));
#144=PRODUCT_DEFINITION_RELATIONSHIP($,'realization',$,#20,#139);
#145=PLANT_ITEM_CONNECTOR($,'end 1',#138,$);
#146=PLANT_ITEM_CONNECTOR($,'end 1',#140,$);
#147=SHAPE_ASPECT_RELATIONSHIP('usage',$,#145,#146);
#148=REPRESENTATION($,(#149,#153),$);
#149=CARTESIAN_POINT('location',(366.025403784,-4.80740671596E-14,0.00000000000));
#150=CARTESIAN_POINT($,(366.025403784,-4.80740671596E-14,0.00000000000));
#151=DIRECTION($,(1.00000000000,-1.31340794006E-16,0.00000000000));
#152=DIRECTION($,(0.00000000000,1.00000000000,0.00000000000));
#153=AXIS2_PLACEMENT_3D('connector orientation',#150,#151,#152);
#154=PROPERTY_DEFINITION($,$,#146);
#155=PROPERTY_DEFINITION_REPRESENTATION(#154,#148);
#156=PLANT_ITEM_CONNECTOR($,'end 2',#138,$);
#157=PLANT_ITEM_CONNECTOR($,'end 2',#140,$);
#158=SHAPE_ASPECT_RELATIONSHIP('usage',$,#156,#157);
#159=REPRESENTATION($,(#160,#164),$);
#160=CARTESIAN_POINT('location',(0.00000000000,366.025403784,0.00000000000));
#161=CARTESIAN_POINT($,(0.00000000000,366.025403784,0.00000000000));
#162=DIRECTION($,(0.00000000000,1.00000000000,0.00000000000));
#163=DIRECTION($,(1.00000000000,0.00000000000,0.00000000000));
#164=AXIS2_PLACEMENT_3D('connector orientation',#161,#162,#163);
#165=PROPERTY_DEFINITION($,$,#157);
#166=PROPERTY_DEFINITION_REPRESENTATION(#165,#159);
#167=PROPERTY_DEFINITION($,$,#137);
#168=REPRESENTATION('piping component size',(#173),$);
#169=PROPERTY_DEFINITION_REPRESENTATION(#167,#168);
#170=PROPERTY_DEFINITION($,$,#137);
#171=SHAPE_DIMENSION_REPRESENTATION('piping component dimensions',(#174),$);
#172=PROPERTY_DEFINITION_REPRESENTATION(#170,#171);
#173=(MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE(253.999998062),#13)REPRESENTATION_ITEM('nominal size'));
#174=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE(273.050000000),#13)REPRESENTATION_ITEM('outside diameter'));
#175=DOCUMENT($,$,$,#177);
#176=PLANT_SPATIAL_CONFIGURATION_DOCUMENT_REFERENCE(#175,$,(#168));
#177=DOCUMENT_TYPE('dimensional standard');
#178=DOCUMENT_USAGE_CONSTRAINT(#175,'pipe schedule','STANDARD');
#179=PRODUCT_DEFINITION($,$,$,$);
#180=MATERIAL_PROPERTY($,$,#179);
#181=PRODUCT_DEFINITION_USAGE($,$,$,#137,#179);
#182=PROPERTY_DEFINITION($,$,#139);
#183=REPRESENTATION('pipe characteristics',(#185),$);
#184=PROPERTY_DEFINITION_REPRESENTATION(#182,#183);
#185=(MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(COUNT_MEASURE(3.00000000000),$)REPRESENTATION_ITEM('number of segments'));
#186=SHAPE_DEFINITION_REPRESENTATION(#33,#187);
#187=SHAPE_REPRESENTATION($,(#235),$);
#188=REPRESENTATION_MAP(#9,#187);
#189=SHAPE_REPRESENTATION($,(#191),#14);
#190=SHAPE_DEFINITION_REPRESENTATION(#35,#189);
#191=MAPPED_ITEM($,#188,#195);
#192=CARTESIAN_POINT($,(1000.00000000,0.00000000000,0.00000000000));
#193=DIRECTION($,(-1.00000000000,0.00000000000,0.00000000000));
#194=DIRECTION($,(0.00000000000,1.00000000000,0.00000000000));
#195=AXIS2_PLACEMENT_3D($,#192,#193,#194);
#196=SHAPE_DEFINITION_REPRESENTATION(#89,#197);
#197=SHAPE_REPRESENTATION($,(#251),$);
#198=REPRESENTATION_MAP(#9,#197);
#199=SHAPE_REPRESENTATION($,(#201),#14);
#200=SHAPE_DEFINITION_REPRESENTATION(#91,#199);
#201=MAPPED_ITEM($,#198,#205);
#202=CARTESIAN_POINT($,(1000.00000000,0.00000000000,0.00000000000));
#203=DIRECTION($,(-1.00000000000,0.00000000000,0.00000000000));
#204=DIRECTION($,(0.00000000000,1.00000000000,0.00000000000));
#205=AXIS2_PLACEMENT_3D($,#202,#203,#204);
#206=SHAPE_DEFINITION_REPRESENTATION(#138,#207);
#207=SHAPE_REPRESENTATION($,(#267,#283),$);
#208=REPRESENTATION_MAP(#9,#207);
#209=SHAPE_REPRESENTATION($,(#211),#14);
#210=SHAPE_DEFINITION_REPRESENTATION(#140,#209);
#211=MAPPED_ITEM($,#208,#215);
#212=CARTESIAN_POINT($,(1000.00000000,0.00000000000,0.00000000000));
#213=DIRECTION($,(-1.00000000000,0.00000000000,0.00000000000));
#214=DIRECTION($,(0.00000000000,1.00000000000,0.00000000000));
#215=AXIS2_PLACEMENT_3D($,#212,#213,#214);
#216=PLANT_ITEM_CONNECTION('',$,$,$,$,'',#146,#53);
#217=CONNECTION_FUNCTIONAL_CLASSIFICATION('fluid transference',$);
#218=CLASSIFICATION_ASSIGNMENT(#217,(#216,#219));
#219=PLANT_ITEM_CONNECTION('',$,$,$,$,'',#157,#95);
#220=CARTESIAN_POINT($,(7.85037143115E-31,0.00000000000,0.00000000000));
#221=DIRECTION($,(-7.58296427752E-17,0.00000000000,1.00000000000));
#222=AXIS1_PLACEMENT($,#220,#221);
#223=RIGHT_CIRCULAR_CYLINDER('',#222,670.556359712,136.525000000);
#224=CARTESIAN_POINT($,(0.00000000000,0.00000000000,0.00000000000));
#225=DIRECTION($,(-0.00000000000,0.00000000000,-1.00000000000));
#226=AXIS2_PLACEMENT_3D($,#224,#225,$);
#227=PLANE($,#226);
#228=HALF_SPACE_SOLID($,#227,$);
#229=CARTESIAN_POINT($,(-4.80740671596E-14,0.00000000000,633.974596216));
#230=DIRECTION($,(0.258819045103,0.00000000000,0.965925826289));
#231=AXIS2_PLACEMENT_3D($,#229,#230,$);
#232=PLANE($,#231);
#233=HALF_SPACE_SOLID($,#232,$);
#234=BOOLEAN_RESULT('',.DIFFERENCE.,#223,#228);
#235=BOOLEAN_RESULT('',.DIFFERENCE.,#234,#233);
#236=CARTESIAN_POINT($,(329.443640288,-0.00000000000,1000.00000000));
#237=DIRECTION($,(1.00000000000,0.00000000000,-8.75605293377E-17));
#238=AXIS1_PLACEMENT($,#236,#237);
#239=RIGHT_CIRCULAR_CYLINDER('',#238,670.556359712,136.525000000);
#240=CARTESIAN_POINT($,(366.025403784,-0.00000000000,1000.00000000));
#241=DIRECTION($,(-0.965925826289,0.00000000000,-0.258819045103));
#242=AXIS2_PLACEMENT_3D($,#240,#241,$);
#243=PLANE($,#242);
#244=HALF_SPACE_SOLID($,#243,$);
#245=CARTESIAN_POINT($,(1000.00000000,-0.00000000000,1000.00000000));
#246=DIRECTION($,(1.00000000000,-0.00000000000,0.00000000000));
#247=AXIS2_PLACEMENT_3D($,#245,#246,$);
#248=PLANE($,#247);
#249=HALF_SPACE_SOLID($,#248,$);
#250=BOOLEAN_RESULT('',.DIFFERENCE.,#239,#244);
#251=BOOLEAN_RESULT('',.DIFFERENCE.,#250,#249);
#252=CARTESIAN_POINT($,(-18.2908817483,0.00000000000,602.293859712));
#253=DIRECTION($,(0.500000000000,-0.00000000000,0.866025403784));
#254=AXIS1_PLACEMENT($,#252,#253);
#255=RIGHT_CIRCULAR_CYLINDER('',#254,341.112719424,136.525000000);
#256=CARTESIAN_POINT($,(-4.80740671596E-14,0.00000000000,633.974596216));
#257=DIRECTION($,(-0.258819045103,0.00000000000,-0.965925826289));
#258=AXIS2_PLACEMENT_3D($,#256,#257,$);
#259=PLANE($,#258);
#260=HALF_SPACE_SOLID($,#259,$);
#261=CARTESIAN_POINT($,(133.974596216,-0.00000000000,866.025403784));
#262=DIRECTION($,(0.707106781187,0.00000000000,0.707106781187));
#263=AXIS2_PLACEMENT_3D($,#261,#262,$);
#264=PLANE($,#263);
#265=HALF_SPACE_SOLID($,#264,$);
#266=BOOLEAN_RESULT('',.DIFFERENCE.,#255,#260);
#267=BOOLEAN_RESULT('',.DIFFERENCE.,#266,#265);
#268=CARTESIAN_POINT($,(102.293859712,-0.00000000000,847.734522036));
#269=DIRECTION($,(0.866025403784,-0.00000000000,0.500000000000));
#270=AXIS1_PLACEMENT($,#268,#269);
#271=RIGHT_CIRCULAR_CYLINDER('',#270,341.112719424,136.525000000);
#272=CARTESIAN_POINT($,(133.974596216,-0.00000000000,866.025403784));
#273=DIRECTION($,(-0.707106781187,0.00000000000,-0.707106781187));
#274=AXIS2_PLACEMENT_3D($,#272,#273,$);
#275=PLANE($,#274);
#276=HALF_SPACE_SOLID($,#275,$);
#277=CARTESIAN_POINT($,(366.025403784,-0.00000000000,1000.00000000));
#278=DIRECTION($,(0.965925826289,0.00000000000,0.258819045103));
#279=AXIS2_PLACEMENT_3D($,#277,#278,$);
#280=PLANE($,#279);
#281=HALF_SPACE_SOLID($,#280,$);
#282=BOOLEAN_RESULT('',.DIFFERENCE.,#271,#276);
#283=BOOLEAN_RESULT('',.DIFFERENCE.,#282,#281);
ENDSEC;
END-ISO-10303-21;
-364
View File
@@ -1,364 +0,0 @@
ISO-10303-21;
HEADER;
/******************************************************************************************
* STEP Physical File produced by: The EXPRESS Data Manager Version 5.01.0100.b03 SimDM : 25 Apr 2012
* Module: EDMstepFileFactory/EDMstandAlone
* Creation date: Mon Jul 09 12:24:22 2012
* Host: AER4WA926171Z
* Database: C:\Documents and Settings\johnsjc2\Desktop\AP209\SimDM2010\DevCM\db\d
* Database version: 5207
* Database creation date: Wed Apr 18 15:33:55 2012
* Schema: AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF
* Model: DataRepository.FemTest
* Model creation date: Mon Jul 09 12:24:22 2012
* Header model:
* EDMuser: superuser
* EDMgroup:
* License ID and type: 5565 : Project license. Expiry date: 31 Dec 2012
* EDMstepFileFactory options: 010000000
******************************************************************************************/
FILE_DESCRIPTION((''),'2;1');
FILE_NAME(
'C:\\Documents and Settings\\johnsjc2\\Desktop\\AP209\\SimDM2010\\DevCM\\db\\d.DataRepository.FemTest'
,
'2012-07-09T12:24:22',
('ANONYMOUS USER'),
('ANONYMOUS ORGANISATION'),
'The EXPRESS Data Manager Version 5.01.0100.b03 SimDM : 25 Apr 2012',
'',
'');
FILE_SCHEMA(('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF'));
ENDSEC;
DATA;
#637538235= APPLICATION_CONTEXT('SimDM');
#637538237= PRODUCT_DEFINITION_CONTEXT('assembly definition',#637538235,
'life cycle stage');
#637538239= PRODUCT_DEFINITION('default-id.0',$,#637538240,#637538244);
#637538240= PRODUCT_DEFINITION_FORMATION('default-id.0','',#637538241);
#637538241= PRODUCT('default-id.0','default-fea-part','',(#637538243));
#637538243= PRODUCT_CONTEXT('design_context',#637538235,'design_context'
);
#637538244= PRODUCT_DEFINITION_CONTEXT(
'product_definition_context_name_1',#637538245,'ANALYSIS-STAGE');
#637538245= APPLICATION_CONTEXT('FEA-ANALYSIS-DOMAIN');
#637538247= PRODUCT_DEFINITION_SHAPE('name',$,#637538239);
#637538248= SHAPE_DEFINITION_REPRESENTATION(#637538247,#637538249);
#637538249= POINT_REPRESENTATION('point_representation_name_1',(
#637538251,#637538359),#637538257);
#637538251= NODE_SET('node_set_name_1',(#637538253,#637538295,#637538299
,#637538303,#637538307,#637538311,#637538315,#637538319,#637538323,
#637538327,#637538331,#637538335,#637538339,#637538343,#637538347,
#637538351,#637538355));
#637538253= NODE('1',(#637538255),#637538257,#637538282);
#637538255= CARTESIAN_POINT('1',(0.,-2.,1.));
#637538257=
/* GEOMETRIC_REPRESENTATION_CONTEXT+GLOBAL_UNIT_ASSIGNED_CONTEXT */(
GEOMETRIC_REPRESENTATION_CONTEXT(3)GLOBAL_UNIT_ASSIGNED_CONTEXT((
#637538260,#637538268,#637538271,#637538265,#637538263,#637538274,
#637538275,#637538278,#637538281,#637538267))REPRESENTATION_CONTEXT(
'CORD2R.1','3d'));
#637538260= SI_ENERGY_UNIT((#637538262,#637538264,#637538266),*,$,
.JOULE.);
#637538262= DERIVED_UNIT_ELEMENT(#637538263,1.);
#637538263= /* MASS_UNIT+SI_UNIT */(MASS_UNIT()NAMED_UNIT(*)SI_UNIT(
.KILO.,.GRAM.));
#637538264= DERIVED_UNIT_ELEMENT(#637538265,2.);
#637538265= /* LENGTH_UNIT+SI_UNIT */(LENGTH_UNIT()NAMED_UNIT(*)SI_UNIT(
$,.METRE.));
#637538266= DERIVED_UNIT_ELEMENT(#637538267,-2.);
#637538267= /* SI_UNIT+TIME_UNIT */(NAMED_UNIT(*)SI_UNIT($,.SECOND.)
TIME_UNIT());
#637538268= SI_FORCE_UNIT((#637538262,#637538270,#637538266),*,$,
.NEWTON.);
#637538270= DERIVED_UNIT_ELEMENT(#637538265,1.);
#637538271= SI_FREQUENCY_UNIT((#637538273),*,$,.HERTZ.);
#637538273= DERIVED_UNIT_ELEMENT(#637538267,-1.);
#637538274= /* PLANE_ANGLE_UNIT+SI_UNIT */(NAMED_UNIT(*)PLANE_ANGLE_UNIT
()SI_UNIT($,.RADIAN.));
#637538275= SI_POWER_UNIT((#637538262,#637538264,#637538277),*,$,.WATT.
);
#637538277= DERIVED_UNIT_ELEMENT(#637538267,-3.);
#637538278= SI_PRESSURE_UNIT((#637538262,#637538280,#637538266),*,$,
.PASCAL.);
#637538280= DERIVED_UNIT_ELEMENT(#637538265,-1.);
#637538281= /* SI_UNIT+THERMODYNAMIC_TEMPERATURE_UNIT */(NAMED_UNIT(*)
SI_UNIT($,.DEGREE_CELSIUS.)THERMODYNAMIC_TEMPERATURE_UNIT());
#637538282= FEA_MODEL_3D('Identification',(#637538284),#637538291,
'NASTRAN BDF Converter v0.0.0',('NASTRAN'),'AnalysisModelType');
#637538284= FEA_AXIS2_PLACEMENT_3D('0',#637538285,#637538287,#637538289,
.CARTESIAN.,'FEA_BASIC_COORD_SYSTEM.0');
#637538285= CARTESIAN_POINT('',(0.,0.,0.));
#637538287= DIRECTION('AxisZ',(0.,0.,1.));
#637538289= DIRECTION('RefX',(1.,0.,0.));
#637538291=
/* GEOMETRIC_REPRESENTATION_CONTEXT+GLOBAL_UNIT_ASSIGNED_CONTEXT */(
GEOMETRIC_REPRESENTATION_CONTEXT(3)GLOBAL_UNIT_ASSIGNED_CONTEXT((
#637538260,#637538268,#637538271,#637538265,#637538263,#637538274,
#637538275,#637538278,#637538281,#637538267))REPRESENTATION_CONTEXT(
'FEA_BASIC_COORD_SYSTEM.0','3d'));
#637538295= NODE('2',(#637538297),#637538257,#637538282);
#637538297= CARTESIAN_POINT('2',(1.,-2.,1.));
#637538299= NODE('3',(#637538301),#637538257,#637538282);
#637538301= CARTESIAN_POINT('3',(2.,-2.,1.));
#637538303= NODE('4',(#637538305),#637538257,#637538282);
#637538305= CARTESIAN_POINT('4',(3.,-2.,1.));
#637538307= NODE('5',(#637538309),#637538257,#637538282);
#637538309= CARTESIAN_POINT('5',(4.,-2.,1.));
#637538311= NODE('6',(#637538313),#637538257,#637538282);
#637538313= CARTESIAN_POINT('6',(5.,-2.,1.));
#637538315= NODE('7',(#637538317),#637538257,#637538282);
#637538317= CARTESIAN_POINT('7',(6.,-2.,1.));
#637538319= NODE('8',(#637538321),#637538257,#637538282);
#637538321= CARTESIAN_POINT('8',(7.,-2.,1.));
#637538323= NODE('9',(#637538325),#637538257,#637538282);
#637538325= CARTESIAN_POINT('9',(8.,-2.,1.));
#637538327= NODE('10',(#637538329),#637538257,#637538282);
#637538329= CARTESIAN_POINT('10',(9.,-2.,1.));
#637538331= NODE('11',(#637538333),#637538257,#637538282);
#637538333= CARTESIAN_POINT('11',(10.,-2.,1.));
#637538335= NODE('12',(#637538337),#637538257,#637538282);
#637538337= CARTESIAN_POINT('12',(11.,-2.,1.));
#637538339= NODE('13',(#637538341),#637538257,#637538282);
#637538341= CARTESIAN_POINT('13',(12.,-2.,1.));
#637538343= NODE('14',(#637538345),#637538257,#637538282);
#637538345= CARTESIAN_POINT('14',(13.,-2.,1.));
#637538347= NODE('15',(#637538349),#637538257,#637538282);
#637538349= CARTESIAN_POINT('15',(14.,-2.,1.));
#637538351= NODE('16',(#637538353),#637538257,#637538282);
#637538353= CARTESIAN_POINT('16',(15.,-2.,1.));
#637538355= NODE('17',(#637538357),#637538257,#637538282);
#637538357= CARTESIAN_POINT('17',(16.,-2.,1.));
#637538359= FEA_AXIS2_PLACEMENT_3D('1',#637538360,#637538362,#637538364,
.CARTESIAN.,'CORD2R.1');
#637538360= CARTESIAN_POINT('',(0.,0.,0.));
#637538362= DIRECTION('AxisZ',(0.,0.,1.));
#637538364= DIRECTION('RefX',(1.,0.,0.));
#637538366= FEA_MODEL_DEFINITION('fea_model_definition_id_1',$,
#637538247,.U.);
#637538367= STRUCTURAL_RESPONSE_PROPERTY(
'structural_response_property_id_1',$,#637538366);
#637538368= STRUCTURAL_RESPONSE_PROPERTY_DEFINITION_REPRESENTATION(
#637538367,#637538282);
#637538369= NAME_ATTRIBUTE('',#637538239);
#637538370= APPLIED_CLASSIFICATION_ASSIGNMENT(#637538371,#637538372,(
#637538239));
#637538371= GROUP('default-gpvv-type',$);
#637538372= CLASSIFICATION_ROLE('view_type',$);
#637538374= APPLIED_IDENTIFICATION_ASSIGNMENT('default-id.0',#637538375,
(#637538240,#637538239,#637538241));
#637538375= IDENTIFICATION_ROLE('default-role',$);
#637538377= APPLIED_ORGANIZATION_ASSIGNMENT(#637538378,#637538379,(
#637538374));
#637538378= ORGANIZATION($,'default-organization',$);
#637538379= ORGANIZATION_ROLE('id context');
#637538381= APPLIED_CLASSIFICATION_ASSIGNMENT(#637538382,#637538383,(
#637538374));
#637538382= GROUP('id',$);
#637538383= CLASSIFICATION_ROLE('',$);
#637538385= APPLICATION_PROTOCOL_DEFINITION('status',
'ap203_configuration_controlled_3d_design_of_mechanical_parts_and_assemblies'
,2011,#637538235);
#637538386= DESCRIPTION_ATTRIBUTE('SimDM',#637538235);
#637538387= ID_ATTRIBUTE('SimDM',#637538235);
#637538388= DIMENSIONAL_EXPONENTS(0.,0.,0.,0.,0.,0.,0.);
#637538389= PRODUCT_RELATED_PRODUCT_CATEGORY('document',$,());
#637538391= PRODUCT_RELATED_PRODUCT_CATEGORY('product',$,(#637538241));
#637538393= DESCRIPTION_ATTRIBUTE('',#637538245);
#637538394= CARTESIAN_POINT('0',(0.,0.,0.));
#637538396= DUMMY_NODE('0',(#637538394),#637538291,#637538282);
#637538398= ITEM_DEFINED_TRANSFORMATION('','',#637538284,#637538359);
#637538399= REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION('','',
#637538282,#637538249,#637538398);
#637538400= ELEMENT_MATERIAL('MAT1.1','Fea Material',(#637538402,
#637538417,#637538422));
#637538402= FEA_MATERIAL_PROPERTY_REPRESENTATION(#637538403,#637538405,
#637538409);
#637538403= MATERIAL_PROPERTY('MAT1.1.0',$,#637538404);
#637538404= CHARACTERIZED_OBJECT('material_property',$);
#637538405= REPRESENTATION('representation_id_2',(#637538407),#637538291
);
#637538407= FEA_LINEAR_ELASTICITY('',FEA_ISOTROPIC_SYMMETRIC_TENSOR4_3D(
(10000000.,0.33)));
#637538409= DATA_ENVIRONMENT('DATA_ENV','Property_conditions',(
#637538411));
#637538411= PROPERTY_DEFINITION_REPRESENTATION(#637538412,#637538414);
#637538412= PROPERTY_DEFINITION('Material Property Definition',$,
#637538413);
#637538413= CHARACTERIZED_OBJECT('property',$);
#637538414= REPRESENTATION('representation_id_1',(#637538416),#637538291
);
#637538416= MEASURE_REPRESENTATION_ITEM('representation_item_name_1',
CONTEXT_DEPENDENT_MEASURE(70.),#637538281);
#637538417= FEA_MATERIAL_PROPERTY_REPRESENTATION(#637538418,#637538419,
#637538409);
#637538418= MATERIAL_PROPERTY('MAT1.1.1',$,#637538404);
#637538419= REPRESENTATION('representation_id_3',(#637538421),#637538291
);
#637538421= FEA_MASS_DENSITY('',0.000254);
#637538422= FEA_MATERIAL_PROPERTY_REPRESENTATION(#637538423,#637538424,
#637538409);
#637538423= MATERIAL_PROPERTY('MAT1.1.2',$,#637538404);
#637538424= REPRESENTATION('representation_id_4',(#637538426),#637538291
);
#637538426= FEA_TANGENTIAL_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION('',
ISOTROPIC_SYMMETRIC_TENSOR2_3D(0.));
#637538427= CURVE_3D_ELEMENT_REPRESENTATION('16',(#637538429,#637538433)
,#637538435,(#637538351,#637538355),#637538282,#637538439,#637538443,
#637538400);
#637538429= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538430
);
#637538430= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538431);
#637538431= DIRECTION('undefined',(1.,0.,0.));
#637538433= FEA_PARAMETRIC_POINT('',(1.,0.,0.));
#637538435= PARAMETRIC_REPRESENTATION_CONTEXT(
'parametric_representation_context','parametric');
#637538439= CURVE_3D_ELEMENT_DESCRIPTOR(.LINEAR.,'LINEAR_CURVE.CROD',((
ENUMERATED_CURVE_ELEMENT_PURPOSE(.AXIAL.)),(
ENUMERATED_CURVE_ELEMENT_PURPOSE(.TORSION.))));
#637538443= CURVE_3D_ELEMENT_PROPERTY('PROD.1','',(#637538445),(
#637538456,#637538458),(#637538461,#637538464));
#637538445= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538446,#637538447,
#637538449);
#637538446= CURVE_ELEMENT_LOCATION(#637538433);
#637538447= EULER_ANGLES((0.,0.,0.));
#637538449= CURVE_ELEMENT_SECTION_DERIVED_DEFINITIONS('',0.,8.,(
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)),(0.,0.,0.),
0.,CONTEXT_DEPENDENT_MEASURE(0.),(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)),(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)),(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.));
#637538456= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538458= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538461= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538463));
#637538463= CURVE_ELEMENT_END_RELEASE_PACKET(
ENUMERATED_CURVE_ELEMENT_FREEDOM(.NONE.),0.);
#637538464= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538463));
#637538466= CURVE_3D_ELEMENT_REPRESENTATION('15',(#637538429,#637538433)
,#637538435,(#637538347,#637538351),#637538282,#637538439,#637538443,
#637538400);
#637538469= CURVE_3D_ELEMENT_REPRESENTATION('14',(#637538429,#637538433)
,#637538435,(#637538343,#637538347),#637538282,#637538439,#637538443,
#637538400);
#637538472= CURVE_3D_ELEMENT_REPRESENTATION('13',(#637538429,#637538433)
,#637538435,(#637538339,#637538343),#637538282,#637538439,#637538443,
#637538400);
#637538475= CURVE_3D_ELEMENT_REPRESENTATION('12',(#637538429,#637538433)
,#637538435,(#637538335,#637538339),#637538282,#637538439,#637538443,
#637538400);
#637538478= CURVE_3D_ELEMENT_REPRESENTATION('11',(#637538429,#637538433)
,#637538435,(#637538331,#637538335),#637538282,#637538439,#637538443,
#637538400);
#637538481= CURVE_3D_ELEMENT_REPRESENTATION('10',(#637538429,#637538433)
,#637538435,(#637538327,#637538331),#637538282,#637538439,#637538443,
#637538400);
#637538484= CURVE_3D_ELEMENT_REPRESENTATION('9',(#637538429,#637538433),
#637538435,(#637538323,#637538327),#637538282,#637538439,#637538443,
#637538400);
#637538487= CURVE_3D_ELEMENT_REPRESENTATION('8',(#637538429,#637538433),
#637538435,(#637538319,#637538323),#637538282,#637538439,#637538443,
#637538400);
#637538490= CURVE_3D_ELEMENT_REPRESENTATION('7',(#637538429,#637538433),
#637538435,(#637538315,#637538319),#637538282,#637538439,#637538443,
#637538400);
#637538493= CURVE_3D_ELEMENT_REPRESENTATION('6',(#637538429,#637538433),
#637538435,(#637538311,#637538315),#637538282,#637538439,#637538443,
#637538400);
#637538496= CURVE_3D_ELEMENT_REPRESENTATION('5',(#637538429,#637538433),
#637538435,(#637538307,#637538311),#637538282,#637538439,#637538443,
#637538400);
#637538499= CURVE_3D_ELEMENT_REPRESENTATION('4',(#637538429,#637538433),
#637538435,(#637538303,#637538307),#637538282,#637538439,#637538443,
#637538400);
#637538502= CURVE_3D_ELEMENT_REPRESENTATION('3',(#637538429,#637538433),
#637538435,(#637538299,#637538303),#637538282,#637538439,#637538443,
#637538400);
#637538505= CURVE_3D_ELEMENT_REPRESENTATION('2',(#637538429,#637538433),
#637538435,(#637538295,#637538299),#637538282,#637538439,#637538443,
#637538400);
#637538508= CURVE_3D_ELEMENT_REPRESENTATION('1',(#637538429,#637538433),
#637538435,(#637538253,#637538295),#637538282,#637538439,#637538443,
#637538400);
#637538511= ID_ATTRIBUTE('MAT1.1',#637538412);
#637538512= DESCRIPTION_ATTRIBUTE('Elasticity',#637538402);
#637538513= DESCRIPTION_ATTRIBUTE('MassDensity',#637538417);
#637538514= DESCRIPTION_ATTRIBUTE('TangentCTE',#637538422);
#637538515= CONTROL(#637538282,'Control.0','FemConvert',
'MSC.NASTRAN JOB CREATED ON 06-JUL-00 AT 06:14:07',('<SOL>101</SOL>',
'TIME 600','CEND','<GLOBALCASE>0</GLOBALCASE>','<SUBCASE>1</SUBCASE>',
'ENDDATA 8336E13E'),('NASTRAN'));
#637538518= CONTROL_LINEAR_STATIC_ANALYSIS_STEP(#637538515,
'STATIC STEP 1',1,#637538519,'',#637538520);
#637538519= SPECIFIED_STATE('STEP DEFAULT','default_initial_state');
#637538520= CONTROL_LINEAR_STATIC_LOAD_INCREMENT_PROCESS('STATIC STEP 1'
,'',#637538521);
#637538521= SPECIFIED_STATE('Step 1 Base Specified State',
'Relating Specified State');
#637538522= OUTPUT_REQUEST_STATE('Step 1 Output Request State','',(
#637538518));
#637538524= NODAL_FREEDOM_VALUES(#637538522,#637538525,#637538284,
#637538527,(UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.)));
#637538525= NODE_GROUP('','ALL',#637538282,(#637538253,#637538295,
#637538299,#637538303,#637538307,#637538311,#637538315,#637538319,
#637538323,#637538327,#637538331,#637538335,#637538339,#637538343,
#637538347,#637538351,#637538355));
#637538527= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.X_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(
.Y_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(.Z_ROTATION.)));
#637538530= SINGLE_POINT_CONSTRAINT_ELEMENT('SPC1_1.0',(#637538518),
#637538253,#637538284,(#637538533,#637538534,#637538535),'');
#637538533= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.X_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538534= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.Y_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538535= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.Z_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538536= SINGLE_POINT_CONSTRAINT_ELEMENT_VALUES(#637538537,#637538530
,#637538538,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)
,CONTEXT_DEPENDENT_MEASURE(0.)));
#637538537= SPECIFIED_STATE('SPCVALSTATE_1_2','');
#637538538= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.)));
#637538541= SPECIFIED_STATE('SPCCASE_2_2_1','Aggregator SPC 2 Step 1');
#637538542= STATE_RELATIONSHIP(
'SPCCASE_2_2_1 is related to Step 1 Base Specified State','',#637538521,
#637538541);
#637538543= STATE_RELATIONSHIP(
'SPCVALSTATE_1_2 is related to SPCCASE_2_2_1','',#637538541,#637538537);
#637538544= LINEARLY_SUPERIMPOSED_STATE('LOADSTATECOMBINATION_2',
'Overall Factor Combined State');
#637538546= STATE_RELATIONSHIP(
'LOADSTATECOMBINATION_2 is related to Step 1 Base Specified State','',
#637538521,#637538544);
#637538547= STATE_COMPONENT('OverallComp','',#637538544,1.);
#637538549= STATE_RELATIONSHIP(
'LOADSTATEITEM_1 is related to OverallComp','',#637538547,#637538550);
#637538550= LINEARLY_SUPERIMPOSED_STATE('LOADSTATEITEM_1',
'Item Factor State');
#637538551= SPECIFIED_STATE('LOADSTATECORE_1',
'Core Loads Specified State');
#637538552= STATE_RELATIONSHIP(
'LOADSTATECORE_1 is related to ItemComp_2_1','',#637538553,#637538551);
#637538553= STATE_COMPONENT('ItemComp_2_1','',#637538550,1.);
#637538555= NODAL_FREEDOM_ACTION_DEFINITION(#637538551,#637538355,
#637538284,#637538556,(CONTEXT_DEPENDENT_MEASURE(-1000.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538556= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.)));
#637538559= ID_ATTRIBUTE('ALL',#637538525);
ENDSEC;
END-ISO-10303-21;
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
-385
View File
@@ -1,385 +0,0 @@
ISO-10303-21;
HEADER;
/******************************************************************************************
* STEP Physical File produced by: The EXPRESS Data Manager Version 5.01.0100.b04 : 12 Apr 2012
* Module: EDMstepFileFactory/EDMstandAlone
* Creation date: Tue Jun 05 10:29:55 2012
* Host: AER4WA926171Z
* Database: C:\Documents and Settings\johnsjc2\Desktop\AP209\SimDM2010\DevCM\db\d
* Database version: 5207
* Database creation date: Wed Apr 18 15:33:55 2012
* Schema: AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF
* Model: DataRepository.FemTest
* Model creation date: Tue Jun 05 10:29:54 2012
* Header model:
* EDMuser: superuser
* EDMgroup:
* License ID and type: 5565 : Project license. Expiry date: 31 Dec 2012
* EDMstepFileFactory options: 010000000
******************************************************************************************/
FILE_DESCRIPTION((''),'2;1');
FILE_NAME(
'C:\\Documents and Settings\\johnsjc2\\Desktop\\AP209\\SimDM2010\\DevCM\\db\\d.DataRepository.FemTest'
,
'2012-06-05T10:29:55',
('ANONYMOUS USER'),
('ANONYMOUS ORGANISATION'),
'The EXPRESS Data Manager Version 5.01.0100.b04 : 12 Apr 2012',
'',
'');
FILE_SCHEMA(('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF'));
ENDSEC;
DATA;
#637538233= APPLICATION_CONTEXT('SimDM');
#637538235= PRODUCT_DEFINITION_CONTEXT('assembly definition',#637538233,
'life cycle stage');
#637538237= PRODUCT_DEFINITION('default-id.0',$,#637538238,#637538242);
#637538238= PRODUCT_DEFINITION_FORMATION('default-id.0','',#637538239);
#637538239= PRODUCT('default-id.0','default-fea-part','',(#637538241));
#637538241= PRODUCT_CONTEXT('design_context',#637538233,'design_context'
);
#637538242= PRODUCT_DEFINITION_CONTEXT(
'product_definition_context_name_1',#637538243,'ANALYSIS-STAGE');
#637538243= APPLICATION_CONTEXT('FEA-ANALYSIS-DOMAIN');
#637538245= PRODUCT_DEFINITION_SHAPE('name',$,#637538237);
#637538246= SHAPE_DEFINITION_REPRESENTATION(#637538245,#637538247);
#637538247= POINT_REPRESENTATION('point_representation_name_1',(
#637538249,#637538357),#637538255);
#637538249= NODE_SET('node_set_name_1',(#637538251,#637538293,#637538297
,#637538301,#637538305,#637538309,#637538313,#637538317,#637538321,
#637538325,#637538329,#637538333,#637538337,#637538341,#637538345,
#637538349,#637538353));
#637538251= NODE('1',(#637538253),#637538255,#637538280);
#637538253= CARTESIAN_POINT('1',(0.,-2.,1.));
#637538255=
/* GEOMETRIC_REPRESENTATION_CONTEXT+GLOBAL_UNIT_ASSIGNED_CONTEXT */(
GEOMETRIC_REPRESENTATION_CONTEXT(3)GLOBAL_UNIT_ASSIGNED_CONTEXT((
#637538258,#637538266,#637538269,#637538263,#637538261,#637538272,
#637538273,#637538276,#637538279,#637538265))REPRESENTATION_CONTEXT(
'CORD2R.1','3d'));
#637538258= SI_ENERGY_UNIT((#637538260,#637538262,#637538264),*,$,
.JOULE.);
#637538260= DERIVED_UNIT_ELEMENT(#637538261,1.);
#637538261= /* MASS_UNIT+SI_UNIT */(MASS_UNIT()NAMED_UNIT(*)SI_UNIT(
.KILO.,.GRAM.));
#637538262= DERIVED_UNIT_ELEMENT(#637538263,2.);
#637538263= /* LENGTH_UNIT+SI_UNIT */(LENGTH_UNIT()NAMED_UNIT(*)SI_UNIT(
$,.METRE.));
#637538264= DERIVED_UNIT_ELEMENT(#637538265,-2.);
#637538265= /* SI_UNIT+TIME_UNIT */(NAMED_UNIT(*)SI_UNIT($,.SECOND.)
TIME_UNIT());
#637538266= SI_FORCE_UNIT((#637538260,#637538268,#637538264),*,$,
.NEWTON.);
#637538268= DERIVED_UNIT_ELEMENT(#637538263,1.);
#637538269= SI_FREQUENCY_UNIT((#637538271),*,$,.HERTZ.);
#637538271= DERIVED_UNIT_ELEMENT(#637538265,-1.);
#637538272= /* PLANE_ANGLE_UNIT+SI_UNIT */(NAMED_UNIT(*)PLANE_ANGLE_UNIT
()SI_UNIT($,.RADIAN.));
#637538273= SI_POWER_UNIT((#637538260,#637538262,#637538275),*,$,.WATT.
);
#637538275= DERIVED_UNIT_ELEMENT(#637538265,-3.);
#637538276= SI_PRESSURE_UNIT((#637538260,#637538278,#637538264),*,$,
.PASCAL.);
#637538278= DERIVED_UNIT_ELEMENT(#637538263,-1.);
#637538279= /* SI_UNIT+THERMODYNAMIC_TEMPERATURE_UNIT */(NAMED_UNIT(*)
SI_UNIT($,.DEGREE_CELSIUS.)THERMODYNAMIC_TEMPERATURE_UNIT());
#637538280= FEA_MODEL_3D('Identification',(#637538282),#637538289,
'NASTRAN BDF Converter v0.0.0',('NASTRAN'),'AnalysisModelType');
#637538282= FEA_AXIS2_PLACEMENT_3D('0',#637538283,#637538285,#637538287,
.CARTESIAN.,'FEA_BASIC_COORD_SYSTEM.0');
#637538283= CARTESIAN_POINT('',(0.,0.,0.));
#637538285= DIRECTION('AxisZ',(0.,0.,1.));
#637538287= DIRECTION('RefX',(1.,0.,0.));
#637538289=
/* GEOMETRIC_REPRESENTATION_CONTEXT+GLOBAL_UNIT_ASSIGNED_CONTEXT */(
GEOMETRIC_REPRESENTATION_CONTEXT(3)GLOBAL_UNIT_ASSIGNED_CONTEXT((
#637538258,#637538266,#637538269,#637538263,#637538261,#637538272,
#637538273,#637538276,#637538279,#637538265))REPRESENTATION_CONTEXT(
'FEA_BASIC_COORD_SYSTEM.0','3d'));
#637538293= NODE('2',(#637538295),#637538255,#637538280);
#637538295= CARTESIAN_POINT('2',(1.,-2.,1.));
#637538297= NODE('3',(#637538299),#637538255,#637538280);
#637538299= CARTESIAN_POINT('3',(2.,-2.,1.));
#637538301= NODE('4',(#637538303),#637538255,#637538280);
#637538303= CARTESIAN_POINT('4',(3.,-2.,1.));
#637538305= NODE('5',(#637538307),#637538255,#637538280);
#637538307= CARTESIAN_POINT('5',(4.,-2.,1.));
#637538309= NODE('6',(#637538311),#637538255,#637538280);
#637538311= CARTESIAN_POINT('6',(5.,-2.,1.));
#637538313= NODE('7',(#637538315),#637538255,#637538280);
#637538315= CARTESIAN_POINT('7',(6.,-2.,1.));
#637538317= NODE('8',(#637538319),#637538255,#637538280);
#637538319= CARTESIAN_POINT('8',(7.,-2.,1.));
#637538321= NODE('9',(#637538323),#637538255,#637538280);
#637538323= CARTESIAN_POINT('9',(8.,-2.,1.));
#637538325= NODE('10',(#637538327),#637538255,#637538280);
#637538327= CARTESIAN_POINT('10',(9.,-2.,1.));
#637538329= NODE('11',(#637538331),#637538255,#637538280);
#637538331= CARTESIAN_POINT('11',(10.,-2.,1.));
#637538333= NODE('12',(#637538335),#637538255,#637538280);
#637538335= CARTESIAN_POINT('12',(11.,-2.,1.));
#637538337= NODE('13',(#637538339),#637538255,#637538280);
#637538339= CARTESIAN_POINT('13',(12.,-2.,1.));
#637538341= NODE('14',(#637538343),#637538255,#637538280);
#637538343= CARTESIAN_POINT('14',(13.,-2.,1.));
#637538345= NODE('15',(#637538347),#637538255,#637538280);
#637538347= CARTESIAN_POINT('15',(14.,-2.,1.));
#637538349= NODE('16',(#637538351),#637538255,#637538280);
#637538351= CARTESIAN_POINT('16',(15.,-2.,1.));
#637538353= NODE('17',(#637538355),#637538255,#637538280);
#637538355= CARTESIAN_POINT('17',(16.,-2.,1.));
#637538357= FEA_AXIS2_PLACEMENT_3D('1',#637538358,#637538360,#637538362,
.CARTESIAN.,'CORD2R.1');
#637538358= CARTESIAN_POINT('',(0.,0.,0.));
#637538360= DIRECTION('AxisZ',(0.,0.,1.));
#637538362= DIRECTION('RefX',(1.,0.,0.));
#637538364= FEA_MODEL_DEFINITION('fea_model_definition_id_1',$,
#637538245,.U.);
#637538365= STRUCTURAL_RESPONSE_PROPERTY(
'structural_response_property_id_1',$,#637538364);
#637538366= STRUCTURAL_RESPONSE_PROPERTY_DEFINITION_REPRESENTATION(
#637538365,#637538280);
#637538367= NAME_ATTRIBUTE('',#637538237);
#637538368= APPLIED_CLASSIFICATION_ASSIGNMENT(#637538369,#637538370,(
#637538237));
#637538369= GROUP('default-gpvv-type',$);
#637538370= CLASSIFICATION_ROLE('view_type',$);
#637538372= APPLIED_IDENTIFICATION_ASSIGNMENT('default-id.0',#637538373,
(#637538238,#637538237,#637538239));
#637538373= IDENTIFICATION_ROLE('default-role',$);
#637538375= APPLIED_ORGANIZATION_ASSIGNMENT(#637538376,#637538377,(
#637538372));
#637538376= ORGANIZATION($,'default-organization',$);
#637538377= ORGANIZATION_ROLE('id context');
#637538379= APPLIED_CLASSIFICATION_ASSIGNMENT(#637538380,#637538381,(
#637538372));
#637538380= GROUP('id',$);
#637538381= CLASSIFICATION_ROLE('',$);
#637538383= APPLICATION_PROTOCOL_DEFINITION('status',
'ap203_configuration_controlled_3d_design_of_mechanical_parts_and_assemblies'
,2011,#637538233);
#637538384= DESCRIPTION_ATTRIBUTE('SimDM',#637538233);
#637538385= ID_ATTRIBUTE('SimDM',#637538233);
#637538386= DIMENSIONAL_EXPONENTS(0.,0.,0.,0.,0.,0.,0.);
#637538387= PRODUCT_RELATED_PRODUCT_CATEGORY('document',$,());
#637538389= PRODUCT_RELATED_PRODUCT_CATEGORY('product',$,(#637538239));
#637538391= DESCRIPTION_ATTRIBUTE('',#637538243);
#637538392= CARTESIAN_POINT('0',(0.,0.,0.));
#637538394= DUMMY_NODE('0',(#637538392),#637538289,#637538280);
#637538396= ITEM_DEFINED_TRANSFORMATION('','',#637538282,#637538357);
#637538397= REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION('','',
#637538280,#637538247,#637538396);
#637538398= ELEMENT_MATERIAL('MAT1.1','Fea Material',(#637538400,
#637538415,#637538420));
#637538400= FEA_MATERIAL_PROPERTY_REPRESENTATION(#637538401,#637538403,
#637538407);
#637538401= MATERIAL_PROPERTY('MAT1.1.0',$,#637538402);
#637538402= CHARACTERIZED_OBJECT('material_property',$);
#637538403= REPRESENTATION('representation_id_2',(#637538405),#637538289
);
#637538405= FEA_LINEAR_ELASTICITY('',FEA_ISOTROPIC_SYMMETRIC_TENSOR4_3D(
(10000000.,0.33)));
#637538407= DATA_ENVIRONMENT('DATA_ENV','Property_conditions',(
#637538409));
#637538409= PROPERTY_DEFINITION_REPRESENTATION(#637538410,#637538412);
#637538410= PROPERTY_DEFINITION('Material Property Definition',$,
#637538411);
#637538411= CHARACTERIZED_OBJECT('property',$);
#637538412= REPRESENTATION('representation_id_1',(#637538414),#637538289
);
#637538414= MEASURE_REPRESENTATION_ITEM('representation_item_name_1',
CONTEXT_DEPENDENT_MEASURE(70.),#637538279);
#637538415= FEA_MATERIAL_PROPERTY_REPRESENTATION(#637538416,#637538417,
#637538407);
#637538416= MATERIAL_PROPERTY('MAT1.1.1',$,#637538402);
#637538417= REPRESENTATION('representation_id_3',(#637538419),#637538289
);
#637538419= FEA_MASS_DENSITY('',0.000254);
#637538420= FEA_MATERIAL_PROPERTY_REPRESENTATION(#637538421,#637538422,
#637538407);
#637538421= MATERIAL_PROPERTY('MAT1.1.2',$,#637538402);
#637538422= REPRESENTATION('representation_id_4',(#637538424),#637538289
);
#637538424= FEA_TANGENTIAL_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION('',
ISOTROPIC_SYMMETRIC_TENSOR2_3D(0.));
#637538425= CURVE_3D_ELEMENT_REPRESENTATION('16',(#637538427,#637538431)
,#637538433,(#637538349,#637538353),#637538280,#637538437,#637538441,
#637538398);
#637538427= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538428
);
#637538428= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538429);
#637538429= DIRECTION('undefined',(1.,0.,0.));
#637538431= FEA_PARAMETRIC_POINT('',(1.,0.,0.));
#637538433= PARAMETRIC_REPRESENTATION_CONTEXT(
'parametric_representation_context','parametric');
#637538437= CURVE_3D_ELEMENT_DESCRIPTOR(.LINEAR.,'LINEAR_CURVE.CROD',((
ENUMERATED_CURVE_ELEMENT_PURPOSE(.AXIAL.)),(
ENUMERATED_CURVE_ELEMENT_PURPOSE(.TORSION.))));
#637538441= CURVE_3D_ELEMENT_PROPERTY('PROD.1','',(#637538443),(
#637538454,#637538456),(#637538459,#637538462));
#637538443= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538444,#637538445,
#637538447);
#637538444= CURVE_ELEMENT_LOCATION(#637538431);
#637538445= EULER_ANGLES((0.,0.,0.));
#637538447= CURVE_ELEMENT_SECTION_DERIVED_DEFINITIONS('',0.,8.,(
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)),(0.,0.,0.),
0.,CONTEXT_DEPENDENT_MEASURE(0.),(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)),(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)),(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.));
#637538454= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538456= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538459= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538461));
#637538461= CURVE_ELEMENT_END_RELEASE_PACKET(
ENUMERATED_CURVE_ELEMENT_FREEDOM(.NONE.),0.);
#637538462= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538461));
#637538464= CURVE_3D_ELEMENT_REPRESENTATION('15',(#637538427,#637538431)
,#637538433,(#637538345,#637538349),#637538280,#637538437,#637538441,
#637538398);
#637538467= CURVE_3D_ELEMENT_REPRESENTATION('14',(#637538427,#637538431)
,#637538433,(#637538341,#637538345),#637538280,#637538437,#637538441,
#637538398);
#637538470= CURVE_3D_ELEMENT_REPRESENTATION('13',(#637538427,#637538431)
,#637538433,(#637538337,#637538341),#637538280,#637538437,#637538441,
#637538398);
#637538473= CURVE_3D_ELEMENT_REPRESENTATION('12',(#637538427,#637538431)
,#637538433,(#637538333,#637538337),#637538280,#637538437,#637538441,
#637538398);
#637538476= CURVE_3D_ELEMENT_REPRESENTATION('11',(#637538427,#637538431)
,#637538433,(#637538329,#637538333),#637538280,#637538437,#637538441,
#637538398);
#637538479= CURVE_3D_ELEMENT_REPRESENTATION('10',(#637538427,#637538431)
,#637538433,(#637538325,#637538329),#637538280,#637538437,#637538441,
#637538398);
#637538482= CURVE_3D_ELEMENT_REPRESENTATION('9',(#637538427,#637538431),
#637538433,(#637538321,#637538325),#637538280,#637538437,#637538441,
#637538398);
#637538485= CURVE_3D_ELEMENT_REPRESENTATION('8',(#637538427,#637538431),
#637538433,(#637538317,#637538321),#637538280,#637538437,#637538441,
#637538398);
#637538488= CURVE_3D_ELEMENT_REPRESENTATION('7',(#637538427,#637538431),
#637538433,(#637538313,#637538317),#637538280,#637538437,#637538441,
#637538398);
#637538491= CURVE_3D_ELEMENT_REPRESENTATION('6',(#637538427,#637538431),
#637538433,(#637538309,#637538313),#637538280,#637538437,#637538441,
#637538398);
#637538494= CURVE_3D_ELEMENT_REPRESENTATION('5',(#637538427,#637538431),
#637538433,(#637538305,#637538309),#637538280,#637538437,#637538441,
#637538398);
#637538497= CURVE_3D_ELEMENT_REPRESENTATION('4',(#637538427,#637538431),
#637538433,(#637538301,#637538305),#637538280,#637538437,#637538441,
#637538398);
#637538500= CURVE_3D_ELEMENT_REPRESENTATION('3',(#637538427,#637538431),
#637538433,(#637538297,#637538301),#637538280,#637538437,#637538441,
#637538398);
#637538503= CURVE_3D_ELEMENT_REPRESENTATION('2',(#637538427,#637538431),
#637538433,(#637538293,#637538297),#637538280,#637538437,#637538441,
#637538398);
#637538506= CURVE_3D_ELEMENT_REPRESENTATION('1',(#637538427,#637538431),
#637538433,(#637538251,#637538293),#637538280,#637538437,#637538441,
#637538398);
#637538509= ID_ATTRIBUTE('MAT1.1',#637538410);
#637538510= DESCRIPTION_ATTRIBUTE('Elasticity',#637538400);
#637538511= DESCRIPTION_ATTRIBUTE('MassDensity',#637538415);
#637538512= DESCRIPTION_ATTRIBUTE('TangentCTE',#637538420);
#637538513= CONTROL(#637538280,'Control.0','FemConvert',
'MSC.NASTRAN JOB CREATED ON 06-JUL-00 AT 06:14:07',('<SOL>101</SOL>',
'TIME 600','CEND','<GLOBALCASE>0</GLOBALCASE>','<SUBCASE>1</SUBCASE>',
'<SUBCASE>2</SUBCASE>','ENDDATA'),('NASTRAN'));
#637538516= CONTROL_LINEAR_STATIC_ANALYSIS_STEP(#637538513,
'STATIC STEP 2',2,#637538517,'',#637538518);
#637538517= SPECIFIED_STATE('STEP DEFAULT','default_initial_state');
#637538518= CONTROL_LINEAR_STATIC_LOAD_INCREMENT_PROCESS('STATIC STEP 2'
,'',#637538519);
#637538519= SPECIFIED_STATE('Step 2 Base Specified State',
'Relating Specified State');
#637538520= OUTPUT_REQUEST_STATE('Step 2 Output Request State','',(
#637538516));
#637538522= NODAL_FREEDOM_VALUES(#637538520,#637538523,#637538282,
#637538525,(UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.)));
#637538523= NODE_GROUP('','ALL',#637538280,(#637538251,#637538293,
#637538297,#637538301,#637538305,#637538309,#637538313,#637538317,
#637538321,#637538325,#637538329,#637538333,#637538337,#637538341,
#637538345,#637538349,#637538353));
#637538525= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.X_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(
.Y_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(.Z_ROTATION.)));
#637538528= SINGLE_POINT_CONSTRAINT_ELEMENT('SPC1_1.0',(#637538530,
#637538516),#637538251,#637538282,(#637538534,#637538535,#637538536),''
);
#637538530= CONTROL_LINEAR_STATIC_ANALYSIS_STEP(#637538513,
'STATIC STEP 1',1,#637538517,'',#637538531);
#637538531= CONTROL_LINEAR_STATIC_LOAD_INCREMENT_PROCESS('STATIC STEP 1'
,'',#637538532);
#637538532= SPECIFIED_STATE('Step 1 Base Specified State',
'Relating Specified State');
#637538534= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.X_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538535= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.Y_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538536= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.Z_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538537= SINGLE_POINT_CONSTRAINT_ELEMENT_VALUES(#637538538,#637538528
,#637538539,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)
,CONTEXT_DEPENDENT_MEASURE(0.)));
#637538538= SPECIFIED_STATE('SPCVALSTATE_1_2','');
#637538539= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.)));
#637538542= SPECIFIED_STATE('SPCCASE_2_2_1','Aggregator SPC 2 Step 1');
#637538543= STATE_RELATIONSHIP(
'SPCCASE_2_2_1 is related to Step 1 Base Specified State','',#637538532,
#637538542);
#637538544= STATE_RELATIONSHIP(
'SPCVALSTATE_1_2 is related to SPCCASE_2_2_1','',#637538542,#637538538);
#637538545= LINEARLY_SUPERIMPOSED_STATE('LOADSTATECOMBINATION_2',
'Overall Factor Combined State');
#637538547= STATE_RELATIONSHIP(
'LOADSTATECOMBINATION_2 is related to Step 2 Base Specified State','',
#637538519,#637538545);
#637538548= STATE_RELATIONSHIP(
'LOADSTATECOMBINATION_2 is related to Step 1 Base Specified State','',
#637538532,#637538545);
#637538549= STATE_COMPONENT('OverallComp','',#637538545,1.);
#637538551= STATE_RELATIONSHIP(
'LOADSTATEITEM_1 is related to OverallComp','',#637538549,#637538552);
#637538552= LINEARLY_SUPERIMPOSED_STATE('LOADSTATEITEM_1',
'Item Factor State');
#637538553= SPECIFIED_STATE('LOADSTATECORE_1',
'Core Loads Specified State');
#637538554= STATE_RELATIONSHIP(
'LOADSTATECORE_1 is related to ItemComp_2_1','',#637538555,#637538553);
#637538555= STATE_COMPONENT('ItemComp_2_1','',#637538552,1.);
#637538557= NODAL_FREEDOM_ACTION_DEFINITION(#637538553,#637538353,
#637538282,#637538558,(CONTEXT_DEPENDENT_MEASURE(-1000.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538558= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.)));
#637538561= OUTPUT_REQUEST_STATE('Step 1 Output Request State','',(
#637538530));
#637538563= NODAL_FREEDOM_VALUES(#637538561,#637538523,#637538282,
#637538525,(UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.)));
#637538565= ID_ATTRIBUTE('ALL',#637538523);
#637538566= SPECIFIED_STATE('SPCCASE_2_2_2','Aggregator SPC 2 Step 2');
#637538567= STATE_RELATIONSHIP(
'SPCCASE_2_2_2 is related to Step 2 Base Specified State','',#637538519,
#637538566);
ENDSEC;
END-ISO-10303-21;
-559
View File
@@ -1,559 +0,0 @@
ISO-10303-21;
HEADER;
/******************************************************************************************
* STEP Physical File produced by: The EXPRESS Data Manager Version 5.01.0100.b03 SimDM : 25 Apr 2012
* Module: EDMstepFileFactory/EDMstandAlone
* Creation date: Mon Jul 09 13:15:28 2012
* Host: AER4WA926171Z
* Database: C:\Documents and Settings\johnsjc2\Desktop\AP209\SimDM2010\DevCM\db\d
* Database version: 5207
* Database creation date: Wed Apr 18 15:33:55 2012
* Schema: AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF
* Model: DataRepository.FemTest
* Model creation date: Mon Jul 09 13:15:28 2012
* Header model:
* EDMuser: superuser
* EDMgroup:
* License ID and type: 5565 : Project license. Expiry date: 31 Dec 2012
* EDMstepFileFactory options: 010000000
******************************************************************************************/
FILE_DESCRIPTION((''),'2;1');
FILE_NAME(
'C:\\Documents and Settings\\johnsjc2\\Desktop\\AP209\\SimDM2010\\DevCM\\db\\d.DataRepository.FemTest'
,
'2012-07-09T13:15:28',
('ANONYMOUS USER'),
('ANONYMOUS ORGANISATION'),
'The EXPRESS Data Manager Version 5.01.0100.b03 SimDM : 25 Apr 2012',
'',
'');
FILE_SCHEMA(('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF'));
ENDSEC;
DATA;
#637538235= APPLICATION_CONTEXT('SimDM');
#637538237= PRODUCT_DEFINITION_CONTEXT('assembly definition',#637538235,
'life cycle stage');
#637538239= PRODUCT_DEFINITION('default-id.0',$,#637538240,#637538244);
#637538240= PRODUCT_DEFINITION_FORMATION('default-id.0','',#637538241);
#637538241= PRODUCT('default-id.0','default-fea-part','',(#637538243));
#637538243= PRODUCT_CONTEXT('design_context',#637538235,'design_context'
);
#637538244= PRODUCT_DEFINITION_CONTEXT(
'product_definition_context_name_1',#637538245,'ANALYSIS-STAGE');
#637538245= APPLICATION_CONTEXT('FEA-ANALYSIS-DOMAIN');
#637538247= PRODUCT_DEFINITION_SHAPE('name',$,#637538239);
#637538248= SHAPE_DEFINITION_REPRESENTATION(#637538247,#637538249);
#637538249= POINT_REPRESENTATION('point_representation_name_1',(
#637538251,#637538359),#637538257);
#637538251= NODE_SET('node_set_name_1',(#637538253,#637538295,#637538299
,#637538303,#637538307,#637538311,#637538315,#637538319,#637538323,
#637538327,#637538331,#637538335,#637538339,#637538343,#637538347,
#637538351,#637538355));
#637538253= NODE('1',(#637538255),#637538257,#637538282);
#637538255= CARTESIAN_POINT('1',(0.,-2.,1.));
#637538257=
/* GEOMETRIC_REPRESENTATION_CONTEXT+GLOBAL_UNIT_ASSIGNED_CONTEXT */(
GEOMETRIC_REPRESENTATION_CONTEXT(3)GLOBAL_UNIT_ASSIGNED_CONTEXT((
#637538260,#637538268,#637538271,#637538265,#637538263,#637538274,
#637538275,#637538278,#637538281,#637538267))REPRESENTATION_CONTEXT(
'CORD2R.1','3d'));
#637538260= SI_ENERGY_UNIT((#637538262,#637538264,#637538266),*,$,
.JOULE.);
#637538262= DERIVED_UNIT_ELEMENT(#637538263,1.);
#637538263= /* MASS_UNIT+SI_UNIT */(MASS_UNIT()NAMED_UNIT(*)SI_UNIT(
.KILO.,.GRAM.));
#637538264= DERIVED_UNIT_ELEMENT(#637538265,2.);
#637538265= /* LENGTH_UNIT+SI_UNIT */(LENGTH_UNIT()NAMED_UNIT(*)SI_UNIT(
$,.METRE.));
#637538266= DERIVED_UNIT_ELEMENT(#637538267,-2.);
#637538267= /* SI_UNIT+TIME_UNIT */(NAMED_UNIT(*)SI_UNIT($,.SECOND.)
TIME_UNIT());
#637538268= SI_FORCE_UNIT((#637538262,#637538270,#637538266),*,$,
.NEWTON.);
#637538270= DERIVED_UNIT_ELEMENT(#637538265,1.);
#637538271= SI_FREQUENCY_UNIT((#637538273),*,$,.HERTZ.);
#637538273= DERIVED_UNIT_ELEMENT(#637538267,-1.);
#637538274= /* PLANE_ANGLE_UNIT+SI_UNIT */(NAMED_UNIT(*)PLANE_ANGLE_UNIT
()SI_UNIT($,.RADIAN.));
#637538275= SI_POWER_UNIT((#637538262,#637538264,#637538277),*,$,.WATT.
);
#637538277= DERIVED_UNIT_ELEMENT(#637538267,-3.);
#637538278= SI_PRESSURE_UNIT((#637538262,#637538280,#637538266),*,$,
.PASCAL.);
#637538280= DERIVED_UNIT_ELEMENT(#637538265,-1.);
#637538281= /* SI_UNIT+THERMODYNAMIC_TEMPERATURE_UNIT */(NAMED_UNIT(*)
SI_UNIT($,.DEGREE_CELSIUS.)THERMODYNAMIC_TEMPERATURE_UNIT());
#637538282= FEA_MODEL_3D('Identification',(#637538284),#637538291,
'NASTRAN BDF Converter v0.0.0',('NASTRAN'),'AnalysisModelType');
#637538284= FEA_AXIS2_PLACEMENT_3D('0',#637538285,#637538287,#637538289,
.CARTESIAN.,'FEA_BASIC_COORD_SYSTEM.0');
#637538285= CARTESIAN_POINT('',(0.,0.,0.));
#637538287= DIRECTION('AxisZ',(0.,0.,1.));
#637538289= DIRECTION('RefX',(1.,0.,0.));
#637538291=
/* GEOMETRIC_REPRESENTATION_CONTEXT+GLOBAL_UNIT_ASSIGNED_CONTEXT */(
GEOMETRIC_REPRESENTATION_CONTEXT(3)GLOBAL_UNIT_ASSIGNED_CONTEXT((
#637538260,#637538268,#637538271,#637538265,#637538263,#637538274,
#637538275,#637538278,#637538281,#637538267))REPRESENTATION_CONTEXT(
'FEA_BASIC_COORD_SYSTEM.0','3d'));
#637538295= NODE('2',(#637538297),#637538257,#637538282);
#637538297= CARTESIAN_POINT('2',(1.,-2.,1.));
#637538299= NODE('3',(#637538301),#637538257,#637538282);
#637538301= CARTESIAN_POINT('3',(2.,-2.,1.));
#637538303= NODE('4',(#637538305),#637538257,#637538282);
#637538305= CARTESIAN_POINT('4',(3.,-2.,1.));
#637538307= NODE('5',(#637538309),#637538257,#637538282);
#637538309= CARTESIAN_POINT('5',(4.,-2.,1.));
#637538311= NODE('6',(#637538313),#637538257,#637538282);
#637538313= CARTESIAN_POINT('6',(5.,-2.,1.));
#637538315= NODE('7',(#637538317),#637538257,#637538282);
#637538317= CARTESIAN_POINT('7',(6.,-2.,1.));
#637538319= NODE('8',(#637538321),#637538257,#637538282);
#637538321= CARTESIAN_POINT('8',(7.,-2.,1.));
#637538323= NODE('9',(#637538325),#637538257,#637538282);
#637538325= CARTESIAN_POINT('9',(8.,-2.,1.));
#637538327= NODE('10',(#637538329),#637538257,#637538282);
#637538329= CARTESIAN_POINT('10',(9.,-2.,1.));
#637538331= NODE('11',(#637538333),#637538257,#637538282);
#637538333= CARTESIAN_POINT('11',(10.,-2.,1.));
#637538335= NODE('12',(#637538337),#637538257,#637538282);
#637538337= CARTESIAN_POINT('12',(11.,-2.,1.));
#637538339= NODE('13',(#637538341),#637538257,#637538282);
#637538341= CARTESIAN_POINT('13',(12.,-2.,1.));
#637538343= NODE('14',(#637538345),#637538257,#637538282);
#637538345= CARTESIAN_POINT('14',(13.,-2.,1.));
#637538347= NODE('15',(#637538349),#637538257,#637538282);
#637538349= CARTESIAN_POINT('15',(14.,-2.,1.));
#637538351= NODE('16',(#637538353),#637538257,#637538282);
#637538353= CARTESIAN_POINT('16',(15.,-2.,1.));
#637538355= NODE('17',(#637538357),#637538257,#637538282);
#637538357= CARTESIAN_POINT('17',(16.,-2.,1.));
#637538359= FEA_AXIS2_PLACEMENT_3D('1',#637538360,#637538362,#637538364,
.CARTESIAN.,'CORD2R.1');
#637538360= CARTESIAN_POINT('',(0.,0.,0.));
#637538362= DIRECTION('AxisZ',(0.,0.,1.));
#637538364= DIRECTION('RefX',(1.,0.,0.));
#637538366= FEA_MODEL_DEFINITION('fea_model_definition_id_1',$,
#637538247,.U.);
#637538367= STRUCTURAL_RESPONSE_PROPERTY(
'structural_response_property_id_1',$,#637538366);
#637538368= STRUCTURAL_RESPONSE_PROPERTY_DEFINITION_REPRESENTATION(
#637538367,#637538282);
#637538369= NAME_ATTRIBUTE('',#637538239);
#637538370= APPLIED_CLASSIFICATION_ASSIGNMENT(#637538371,#637538372,(
#637538239));
#637538371= GROUP('default-gpvv-type',$);
#637538372= CLASSIFICATION_ROLE('view_type',$);
#637538374= APPLIED_IDENTIFICATION_ASSIGNMENT('default-id.0',#637538375,
(#637538240,#637538239,#637538241));
#637538375= IDENTIFICATION_ROLE('default-role',$);
#637538377= APPLIED_ORGANIZATION_ASSIGNMENT(#637538378,#637538379,(
#637538374));
#637538378= ORGANIZATION($,'default-organization',$);
#637538379= ORGANIZATION_ROLE('id context');
#637538381= APPLIED_CLASSIFICATION_ASSIGNMENT(#637538382,#637538383,(
#637538374));
#637538382= GROUP('id',$);
#637538383= CLASSIFICATION_ROLE('',$);
#637538385= APPLICATION_PROTOCOL_DEFINITION('status',
'ap203_configuration_controlled_3d_design_of_mechanical_parts_and_assemblies'
,2011,#637538235);
#637538386= DESCRIPTION_ATTRIBUTE('SimDM',#637538235);
#637538387= ID_ATTRIBUTE('SimDM',#637538235);
#637538388= DIMENSIONAL_EXPONENTS(0.,0.,0.,0.,0.,0.,0.);
#637538389= PRODUCT_RELATED_PRODUCT_CATEGORY('document',$,());
#637538391= PRODUCT_RELATED_PRODUCT_CATEGORY('product',$,(#637538241));
#637538393= DESCRIPTION_ATTRIBUTE('',#637538245);
#637538394= CARTESIAN_POINT('0',(0.,0.,0.));
#637538396= DUMMY_NODE('0',(#637538394),#637538291,#637538282);
#637538398= ITEM_DEFINED_TRANSFORMATION('','',#637538284,#637538359);
#637538399= REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION('','',
#637538282,#637538249,#637538398);
#637538400= ELEMENT_MATERIAL('MAT1.1','Fea Material',(#637538402,
#637538417,#637538422));
#637538402= FEA_MATERIAL_PROPERTY_REPRESENTATION(#637538403,#637538405,
#637538409);
#637538403= MATERIAL_PROPERTY('MAT1.1.0',$,#637538404);
#637538404= CHARACTERIZED_OBJECT('material_property',$);
#637538405= REPRESENTATION('representation_id_2',(#637538407),#637538291
);
#637538407= FEA_LINEAR_ELASTICITY('',FEA_ISOTROPIC_SYMMETRIC_TENSOR4_3D(
(10000000.,0.33)));
#637538409= DATA_ENVIRONMENT('DATA_ENV','Property_conditions',(
#637538411));
#637538411= PROPERTY_DEFINITION_REPRESENTATION(#637538412,#637538414);
#637538412= PROPERTY_DEFINITION('Material Property Definition',$,
#637538413);
#637538413= CHARACTERIZED_OBJECT('property',$);
#637538414= REPRESENTATION('representation_id_1',(#637538416),#637538291
);
#637538416= MEASURE_REPRESENTATION_ITEM('representation_item_name_1',
CONTEXT_DEPENDENT_MEASURE(70.),#637538281);
#637538417= FEA_MATERIAL_PROPERTY_REPRESENTATION(#637538418,#637538419,
#637538409);
#637538418= MATERIAL_PROPERTY('MAT1.1.1',$,#637538404);
#637538419= REPRESENTATION('representation_id_3',(#637538421),#637538291
);
#637538421= FEA_MASS_DENSITY('',0.000254);
#637538422= FEA_MATERIAL_PROPERTY_REPRESENTATION(#637538423,#637538424,
#637538409);
#637538423= MATERIAL_PROPERTY('MAT1.1.2',$,#637538404);
#637538424= REPRESENTATION('representation_id_4',(#637538426),#637538291
);
#637538426= FEA_TANGENTIAL_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION('',
ISOTROPIC_SYMMETRIC_TENSOR2_3D(0.));
#637538427= CURVE_3D_ELEMENT_REPRESENTATION('16',(#637538429,#637538433)
,#637538435,(#637538351,#637538355),#637538282,#637538439,#637538443,
#637538400);
#637538429= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538430
);
#637538430= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538431);
#637538431= DIRECTION('undefined',(1.,0.,0.));
#637538433= FEA_PARAMETRIC_POINT('',(1.,0.,0.));
#637538435= PARAMETRIC_REPRESENTATION_CONTEXT(
'parametric_representation_context','parametric');
#637538439= CURVE_3D_ELEMENT_DESCRIPTOR(.LINEAR.,'LINEAR_CURVE.CROD',((
ENUMERATED_CURVE_ELEMENT_PURPOSE(.AXIAL.)),(
ENUMERATED_CURVE_ELEMENT_PURPOSE(.TORSION.))));
#637538443= CURVE_3D_ELEMENT_PROPERTY('PROD.1','',(#637538445),(
#637538456,#637538458),(#637538461,#637538464));
#637538445= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538446,#637538447,
#637538449);
#637538446= CURVE_ELEMENT_LOCATION(#637538433);
#637538447= EULER_ANGLES((0.,0.,0.));
#637538449= CURVE_ELEMENT_SECTION_DERIVED_DEFINITIONS('',0.,8.,(
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)),(0.,0.,0.),
0.,CONTEXT_DEPENDENT_MEASURE(0.),(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)),(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)),(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.));
#637538456= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538458= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538461= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538463));
#637538463= CURVE_ELEMENT_END_RELEASE_PACKET(
ENUMERATED_CURVE_ELEMENT_FREEDOM(.NONE.),0.);
#637538464= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538463));
#637538466= CURVE_3D_ELEMENT_REPRESENTATION('15',(#637538429,#637538433)
,#637538435,(#637538347,#637538351),#637538282,#637538439,#637538443,
#637538400);
#637538469= CURVE_3D_ELEMENT_REPRESENTATION('14',(#637538429,#637538433)
,#637538435,(#637538343,#637538347),#637538282,#637538439,#637538443,
#637538400);
#637538472= CURVE_3D_ELEMENT_REPRESENTATION('13',(#637538429,#637538433)
,#637538435,(#637538339,#637538343),#637538282,#637538439,#637538443,
#637538400);
#637538475= CURVE_3D_ELEMENT_REPRESENTATION('12',(#637538429,#637538433)
,#637538435,(#637538335,#637538339),#637538282,#637538439,#637538443,
#637538400);
#637538478= CURVE_3D_ELEMENT_REPRESENTATION('11',(#637538429,#637538433)
,#637538435,(#637538331,#637538335),#637538282,#637538439,#637538443,
#637538400);
#637538481= CURVE_3D_ELEMENT_REPRESENTATION('10',(#637538429,#637538433)
,#637538435,(#637538327,#637538331),#637538282,#637538439,#637538443,
#637538400);
#637538484= CURVE_3D_ELEMENT_REPRESENTATION('9',(#637538429,#637538433),
#637538435,(#637538323,#637538327),#637538282,#637538439,#637538443,
#637538400);
#637538487= CURVE_3D_ELEMENT_REPRESENTATION('8',(#637538429,#637538433),
#637538435,(#637538319,#637538323),#637538282,#637538439,#637538443,
#637538400);
#637538490= CURVE_3D_ELEMENT_REPRESENTATION('7',(#637538429,#637538433),
#637538435,(#637538315,#637538319),#637538282,#637538439,#637538443,
#637538400);
#637538493= CURVE_3D_ELEMENT_REPRESENTATION('6',(#637538429,#637538433),
#637538435,(#637538311,#637538315),#637538282,#637538439,#637538443,
#637538400);
#637538496= CURVE_3D_ELEMENT_REPRESENTATION('5',(#637538429,#637538433),
#637538435,(#637538307,#637538311),#637538282,#637538439,#637538443,
#637538400);
#637538499= CURVE_3D_ELEMENT_REPRESENTATION('4',(#637538429,#637538433),
#637538435,(#637538303,#637538307),#637538282,#637538439,#637538443,
#637538400);
#637538502= CURVE_3D_ELEMENT_REPRESENTATION('3',(#637538429,#637538433),
#637538435,(#637538299,#637538303),#637538282,#637538439,#637538443,
#637538400);
#637538505= CURVE_3D_ELEMENT_REPRESENTATION('2',(#637538429,#637538433),
#637538435,(#637538295,#637538299),#637538282,#637538439,#637538443,
#637538400);
#637538508= CURVE_3D_ELEMENT_REPRESENTATION('1',(#637538429,#637538433),
#637538435,(#637538253,#637538295),#637538282,#637538439,#637538443,
#637538400);
#637538511= ID_ATTRIBUTE('MAT1.1',#637538412);
#637538512= DESCRIPTION_ATTRIBUTE('Elasticity',#637538402);
#637538513= DESCRIPTION_ATTRIBUTE('MassDensity',#637538417);
#637538514= DESCRIPTION_ATTRIBUTE('TangentCTE',#637538422);
#637538515= CONTROL(#637538282,'Control.0','FemConvert',
'MSC.NASTRAN JOB CREATED ON 06-JUL-00 AT 06:14:07',('<SOL>101</SOL>',
'TIME 600','CEND','<GLOBALCASE>0</GLOBALCASE>','<SUBCASE>1</SUBCASE>',
'<SUBCASE>2</SUBCASE>','ENDDATA'),('NASTRAN'));
#637538518= RESULT_LINEAR_STATIC_ANALYSIS_SUB_STEP(#637538515,#637538519
,#637538520);
#637538519= RESULT('Result.0','FemConvert',
'MSC.NASTRAN JOB CREATED ON 06-JUL-00 AT 06:14:07');
#637538520= CALCULATED_STATE('Calculated State for Step 2','');
#637538521= CONTROL_RESULT_RELATIONSHIP(#637538522,#637538518);
#637538522= CONTROL_LINEAR_STATIC_ANALYSIS_STEP(#637538515,
'STATIC STEP 2',2,#637538523,'',#637538524);
#637538523= SPECIFIED_STATE('STEP DEFAULT','default_initial_state');
#637538524= CONTROL_LINEAR_STATIC_LOAD_INCREMENT_PROCESS('STATIC STEP 2'
,'',#637538525);
#637538525= SPECIFIED_STATE('Step 2 Base Specified State',
'Relating Specified State');
#637538526= RESULT_LINEAR_STATIC_ANALYSIS_SUB_STEP(#637538515,#637538519
,#637538527);
#637538527= CALCULATED_STATE('Calculated State for Step 1','');
#637538528= CONTROL_RESULT_RELATIONSHIP(#637538529,#637538526);
#637538529= CONTROL_LINEAR_STATIC_ANALYSIS_STEP(#637538515,
'STATIC STEP 1',1,#637538523,'',#637538530);
#637538530= CONTROL_LINEAR_STATIC_LOAD_INCREMENT_PROCESS('STATIC STEP 1'
,'',#637538531);
#637538531= SPECIFIED_STATE('Step 1 Base Specified State',
'Relating Specified State');
#637538532= SPECIFIED_STATE('SPCCASE_2_2_1','Aggregator SPC 2 Step 1');
#637538533= STATE_RELATIONSHIP(
'SPCCASE_2_2_1 is related to Step 1 Base Specified State','',#637538531,
#637538532);
#637538534= STATE_RELATIONSHIP(
'SPCVALSTATE_1_2 is related to SPCCASE_2_2_1','',#637538532,#637538535);
#637538535= SPECIFIED_STATE('SPCVALSTATE_1_2','');
#637538536= SINGLE_POINT_CONSTRAINT_ELEMENT_VALUES(#637538535,#637538537
,#637538543,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)
,CONTEXT_DEPENDENT_MEASURE(0.)));
#637538537= SINGLE_POINT_CONSTRAINT_ELEMENT('SPC1_1.0',(#637538529,
#637538522),#637538253,#637538284,(#637538540,#637538541,#637538542),''
);
#637538540= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.X_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538541= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.Y_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538542= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.Z_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538543= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.)));
#637538546= LINEARLY_SUPERIMPOSED_STATE('LOADSTATECOMBINATION_2',
'Overall Factor Combined State');
#637538548= STATE_RELATIONSHIP(
'LOADSTATECOMBINATION_2 is related to Step 2 Base Specified State','',
#637538525,#637538546);
#637538549= STATE_RELATIONSHIP(
'LOADSTATECOMBINATION_2 is related to Step 1 Base Specified State','',
#637538531,#637538546);
#637538550= STATE_COMPONENT('OverallComp','',#637538546,1.);
#637538552= STATE_RELATIONSHIP(
'LOADSTATEITEM_1 is related to OverallComp','',#637538550,#637538553);
#637538553= LINEARLY_SUPERIMPOSED_STATE('LOADSTATEITEM_1',
'Item Factor State');
#637538554= SPECIFIED_STATE('LOADSTATECORE_1',
'Core Loads Specified State');
#637538555= STATE_RELATIONSHIP(
'LOADSTATECORE_1 is related to ItemComp_2_1','',#637538556,#637538554);
#637538556= STATE_COMPONENT('ItemComp_2_1','',#637538553,1.);
#637538558= NODAL_FREEDOM_ACTION_DEFINITION(#637538554,#637538355,
#637538284,#637538559,(CONTEXT_DEPENDENT_MEASURE(-1000.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538559= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.)));
#637538562= OUTPUT_REQUEST_STATE('Step 1 Output Request State','',(
#637538529));
#637538564= NODAL_FREEDOM_VALUES(#637538562,#637538565,#637538284,
#637538567,(UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.)));
#637538565= NODE_GROUP('','ALL',#637538282,(#637538253,#637538295,
#637538299,#637538303,#637538307,#637538311,#637538315,#637538319,
#637538323,#637538327,#637538331,#637538335,#637538339,#637538343,
#637538347,#637538351,#637538355));
#637538567= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.X_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(
.Y_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(.Z_ROTATION.)));
#637538570= ID_ATTRIBUTE('ALL',#637538565);
#637538571= SPECIFIED_STATE('SPCCASE_2_2_2','Aggregator SPC 2 Step 2');
#637538572= STATE_RELATIONSHIP(
'SPCCASE_2_2_2 is related to Step 2 Base Specified State','',#637538525,
#637538571);
#637538573= OUTPUT_REQUEST_STATE('Step 2 Output Request State','',(
#637538522));
#637538575= NODAL_FREEDOM_VALUES(#637538573,#637538565,#637538284,
#637538567,(UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.)));
#637538577= NODAL_FREEDOM_VALUES(#637538527,#637538253,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538579= NODAL_FREEDOM_VALUES(#637538527,#637538295,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-1.25000000000000E-5),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538581= NODAL_FREEDOM_VALUES(#637538527,#637538299,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-2.50000000000000E-5),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538583= NODAL_FREEDOM_VALUES(#637538527,#637538303,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-3.75000000000000E-5),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538585= NODAL_FREEDOM_VALUES(#637538527,#637538307,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-5.00000000000000E-5),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538587= NODAL_FREEDOM_VALUES(#637538527,#637538311,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-6.25000000000000E-5),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538589= NODAL_FREEDOM_VALUES(#637538527,#637538315,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-7.50000000000000E-5),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538591= NODAL_FREEDOM_VALUES(#637538527,#637538319,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-8.75000000000000E-5),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538593= NODAL_FREEDOM_VALUES(#637538527,#637538323,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.0001),CONTEXT_DEPENDENT_MEASURE
(0.),CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538595= NODAL_FREEDOM_VALUES(#637538527,#637538327,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.0001125),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538597= NODAL_FREEDOM_VALUES(#637538527,#637538331,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.000125),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538599= NODAL_FREEDOM_VALUES(#637538527,#637538335,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.0001375),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538601= NODAL_FREEDOM_VALUES(#637538527,#637538339,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.00015),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538603= NODAL_FREEDOM_VALUES(#637538527,#637538343,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.0001625),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538605= NODAL_FREEDOM_VALUES(#637538527,#637538347,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.000175),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538607= NODAL_FREEDOM_VALUES(#637538527,#637538351,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.0001875),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538609= NODAL_FREEDOM_VALUES(#637538527,#637538355,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.0002),CONTEXT_DEPENDENT_MEASURE
(0.),CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538611= NODAL_FREEDOM_VALUES(#637538520,#637538253,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538613= NODAL_FREEDOM_VALUES(#637538520,#637538295,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-1.25000000000000E-5),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538615= NODAL_FREEDOM_VALUES(#637538520,#637538299,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-2.50000000000000E-5),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538617= NODAL_FREEDOM_VALUES(#637538520,#637538303,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-3.75000000000000E-5),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538619= NODAL_FREEDOM_VALUES(#637538520,#637538307,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-5.00000000000000E-5),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538621= NODAL_FREEDOM_VALUES(#637538520,#637538311,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-6.25000000000000E-5),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538623= NODAL_FREEDOM_VALUES(#637538520,#637538315,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-7.50000000000000E-5),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538625= NODAL_FREEDOM_VALUES(#637538520,#637538319,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-8.75000000000000E-5),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538627= NODAL_FREEDOM_VALUES(#637538520,#637538323,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.0001),CONTEXT_DEPENDENT_MEASURE
(0.),CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538629= NODAL_FREEDOM_VALUES(#637538520,#637538327,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.0001125),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538631= NODAL_FREEDOM_VALUES(#637538520,#637538331,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.000125),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538633= NODAL_FREEDOM_VALUES(#637538520,#637538335,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.0001375),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538635= NODAL_FREEDOM_VALUES(#637538520,#637538339,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.00015),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538637= NODAL_FREEDOM_VALUES(#637538520,#637538343,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.0001625),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538639= NODAL_FREEDOM_VALUES(#637538520,#637538347,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.000175),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538641= NODAL_FREEDOM_VALUES(#637538520,#637538351,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.0001875),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538643= NODAL_FREEDOM_VALUES(#637538520,#637538355,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.0002),CONTEXT_DEPENDENT_MEASURE
(0.),CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
ENDSEC;
END-ISO-10303-21;
-685
View File
@@ -1,685 +0,0 @@
ISO-10303-21;
HEADER;
/******************************************************************************************
* STEP Physical File produced by: The EXPRESS Data Manager Version 5.01.0100.b03 SimDM : 25 Apr 2012
* Module: EDMstepFileFactory/EDMstandAlone
* Creation date: Mon Jul 09 12:24:23 2012
* Host: AER4WA926171Z
* Database: C:\Documents and Settings\johnsjc2\Desktop\AP209\SimDM2010\DevCM\db\d
* Database version: 5207
* Database creation date: Wed Apr 18 15:33:55 2012
* Schema: AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF
* Model: DataRepository.FemTest
* Model creation date: Mon Jul 09 12:24:23 2012
* Header model:
* EDMuser: superuser
* EDMgroup:
* License ID and type: 5565 : Project license. Expiry date: 31 Dec 2012
* EDMstepFileFactory options: 010000000
******************************************************************************************/
FILE_DESCRIPTION((''),'2;1');
FILE_NAME(
'C:\\Documents and Settings\\johnsjc2\\Desktop\\AP209\\SimDM2010\\DevCM\\db\\d.DataRepository.FemTest'
,
'2012-07-09T12:24:23',
('ANONYMOUS USER'),
('ANONYMOUS ORGANISATION'),
'The EXPRESS Data Manager Version 5.01.0100.b03 SimDM : 25 Apr 2012',
'',
'');
FILE_SCHEMA(('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF'));
ENDSEC;
DATA;
#637538235= APPLICATION_CONTEXT('SimDM');
#637538237= PRODUCT_DEFINITION_CONTEXT('assembly definition',#637538235,
'life cycle stage');
#637538239= PRODUCT_DEFINITION('default-id.0',$,#637538240,#637538244);
#637538240= PRODUCT_DEFINITION_FORMATION('default-id.0','',#637538241);
#637538241= PRODUCT('default-id.0','default-fea-part','',(#637538243));
#637538243= PRODUCT_CONTEXT('design_context',#637538235,'design_context'
);
#637538244= PRODUCT_DEFINITION_CONTEXT(
'product_definition_context_name_1',#637538245,'ANALYSIS-STAGE');
#637538245= APPLICATION_CONTEXT('FEA-ANALYSIS-DOMAIN');
#637538247= PRODUCT_DEFINITION_SHAPE('name',$,#637538239);
#637538248= SHAPE_DEFINITION_REPRESENTATION(#637538247,#637538249);
#637538249= POINT_REPRESENTATION('point_representation_name_1',(
#637538251,#637538359),#637538257);
#637538251= NODE_SET('node_set_name_1',(#637538253,#637538295,#637538299
,#637538303,#637538307,#637538311,#637538315,#637538319,#637538323,
#637538327,#637538331,#637538335,#637538339,#637538343,#637538347,
#637538351,#637538355));
#637538253= NODE('1',(#637538255),#637538257,#637538282);
#637538255= CARTESIAN_POINT('1',(0.,-2.,1.));
#637538257=
/* GEOMETRIC_REPRESENTATION_CONTEXT+GLOBAL_UNIT_ASSIGNED_CONTEXT */(
GEOMETRIC_REPRESENTATION_CONTEXT(3)GLOBAL_UNIT_ASSIGNED_CONTEXT((
#637538260,#637538268,#637538271,#637538265,#637538263,#637538274,
#637538275,#637538278,#637538281,#637538267))REPRESENTATION_CONTEXT(
'CORD2R.1','3d'));
#637538260= SI_ENERGY_UNIT((#637538262,#637538264,#637538266),*,$,
.JOULE.);
#637538262= DERIVED_UNIT_ELEMENT(#637538263,1.);
#637538263= /* MASS_UNIT+SI_UNIT */(MASS_UNIT()NAMED_UNIT(*)SI_UNIT(
.KILO.,.GRAM.));
#637538264= DERIVED_UNIT_ELEMENT(#637538265,2.);
#637538265= /* LENGTH_UNIT+SI_UNIT */(LENGTH_UNIT()NAMED_UNIT(*)SI_UNIT(
$,.METRE.));
#637538266= DERIVED_UNIT_ELEMENT(#637538267,-2.);
#637538267= /* SI_UNIT+TIME_UNIT */(NAMED_UNIT(*)SI_UNIT($,.SECOND.)
TIME_UNIT());
#637538268= SI_FORCE_UNIT((#637538262,#637538270,#637538266),*,$,
.NEWTON.);
#637538270= DERIVED_UNIT_ELEMENT(#637538265,1.);
#637538271= SI_FREQUENCY_UNIT((#637538273),*,$,.HERTZ.);
#637538273= DERIVED_UNIT_ELEMENT(#637538267,-1.);
#637538274= /* PLANE_ANGLE_UNIT+SI_UNIT */(NAMED_UNIT(*)PLANE_ANGLE_UNIT
()SI_UNIT($,.RADIAN.));
#637538275= SI_POWER_UNIT((#637538262,#637538264,#637538277),*,$,.WATT.
);
#637538277= DERIVED_UNIT_ELEMENT(#637538267,-3.);
#637538278= SI_PRESSURE_UNIT((#637538262,#637538280,#637538266),*,$,
.PASCAL.);
#637538280= DERIVED_UNIT_ELEMENT(#637538265,-1.);
#637538281= /* SI_UNIT+THERMODYNAMIC_TEMPERATURE_UNIT */(NAMED_UNIT(*)
SI_UNIT($,.DEGREE_CELSIUS.)THERMODYNAMIC_TEMPERATURE_UNIT());
#637538282= FEA_MODEL_3D('Identification',(#637538284),#637538291,
'NASTRAN BDF Converter v0.0.0',('NASTRAN'),'AnalysisModelType');
#637538284= FEA_AXIS2_PLACEMENT_3D('0',#637538285,#637538287,#637538289,
.CARTESIAN.,'FEA_BASIC_COORD_SYSTEM.0');
#637538285= CARTESIAN_POINT('',(0.,0.,0.));
#637538287= DIRECTION('AxisZ',(0.,0.,1.));
#637538289= DIRECTION('RefX',(1.,0.,0.));
#637538291=
/* GEOMETRIC_REPRESENTATION_CONTEXT+GLOBAL_UNIT_ASSIGNED_CONTEXT */(
GEOMETRIC_REPRESENTATION_CONTEXT(3)GLOBAL_UNIT_ASSIGNED_CONTEXT((
#637538260,#637538268,#637538271,#637538265,#637538263,#637538274,
#637538275,#637538278,#637538281,#637538267))REPRESENTATION_CONTEXT(
'FEA_BASIC_COORD_SYSTEM.0','3d'));
#637538295= NODE('2',(#637538297),#637538257,#637538282);
#637538297= CARTESIAN_POINT('2',(1.,-2.,1.));
#637538299= NODE('3',(#637538301),#637538257,#637538282);
#637538301= CARTESIAN_POINT('3',(2.,-2.,1.));
#637538303= NODE('4',(#637538305),#637538257,#637538282);
#637538305= CARTESIAN_POINT('4',(3.,-2.,1.));
#637538307= NODE('5',(#637538309),#637538257,#637538282);
#637538309= CARTESIAN_POINT('5',(4.,-2.,1.));
#637538311= NODE('6',(#637538313),#637538257,#637538282);
#637538313= CARTESIAN_POINT('6',(5.,-2.,1.));
#637538315= NODE('7',(#637538317),#637538257,#637538282);
#637538317= CARTESIAN_POINT('7',(6.,-2.,1.));
#637538319= NODE('8',(#637538321),#637538257,#637538282);
#637538321= CARTESIAN_POINT('8',(7.,-2.,1.));
#637538323= NODE('9',(#637538325),#637538257,#637538282);
#637538325= CARTESIAN_POINT('9',(8.,-2.,1.));
#637538327= NODE('10',(#637538329),#637538257,#637538282);
#637538329= CARTESIAN_POINT('10',(9.,-2.,1.));
#637538331= NODE('11',(#637538333),#637538257,#637538282);
#637538333= CARTESIAN_POINT('11',(10.,-2.,1.));
#637538335= NODE('12',(#637538337),#637538257,#637538282);
#637538337= CARTESIAN_POINT('12',(11.,-2.,1.));
#637538339= NODE('13',(#637538341),#637538257,#637538282);
#637538341= CARTESIAN_POINT('13',(12.,-2.,1.));
#637538343= NODE('14',(#637538345),#637538257,#637538282);
#637538345= CARTESIAN_POINT('14',(13.,-2.,1.));
#637538347= NODE('15',(#637538349),#637538257,#637538282);
#637538349= CARTESIAN_POINT('15',(14.,-2.,1.));
#637538351= NODE('16',(#637538353),#637538257,#637538282);
#637538353= CARTESIAN_POINT('16',(15.,-2.,1.));
#637538355= NODE('17',(#637538357),#637538257,#637538282);
#637538357= CARTESIAN_POINT('17',(16.,-2.,1.));
#637538359= FEA_AXIS2_PLACEMENT_3D('1',#637538360,#637538362,#637538364,
.CARTESIAN.,'CORD2R.1');
#637538360= CARTESIAN_POINT('',(0.,0.,0.));
#637538362= DIRECTION('AxisZ',(0.,0.,1.));
#637538364= DIRECTION('RefX',(1.,0.,0.));
#637538366= FEA_MODEL_DEFINITION('fea_model_definition_id_1',$,
#637538247,.U.);
#637538367= STRUCTURAL_RESPONSE_PROPERTY(
'structural_response_property_id_1',$,#637538366);
#637538368= STRUCTURAL_RESPONSE_PROPERTY_DEFINITION_REPRESENTATION(
#637538367,#637538282);
#637538369= NAME_ATTRIBUTE('',#637538239);
#637538370= APPLIED_CLASSIFICATION_ASSIGNMENT(#637538371,#637538372,(
#637538239));
#637538371= GROUP('default-gpvv-type',$);
#637538372= CLASSIFICATION_ROLE('view_type',$);
#637538374= APPLIED_IDENTIFICATION_ASSIGNMENT('default-id.0',#637538375,
(#637538240,#637538239,#637538241));
#637538375= IDENTIFICATION_ROLE('default-role',$);
#637538377= APPLIED_ORGANIZATION_ASSIGNMENT(#637538378,#637538379,(
#637538374));
#637538378= ORGANIZATION($,'default-organization',$);
#637538379= ORGANIZATION_ROLE('id context');
#637538381= APPLIED_CLASSIFICATION_ASSIGNMENT(#637538382,#637538383,(
#637538374));
#637538382= GROUP('id',$);
#637538383= CLASSIFICATION_ROLE('',$);
#637538385= APPLICATION_PROTOCOL_DEFINITION('status',
'ap203_configuration_controlled_3d_design_of_mechanical_parts_and_assemblies'
,2011,#637538235);
#637538386= DESCRIPTION_ATTRIBUTE('SimDM',#637538235);
#637538387= ID_ATTRIBUTE('SimDM',#637538235);
#637538388= DIMENSIONAL_EXPONENTS(0.,0.,0.,0.,0.,0.,0.);
#637538389= PRODUCT_RELATED_PRODUCT_CATEGORY('document',$,());
#637538391= PRODUCT_RELATED_PRODUCT_CATEGORY('product',$,(#637538241));
#637538393= DESCRIPTION_ATTRIBUTE('',#637538245);
#637538394= CARTESIAN_POINT('0',(0.,0.,0.));
#637538396= DUMMY_NODE('0',(#637538394),#637538291,#637538282);
#637538398= ITEM_DEFINED_TRANSFORMATION('','',#637538284,#637538359);
#637538399= REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION('','',
#637538282,#637538249,#637538398);
#637538400= ELEMENT_MATERIAL('MAT1.1','Fea Material',(#637538402,
#637538417,#637538422));
#637538402= FEA_MATERIAL_PROPERTY_REPRESENTATION(#637538403,#637538405,
#637538409);
#637538403= MATERIAL_PROPERTY('MAT1.1.0',$,#637538404);
#637538404= CHARACTERIZED_OBJECT('material_property',$);
#637538405= REPRESENTATION('representation_id_2',(#637538407),#637538291
);
#637538407= FEA_LINEAR_ELASTICITY('',FEA_ISOTROPIC_SYMMETRIC_TENSOR4_3D(
(10000000.,0.33)));
#637538409= DATA_ENVIRONMENT('DATA_ENV','Property_conditions',(
#637538411));
#637538411= PROPERTY_DEFINITION_REPRESENTATION(#637538412,#637538414);
#637538412= PROPERTY_DEFINITION('Material Property Definition',$,
#637538413);
#637538413= CHARACTERIZED_OBJECT('property',$);
#637538414= REPRESENTATION('representation_id_1',(#637538416),#637538291
);
#637538416= MEASURE_REPRESENTATION_ITEM('representation_item_name_1',
CONTEXT_DEPENDENT_MEASURE(70.),#637538281);
#637538417= FEA_MATERIAL_PROPERTY_REPRESENTATION(#637538418,#637538419,
#637538409);
#637538418= MATERIAL_PROPERTY('MAT1.1.1',$,#637538404);
#637538419= REPRESENTATION('representation_id_3',(#637538421),#637538291
);
#637538421= FEA_MASS_DENSITY('',0.000254);
#637538422= FEA_MATERIAL_PROPERTY_REPRESENTATION(#637538423,#637538424,
#637538409);
#637538423= MATERIAL_PROPERTY('MAT1.1.2',$,#637538404);
#637538424= REPRESENTATION('representation_id_4',(#637538426),#637538291
);
#637538426= FEA_TANGENTIAL_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION('',
ISOTROPIC_SYMMETRIC_TENSOR2_3D(0.));
#637538427= CURVE_3D_ELEMENT_REPRESENTATION('16',(#637538429,#637538433)
,#637538435,(#637538351,#637538355),#637538282,#637538439,#637538445,
#637538400);
#637538429= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538430
);
#637538430= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538431);
#637538431= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538433= FEA_PARAMETRIC_POINT('',(1.,0.,0.));
#637538435= PARAMETRIC_REPRESENTATION_CONTEXT(
'parametric_representation_context','parametric');
#637538439= CURVE_3D_ELEMENT_DESCRIPTOR(.LINEAR.,'LINEAR_CURVE.CBAR*',((
ENUMERATED_CURVE_ELEMENT_PURPOSE(.AXIAL.)),(
ENUMERATED_CURVE_ELEMENT_PURPOSE(.Y_Y_BENDING.),
ENUMERATED_CURVE_ELEMENT_PURPOSE(.Z_Z_BENDING.)),(
ENUMERATED_CURVE_ELEMENT_PURPOSE(.TORSION.)),(
ENUMERATED_CURVE_ELEMENT_PURPOSE(.X_Y_SHEAR.),
ENUMERATED_CURVE_ELEMENT_PURPOSE(.X_Z_SHEAR.))));
#637538445= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.16','',(#637538447),(
#637538458,#637538460),(#637538463,#637538470));
#637538447= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538448,#637538449,
#637538451);
#637538448= CURVE_ELEMENT_LOCATION(#637538433);
#637538449= EULER_ANGLES((0.,0.,0.));
#637538451= CURVE_ELEMENT_SECTION_DERIVED_DEFINITIONS('PBAR.1_0',0.,8.,(
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)),(2.667,
10.667,0.),0.,CONTEXT_DEPENDENT_MEASURE(0.),(CONTEXT_DEPENDENT_MEASURE(
0.),CONTEXT_DEPENDENT_MEASURE(0.)),(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)),(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.));
#637538458= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538460= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538463= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538465= CURVE_ELEMENT_END_RELEASE_PACKET(
ENUMERATED_CURVE_ELEMENT_FREEDOM(.X_TRANSLATION.),0.);
#637538466= CURVE_ELEMENT_END_RELEASE_PACKET(
ENUMERATED_CURVE_ELEMENT_FREEDOM(.Y_TRANSLATION.),0.);
#637538467= CURVE_ELEMENT_END_RELEASE_PACKET(
ENUMERATED_CURVE_ELEMENT_FREEDOM(.Z_TRANSLATION.),0.);
#637538468= CURVE_ELEMENT_END_RELEASE_PACKET(
ENUMERATED_CURVE_ELEMENT_FREEDOM(.X_ROTATION.),0.);
#637538469= CURVE_ELEMENT_END_RELEASE_PACKET(
ENUMERATED_CURVE_ELEMENT_FREEDOM(.Z_ROTATION.),0.);
#637538470= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538472= CURVE_3D_ELEMENT_REPRESENTATION('15',(#637538474,#637538433)
,#637538435,(#637538347,#637538351),#637538282,#637538439,#637538479,
#637538400);
#637538474= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538475
);
#637538475= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538476);
#637538476= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538479= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.15','',(#637538481),(
#637538486,#637538488),(#637538491,#637538493));
#637538481= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538482,#637538483,
#637538451);
#637538482= CURVE_ELEMENT_LOCATION(#637538433);
#637538483= EULER_ANGLES((0.,0.,0.));
#637538486= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538488= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538491= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538493= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538495= CURVE_3D_ELEMENT_REPRESENTATION('14',(#637538497,#637538433)
,#637538435,(#637538343,#637538347),#637538282,#637538439,#637538502,
#637538400);
#637538497= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538498
);
#637538498= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538499);
#637538499= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538502= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.14','',(#637538504),(
#637538509,#637538511),(#637538514,#637538516));
#637538504= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538505,#637538506,
#637538451);
#637538505= CURVE_ELEMENT_LOCATION(#637538433);
#637538506= EULER_ANGLES((0.,0.,0.));
#637538509= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538511= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538514= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538516= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538518= CURVE_3D_ELEMENT_REPRESENTATION('13',(#637538520,#637538433)
,#637538435,(#637538339,#637538343),#637538282,#637538439,#637538525,
#637538400);
#637538520= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538521
);
#637538521= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538522);
#637538522= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538525= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.13','',(#637538527),(
#637538532,#637538534),(#637538537,#637538539));
#637538527= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538528,#637538529,
#637538451);
#637538528= CURVE_ELEMENT_LOCATION(#637538433);
#637538529= EULER_ANGLES((0.,0.,0.));
#637538532= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538534= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538537= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538539= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538541= CURVE_3D_ELEMENT_REPRESENTATION('12',(#637538543,#637538433)
,#637538435,(#637538335,#637538339),#637538282,#637538439,#637538548,
#637538400);
#637538543= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538544
);
#637538544= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538545);
#637538545= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538548= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.12','',(#637538550),(
#637538555,#637538557),(#637538560,#637538562));
#637538550= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538551,#637538552,
#637538451);
#637538551= CURVE_ELEMENT_LOCATION(#637538433);
#637538552= EULER_ANGLES((0.,0.,0.));
#637538555= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538557= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538560= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538562= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538564= CURVE_3D_ELEMENT_REPRESENTATION('11',(#637538566,#637538433)
,#637538435,(#637538331,#637538335),#637538282,#637538439,#637538571,
#637538400);
#637538566= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538567
);
#637538567= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538568);
#637538568= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538571= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.11','',(#637538573),(
#637538578,#637538580),(#637538583,#637538585));
#637538573= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538574,#637538575,
#637538451);
#637538574= CURVE_ELEMENT_LOCATION(#637538433);
#637538575= EULER_ANGLES((0.,0.,0.));
#637538578= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538580= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538583= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538585= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538587= CURVE_3D_ELEMENT_REPRESENTATION('10',(#637538589,#637538433)
,#637538435,(#637538327,#637538331),#637538282,#637538439,#637538594,
#637538400);
#637538589= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538590
);
#637538590= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538591);
#637538591= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538594= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.10','',(#637538596),(
#637538601,#637538603),(#637538606,#637538608));
#637538596= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538597,#637538598,
#637538451);
#637538597= CURVE_ELEMENT_LOCATION(#637538433);
#637538598= EULER_ANGLES((0.,0.,0.));
#637538601= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538603= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538606= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538608= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538610= CURVE_3D_ELEMENT_REPRESENTATION('9',(#637538612,#637538433),
#637538435,(#637538323,#637538327),#637538282,#637538439,#637538617,
#637538400);
#637538612= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538613
);
#637538613= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538614);
#637538614= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538617= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.9','',(#637538619),(
#637538624,#637538626),(#637538629,#637538631));
#637538619= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538620,#637538621,
#637538451);
#637538620= CURVE_ELEMENT_LOCATION(#637538433);
#637538621= EULER_ANGLES((0.,0.,0.));
#637538624= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538626= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538629= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538631= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538633= CURVE_3D_ELEMENT_REPRESENTATION('8',(#637538635,#637538433),
#637538435,(#637538319,#637538323),#637538282,#637538439,#637538640,
#637538400);
#637538635= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538636
);
#637538636= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538637);
#637538637= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538640= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.8','',(#637538642),(
#637538647,#637538649),(#637538652,#637538654));
#637538642= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538643,#637538644,
#637538451);
#637538643= CURVE_ELEMENT_LOCATION(#637538433);
#637538644= EULER_ANGLES((0.,0.,0.));
#637538647= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538649= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538652= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538654= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538656= CURVE_3D_ELEMENT_REPRESENTATION('7',(#637538658,#637538433),
#637538435,(#637538315,#637538319),#637538282,#637538439,#637538663,
#637538400);
#637538658= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538659
);
#637538659= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538660);
#637538660= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538663= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.7','',(#637538665),(
#637538670,#637538672),(#637538675,#637538677));
#637538665= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538666,#637538667,
#637538451);
#637538666= CURVE_ELEMENT_LOCATION(#637538433);
#637538667= EULER_ANGLES((0.,0.,0.));
#637538670= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538672= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538675= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538677= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538679= CURVE_3D_ELEMENT_REPRESENTATION('6',(#637538681,#637538433),
#637538435,(#637538311,#637538315),#637538282,#637538439,#637538686,
#637538400);
#637538681= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538682
);
#637538682= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538683);
#637538683= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538686= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.6','',(#637538688),(
#637538693,#637538695),(#637538698,#637538700));
#637538688= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538689,#637538690,
#637538451);
#637538689= CURVE_ELEMENT_LOCATION(#637538433);
#637538690= EULER_ANGLES((0.,0.,0.));
#637538693= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538695= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538698= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538700= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538702= CURVE_3D_ELEMENT_REPRESENTATION('5',(#637538704,#637538433),
#637538435,(#637538307,#637538311),#637538282,#637538439,#637538709,
#637538400);
#637538704= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538705
);
#637538705= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538706);
#637538706= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538709= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.5','',(#637538711),(
#637538716,#637538718),(#637538721,#637538723));
#637538711= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538712,#637538713,
#637538451);
#637538712= CURVE_ELEMENT_LOCATION(#637538433);
#637538713= EULER_ANGLES((0.,0.,0.));
#637538716= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538718= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538721= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538723= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538725= CURVE_3D_ELEMENT_REPRESENTATION('4',(#637538727,#637538433),
#637538435,(#637538303,#637538307),#637538282,#637538439,#637538732,
#637538400);
#637538727= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538728
);
#637538728= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538729);
#637538729= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538732= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.4','',(#637538734),(
#637538739,#637538741),(#637538744,#637538746));
#637538734= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538735,#637538736,
#637538451);
#637538735= CURVE_ELEMENT_LOCATION(#637538433);
#637538736= EULER_ANGLES((0.,0.,0.));
#637538739= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538741= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538744= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538746= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538748= CURVE_3D_ELEMENT_REPRESENTATION('3',(#637538750,#637538433),
#637538435,(#637538299,#637538303),#637538282,#637538439,#637538755,
#637538400);
#637538750= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538751
);
#637538751= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538752);
#637538752= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538755= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.3','',(#637538757),(
#637538762,#637538764),(#637538767,#637538769));
#637538757= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538758,#637538759,
#637538451);
#637538758= CURVE_ELEMENT_LOCATION(#637538433);
#637538759= EULER_ANGLES((0.,0.,0.));
#637538762= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538764= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538767= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538769= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538771= CURVE_3D_ELEMENT_REPRESENTATION('2',(#637538773,#637538433),
#637538435,(#637538295,#637538299),#637538282,#637538439,#637538778,
#637538400);
#637538773= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538774
);
#637538774= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538775);
#637538775= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538778= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.2','',(#637538780),(
#637538785,#637538787),(#637538790,#637538792));
#637538780= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538781,#637538782,
#637538451);
#637538781= CURVE_ELEMENT_LOCATION(#637538433);
#637538782= EULER_ANGLES((0.,0.,0.));
#637538785= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538787= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538790= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538792= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538794= CURVE_3D_ELEMENT_REPRESENTATION('1',(#637538796,#637538433),
#637538435,(#637538253,#637538295),#637538282,#637538439,#637538801,
#637538400);
#637538796= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538797
);
#637538797= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538798);
#637538798= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538801= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.1','',(#637538803),(
#637538808,#637538810),(#637538813,#637538815));
#637538803= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538804,#637538805,
#637538451);
#637538804= CURVE_ELEMENT_LOCATION(#637538433);
#637538805= EULER_ANGLES((0.,0.,0.));
#637538808= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538810= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538813= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538815= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538817= ID_ATTRIBUTE('MAT1.1',#637538412);
#637538818= DESCRIPTION_ATTRIBUTE('Elasticity',#637538402);
#637538819= DESCRIPTION_ATTRIBUTE('MassDensity',#637538417);
#637538820= DESCRIPTION_ATTRIBUTE('TangentCTE',#637538422);
#637538821= CONTROL(#637538282,'Control.0','FemConvert',
'MSC.NASTRAN JOB CREATED ON 10-JUL-00 AT 06:54:00',('<SOL>101</SOL>',
'TIME 600','CEND','<GLOBALCASE>0</GLOBALCASE>','<SUBCASE>1</SUBCASE>',
'ENDDATA 07CFC18D'),('NASTRAN'));
#637538824= CONTROL_LINEAR_STATIC_ANALYSIS_STEP(#637538821,
'STATIC STEP 1',1,#637538825,'',#637538826);
#637538825= SPECIFIED_STATE('STEP DEFAULT','default_initial_state');
#637538826= CONTROL_LINEAR_STATIC_LOAD_INCREMENT_PROCESS('STATIC STEP 1'
,'',#637538827);
#637538827= SPECIFIED_STATE('Step 1 Base Specified State',
'Relating Specified State');
#637538828= OUTPUT_REQUEST_STATE('Step 1 Output Request State','',(
#637538824));
#637538830= NODAL_FREEDOM_VALUES(#637538828,#637538831,#637538284,
#637538833,(UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.)));
#637538831= NODE_GROUP('','ALL',#637538282,(#637538253,#637538295,
#637538299,#637538303,#637538307,#637538311,#637538315,#637538319,
#637538323,#637538327,#637538331,#637538335,#637538339,#637538343,
#637538347,#637538351,#637538355));
#637538833= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.X_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(
.Y_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(.Z_ROTATION.)));
#637538836= SINGLE_POINT_CONSTRAINT_ELEMENT('SPC1_1.0',(#637538824),
#637538253,#637538284,(#637538839,#637538840,#637538841,#637538842,
#637538843,#637538844),'');
#637538839= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.X_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538840= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.Y_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538841= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.Z_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538842= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.X_ROTATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538843= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.Y_ROTATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538844= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.Z_ROTATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538845= SINGLE_POINT_CONSTRAINT_ELEMENT_VALUES(#637538846,#637538836
,#637538847,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)
,CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538846= SPECIFIED_STATE('SPCVALSTATE_1_2','');
#637538847= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.X_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(
.Y_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(.Z_ROTATION.)));
#637538850= SPECIFIED_STATE('SPCCASE_2_2_1','Aggregator SPC 2 Step 1');
#637538851= STATE_RELATIONSHIP(
'SPCCASE_2_2_1 is related to Step 1 Base Specified State','',#637538827,
#637538850);
#637538852= STATE_RELATIONSHIP(
'SPCVALSTATE_1_2 is related to SPCCASE_2_2_1','',#637538850,#637538846);
#637538853= LINEARLY_SUPERIMPOSED_STATE('LOADSTATECOMBINATION_2',
'Overall Factor Combined State');
#637538855= STATE_RELATIONSHIP(
'LOADSTATECOMBINATION_2 is related to Step 1 Base Specified State','',
#637538827,#637538853);
#637538856= STATE_COMPONENT('OverallComp','',#637538853,1.);
#637538858= STATE_RELATIONSHIP(
'LOADSTATEITEM_4 is related to OverallComp','',#637538856,#637538859);
#637538859= LINEARLY_SUPERIMPOSED_STATE('LOADSTATEITEM_4',
'Item Factor State');
#637538860= STATE_RELATIONSHIP(
'LOADSTATEITEM_3 is related to OverallComp','',#637538856,#637538861);
#637538861= LINEARLY_SUPERIMPOSED_STATE('LOADSTATEITEM_3',
'Item Factor State');
#637538862= STATE_RELATIONSHIP(
'LOADSTATEITEM_1 is related to OverallComp','',#637538856,#637538863);
#637538863= LINEARLY_SUPERIMPOSED_STATE('LOADSTATEITEM_1',
'Item Factor State');
#637538864= SPECIFIED_STATE('LOADSTATECORE_1',
'Core Loads Specified State');
#637538865= STATE_RELATIONSHIP(
'LOADSTATECORE_1 is related to ItemComp_2_1','',#637538866,#637538864);
#637538866= STATE_COMPONENT('ItemComp_2_1','',#637538863,1.);
#637538868= NODAL_FREEDOM_ACTION_DEFINITION(#637538864,#637538355,
#637538284,#637538869,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-1010.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538869= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.)));
#637538872= SPECIFIED_STATE('LOADSTATECORE_3',
'Core Loads Specified State');
#637538873= STATE_RELATIONSHIP(
'LOADSTATECORE_3 is related to ItemComp_2_3','',#637538874,#637538872);
#637538874= STATE_COMPONENT('ItemComp_2_3','',#637538861,1.);
#637538876= NODAL_FREEDOM_ACTION_DEFINITION(#637538872,#637538331,
#637538284,#637538869,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-10.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538878= SPECIFIED_STATE('LOADSTATECORE_4',
'Core Loads Specified State');
#637538879= STATE_RELATIONSHIP(
'LOADSTATECORE_4 is related to ItemComp_2_4','',#637538880,#637538878);
#637538880= STATE_COMPONENT('ItemComp_2_4','',#637538859,1.);
#637538882= NODAL_FREEDOM_ACTION_DEFINITION(#637538878,#637538351,
#637538284,#637538869,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538884= NODAL_FREEDOM_ACTION_DEFINITION(#637538878,#637538347,
#637538284,#637538869,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538886= NODAL_FREEDOM_ACTION_DEFINITION(#637538878,#637538343,
#637538284,#637538869,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538888= NODAL_FREEDOM_ACTION_DEFINITION(#637538878,#637538339,
#637538284,#637538869,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538890= NODAL_FREEDOM_ACTION_DEFINITION(#637538878,#637538335,
#637538284,#637538869,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538892= ID_ATTRIBUTE('ALL',#637538831);
ENDSEC;
END-ISO-10303-21;
-705
View File
@@ -1,705 +0,0 @@
ISO-10303-21;
HEADER;
/******************************************************************************************
* STEP Physical File produced by: The EXPRESS Data Manager Version 5.01.0100.b04 : 12 Apr 2012
* Module: EDMstepFileFactory/EDMstandAlone
* Creation date: Tue Jun 05 10:29:56 2012
* Host: AER4WA926171Z
* Database: C:\Documents and Settings\johnsjc2\Desktop\AP209\SimDM2010\DevCM\db\d
* Database version: 5207
* Database creation date: Wed Apr 18 15:33:55 2012
* Schema: AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF
* Model: DataRepository.FemTest
* Model creation date: Tue Jun 05 10:29:56 2012
* Header model:
* EDMuser: superuser
* EDMgroup:
* License ID and type: 5565 : Project license. Expiry date: 31 Dec 2012
* EDMstepFileFactory options: 010000000
******************************************************************************************/
FILE_DESCRIPTION((''),'2;1');
FILE_NAME(
'C:\\Documents and Settings\\johnsjc2\\Desktop\\AP209\\SimDM2010\\DevCM\\db\\d.DataRepository.FemTest'
,
'2012-06-05T10:29:56',
('ANONYMOUS USER'),
('ANONYMOUS ORGANISATION'),
'The EXPRESS Data Manager Version 5.01.0100.b04 : 12 Apr 2012',
'',
'');
FILE_SCHEMA(('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF'));
ENDSEC;
DATA;
#637538233= APPLICATION_CONTEXT('SimDM');
#637538235= PRODUCT_DEFINITION_CONTEXT('assembly definition',#637538233,
'life cycle stage');
#637538237= PRODUCT_DEFINITION('default-id.0',$,#637538238,#637538242);
#637538238= PRODUCT_DEFINITION_FORMATION('default-id.0','',#637538239);
#637538239= PRODUCT('default-id.0','default-fea-part','',(#637538241));
#637538241= PRODUCT_CONTEXT('design_context',#637538233,'design_context'
);
#637538242= PRODUCT_DEFINITION_CONTEXT(
'product_definition_context_name_1',#637538243,'ANALYSIS-STAGE');
#637538243= APPLICATION_CONTEXT('FEA-ANALYSIS-DOMAIN');
#637538245= PRODUCT_DEFINITION_SHAPE('name',$,#637538237);
#637538246= SHAPE_DEFINITION_REPRESENTATION(#637538245,#637538247);
#637538247= POINT_REPRESENTATION('point_representation_name_1',(
#637538249,#637538357),#637538255);
#637538249= NODE_SET('node_set_name_1',(#637538251,#637538293,#637538297
,#637538301,#637538305,#637538309,#637538313,#637538317,#637538321,
#637538325,#637538329,#637538333,#637538337,#637538341,#637538345,
#637538349,#637538353));
#637538251= NODE('1',(#637538253),#637538255,#637538280);
#637538253= CARTESIAN_POINT('1',(0.,-2.,1.));
#637538255=
/* GEOMETRIC_REPRESENTATION_CONTEXT+GLOBAL_UNIT_ASSIGNED_CONTEXT */(
GEOMETRIC_REPRESENTATION_CONTEXT(3)GLOBAL_UNIT_ASSIGNED_CONTEXT((
#637538258,#637538266,#637538269,#637538263,#637538261,#637538272,
#637538273,#637538276,#637538279,#637538265))REPRESENTATION_CONTEXT(
'CORD2R.1','3d'));
#637538258= SI_ENERGY_UNIT((#637538260,#637538262,#637538264),*,$,
.JOULE.);
#637538260= DERIVED_UNIT_ELEMENT(#637538261,1.);
#637538261= /* MASS_UNIT+SI_UNIT */(MASS_UNIT()NAMED_UNIT(*)SI_UNIT(
.KILO.,.GRAM.));
#637538262= DERIVED_UNIT_ELEMENT(#637538263,2.);
#637538263= /* LENGTH_UNIT+SI_UNIT */(LENGTH_UNIT()NAMED_UNIT(*)SI_UNIT(
$,.METRE.));
#637538264= DERIVED_UNIT_ELEMENT(#637538265,-2.);
#637538265= /* SI_UNIT+TIME_UNIT */(NAMED_UNIT(*)SI_UNIT($,.SECOND.)
TIME_UNIT());
#637538266= SI_FORCE_UNIT((#637538260,#637538268,#637538264),*,$,
.NEWTON.);
#637538268= DERIVED_UNIT_ELEMENT(#637538263,1.);
#637538269= SI_FREQUENCY_UNIT((#637538271),*,$,.HERTZ.);
#637538271= DERIVED_UNIT_ELEMENT(#637538265,-1.);
#637538272= /* PLANE_ANGLE_UNIT+SI_UNIT */(NAMED_UNIT(*)PLANE_ANGLE_UNIT
()SI_UNIT($,.RADIAN.));
#637538273= SI_POWER_UNIT((#637538260,#637538262,#637538275),*,$,.WATT.
);
#637538275= DERIVED_UNIT_ELEMENT(#637538265,-3.);
#637538276= SI_PRESSURE_UNIT((#637538260,#637538278,#637538264),*,$,
.PASCAL.);
#637538278= DERIVED_UNIT_ELEMENT(#637538263,-1.);
#637538279= /* SI_UNIT+THERMODYNAMIC_TEMPERATURE_UNIT */(NAMED_UNIT(*)
SI_UNIT($,.DEGREE_CELSIUS.)THERMODYNAMIC_TEMPERATURE_UNIT());
#637538280= FEA_MODEL_3D('Identification',(#637538282),#637538289,
'NASTRAN BDF Converter v0.0.0',('NASTRAN'),'AnalysisModelType');
#637538282= FEA_AXIS2_PLACEMENT_3D('0',#637538283,#637538285,#637538287,
.CARTESIAN.,'FEA_BASIC_COORD_SYSTEM.0');
#637538283= CARTESIAN_POINT('',(0.,0.,0.));
#637538285= DIRECTION('AxisZ',(0.,0.,1.));
#637538287= DIRECTION('RefX',(1.,0.,0.));
#637538289=
/* GEOMETRIC_REPRESENTATION_CONTEXT+GLOBAL_UNIT_ASSIGNED_CONTEXT */(
GEOMETRIC_REPRESENTATION_CONTEXT(3)GLOBAL_UNIT_ASSIGNED_CONTEXT((
#637538258,#637538266,#637538269,#637538263,#637538261,#637538272,
#637538273,#637538276,#637538279,#637538265))REPRESENTATION_CONTEXT(
'FEA_BASIC_COORD_SYSTEM.0','3d'));
#637538293= NODE('2',(#637538295),#637538255,#637538280);
#637538295= CARTESIAN_POINT('2',(1.,-2.,1.));
#637538297= NODE('3',(#637538299),#637538255,#637538280);
#637538299= CARTESIAN_POINT('3',(2.,-2.,1.));
#637538301= NODE('4',(#637538303),#637538255,#637538280);
#637538303= CARTESIAN_POINT('4',(3.,-2.,1.));
#637538305= NODE('5',(#637538307),#637538255,#637538280);
#637538307= CARTESIAN_POINT('5',(4.,-2.,1.));
#637538309= NODE('6',(#637538311),#637538255,#637538280);
#637538311= CARTESIAN_POINT('6',(5.,-2.,1.));
#637538313= NODE('7',(#637538315),#637538255,#637538280);
#637538315= CARTESIAN_POINT('7',(6.,-2.,1.));
#637538317= NODE('8',(#637538319),#637538255,#637538280);
#637538319= CARTESIAN_POINT('8',(7.,-2.,1.));
#637538321= NODE('9',(#637538323),#637538255,#637538280);
#637538323= CARTESIAN_POINT('9',(8.,-2.,1.));
#637538325= NODE('10',(#637538327),#637538255,#637538280);
#637538327= CARTESIAN_POINT('10',(9.,-2.,1.));
#637538329= NODE('11',(#637538331),#637538255,#637538280);
#637538331= CARTESIAN_POINT('11',(10.,-2.,1.));
#637538333= NODE('12',(#637538335),#637538255,#637538280);
#637538335= CARTESIAN_POINT('12',(11.,-2.,1.));
#637538337= NODE('13',(#637538339),#637538255,#637538280);
#637538339= CARTESIAN_POINT('13',(12.,-2.,1.));
#637538341= NODE('14',(#637538343),#637538255,#637538280);
#637538343= CARTESIAN_POINT('14',(13.,-2.,1.));
#637538345= NODE('15',(#637538347),#637538255,#637538280);
#637538347= CARTESIAN_POINT('15',(14.,-2.,1.));
#637538349= NODE('16',(#637538351),#637538255,#637538280);
#637538351= CARTESIAN_POINT('16',(15.,-2.,1.));
#637538353= NODE('17',(#637538355),#637538255,#637538280);
#637538355= CARTESIAN_POINT('17',(16.,-2.,1.));
#637538357= FEA_AXIS2_PLACEMENT_3D('1',#637538358,#637538360,#637538362,
.CARTESIAN.,'CORD2R.1');
#637538358= CARTESIAN_POINT('',(0.,0.,0.));
#637538360= DIRECTION('AxisZ',(0.,0.,1.));
#637538362= DIRECTION('RefX',(1.,0.,0.));
#637538364= FEA_MODEL_DEFINITION('fea_model_definition_id_1',$,
#637538245,.U.);
#637538365= STRUCTURAL_RESPONSE_PROPERTY(
'structural_response_property_id_1',$,#637538364);
#637538366= STRUCTURAL_RESPONSE_PROPERTY_DEFINITION_REPRESENTATION(
#637538365,#637538280);
#637538367= NAME_ATTRIBUTE('',#637538237);
#637538368= APPLIED_CLASSIFICATION_ASSIGNMENT(#637538369,#637538370,(
#637538237));
#637538369= GROUP('default-gpvv-type',$);
#637538370= CLASSIFICATION_ROLE('view_type',$);
#637538372= APPLIED_IDENTIFICATION_ASSIGNMENT('default-id.0',#637538373,
(#637538238,#637538237,#637538239));
#637538373= IDENTIFICATION_ROLE('default-role',$);
#637538375= APPLIED_ORGANIZATION_ASSIGNMENT(#637538376,#637538377,(
#637538372));
#637538376= ORGANIZATION($,'default-organization',$);
#637538377= ORGANIZATION_ROLE('id context');
#637538379= APPLIED_CLASSIFICATION_ASSIGNMENT(#637538380,#637538381,(
#637538372));
#637538380= GROUP('id',$);
#637538381= CLASSIFICATION_ROLE('',$);
#637538383= APPLICATION_PROTOCOL_DEFINITION('status',
'ap203_configuration_controlled_3d_design_of_mechanical_parts_and_assemblies'
,2011,#637538233);
#637538384= DESCRIPTION_ATTRIBUTE('SimDM',#637538233);
#637538385= ID_ATTRIBUTE('SimDM',#637538233);
#637538386= DIMENSIONAL_EXPONENTS(0.,0.,0.,0.,0.,0.,0.);
#637538387= PRODUCT_RELATED_PRODUCT_CATEGORY('document',$,());
#637538389= PRODUCT_RELATED_PRODUCT_CATEGORY('product',$,(#637538239));
#637538391= DESCRIPTION_ATTRIBUTE('',#637538243);
#637538392= CARTESIAN_POINT('0',(0.,0.,0.));
#637538394= DUMMY_NODE('0',(#637538392),#637538289,#637538280);
#637538396= ITEM_DEFINED_TRANSFORMATION('','',#637538282,#637538357);
#637538397= REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION('','',
#637538280,#637538247,#637538396);
#637538398= ELEMENT_MATERIAL('MAT1.1','Fea Material',(#637538400,
#637538415,#637538420));
#637538400= FEA_MATERIAL_PROPERTY_REPRESENTATION(#637538401,#637538403,
#637538407);
#637538401= MATERIAL_PROPERTY('MAT1.1.0',$,#637538402);
#637538402= CHARACTERIZED_OBJECT('material_property',$);
#637538403= REPRESENTATION('representation_id_2',(#637538405),#637538289
);
#637538405= FEA_LINEAR_ELASTICITY('',FEA_ISOTROPIC_SYMMETRIC_TENSOR4_3D(
(10000000.,0.33)));
#637538407= DATA_ENVIRONMENT('DATA_ENV','Property_conditions',(
#637538409));
#637538409= PROPERTY_DEFINITION_REPRESENTATION(#637538410,#637538412);
#637538410= PROPERTY_DEFINITION('Material Property Definition',$,
#637538411);
#637538411= CHARACTERIZED_OBJECT('property',$);
#637538412= REPRESENTATION('representation_id_1',(#637538414),#637538289
);
#637538414= MEASURE_REPRESENTATION_ITEM('representation_item_name_1',
CONTEXT_DEPENDENT_MEASURE(70.),#637538279);
#637538415= FEA_MATERIAL_PROPERTY_REPRESENTATION(#637538416,#637538417,
#637538407);
#637538416= MATERIAL_PROPERTY('MAT1.1.1',$,#637538402);
#637538417= REPRESENTATION('representation_id_3',(#637538419),#637538289
);
#637538419= FEA_MASS_DENSITY('',0.000254);
#637538420= FEA_MATERIAL_PROPERTY_REPRESENTATION(#637538421,#637538422,
#637538407);
#637538421= MATERIAL_PROPERTY('MAT1.1.2',$,#637538402);
#637538422= REPRESENTATION('representation_id_4',(#637538424),#637538289
);
#637538424= FEA_TANGENTIAL_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION('',
ISOTROPIC_SYMMETRIC_TENSOR2_3D(0.));
#637538425= CURVE_3D_ELEMENT_REPRESENTATION('16',(#637538427,#637538431)
,#637538433,(#637538349,#637538353),#637538280,#637538437,#637538443,
#637538398);
#637538427= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538428
);
#637538428= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538429);
#637538429= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538431= FEA_PARAMETRIC_POINT('',(1.,0.,0.));
#637538433= PARAMETRIC_REPRESENTATION_CONTEXT(
'parametric_representation_context','parametric');
#637538437= CURVE_3D_ELEMENT_DESCRIPTOR(.LINEAR.,'LINEAR_CURVE.CBAR*',((
ENUMERATED_CURVE_ELEMENT_PURPOSE(.AXIAL.)),(
ENUMERATED_CURVE_ELEMENT_PURPOSE(.Y_Y_BENDING.),
ENUMERATED_CURVE_ELEMENT_PURPOSE(.Z_Z_BENDING.)),(
ENUMERATED_CURVE_ELEMENT_PURPOSE(.TORSION.)),(
ENUMERATED_CURVE_ELEMENT_PURPOSE(.X_Y_SHEAR.),
ENUMERATED_CURVE_ELEMENT_PURPOSE(.X_Z_SHEAR.))));
#637538443= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538445),(
#637538456,#637538458),(#637538461,#637538468));
#637538445= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538446,#637538447,
#637538449);
#637538446= CURVE_ELEMENT_LOCATION(#637538431);
#637538447= EULER_ANGLES((0.,0.,0.));
#637538449= CURVE_ELEMENT_SECTION_DERIVED_DEFINITIONS('PBAR.1',0.,8.,(
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)),(2.667,
10.667,0.),0.,CONTEXT_DEPENDENT_MEASURE(0.),(CONTEXT_DEPENDENT_MEASURE(
0.),CONTEXT_DEPENDENT_MEASURE(0.)),(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)),(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.));
#637538456= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538458= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538461= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538463= CURVE_ELEMENT_END_RELEASE_PACKET(
ENUMERATED_CURVE_ELEMENT_FREEDOM(.X_TRANSLATION.),0.);
#637538464= CURVE_ELEMENT_END_RELEASE_PACKET(
ENUMERATED_CURVE_ELEMENT_FREEDOM(.Y_TRANSLATION.),0.);
#637538465= CURVE_ELEMENT_END_RELEASE_PACKET(
ENUMERATED_CURVE_ELEMENT_FREEDOM(.Z_TRANSLATION.),0.);
#637538466= CURVE_ELEMENT_END_RELEASE_PACKET(
ENUMERATED_CURVE_ELEMENT_FREEDOM(.X_ROTATION.),0.);
#637538467= CURVE_ELEMENT_END_RELEASE_PACKET(
ENUMERATED_CURVE_ELEMENT_FREEDOM(.Z_ROTATION.),0.);
#637538468= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538470= CURVE_3D_ELEMENT_REPRESENTATION('15',(#637538472,#637538431)
,#637538433,(#637538345,#637538349),#637538280,#637538437,#637538477,
#637538398);
#637538472= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538473
);
#637538473= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538474);
#637538474= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538477= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538479),(
#637538484,#637538486),(#637538489,#637538491));
#637538479= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538480,#637538481,
#637538449);
#637538480= CURVE_ELEMENT_LOCATION(#637538431);
#637538481= EULER_ANGLES((0.,0.,0.));
#637538484= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538486= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538489= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538491= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538493= CURVE_3D_ELEMENT_REPRESENTATION('14',(#637538495,#637538431)
,#637538433,(#637538341,#637538345),#637538280,#637538437,#637538500,
#637538398);
#637538495= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538496
);
#637538496= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538497);
#637538497= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538500= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538502),(
#637538507,#637538509),(#637538512,#637538514));
#637538502= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538503,#637538504,
#637538449);
#637538503= CURVE_ELEMENT_LOCATION(#637538431);
#637538504= EULER_ANGLES((0.,0.,0.));
#637538507= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538509= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538512= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538514= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538516= CURVE_3D_ELEMENT_REPRESENTATION('13',(#637538518,#637538431)
,#637538433,(#637538337,#637538341),#637538280,#637538437,#637538523,
#637538398);
#637538518= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538519
);
#637538519= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538520);
#637538520= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538523= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538525),(
#637538530,#637538532),(#637538535,#637538537));
#637538525= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538526,#637538527,
#637538449);
#637538526= CURVE_ELEMENT_LOCATION(#637538431);
#637538527= EULER_ANGLES((0.,0.,0.));
#637538530= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538532= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538535= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538537= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538539= CURVE_3D_ELEMENT_REPRESENTATION('12',(#637538541,#637538431)
,#637538433,(#637538333,#637538337),#637538280,#637538437,#637538546,
#637538398);
#637538541= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538542
);
#637538542= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538543);
#637538543= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538546= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538548),(
#637538553,#637538555),(#637538558,#637538560));
#637538548= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538549,#637538550,
#637538449);
#637538549= CURVE_ELEMENT_LOCATION(#637538431);
#637538550= EULER_ANGLES((0.,0.,0.));
#637538553= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538555= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538558= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538560= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538562= CURVE_3D_ELEMENT_REPRESENTATION('11',(#637538564,#637538431)
,#637538433,(#637538329,#637538333),#637538280,#637538437,#637538569,
#637538398);
#637538564= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538565
);
#637538565= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538566);
#637538566= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538569= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538571),(
#637538576,#637538578),(#637538581,#637538583));
#637538571= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538572,#637538573,
#637538449);
#637538572= CURVE_ELEMENT_LOCATION(#637538431);
#637538573= EULER_ANGLES((0.,0.,0.));
#637538576= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538578= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538581= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538583= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538585= CURVE_3D_ELEMENT_REPRESENTATION('10',(#637538587,#637538431)
,#637538433,(#637538325,#637538329),#637538280,#637538437,#637538592,
#637538398);
#637538587= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538588
);
#637538588= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538589);
#637538589= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538592= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538594),(
#637538599,#637538601),(#637538604,#637538606));
#637538594= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538595,#637538596,
#637538449);
#637538595= CURVE_ELEMENT_LOCATION(#637538431);
#637538596= EULER_ANGLES((0.,0.,0.));
#637538599= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538601= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538604= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538606= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538608= CURVE_3D_ELEMENT_REPRESENTATION('9',(#637538610,#637538431),
#637538433,(#637538321,#637538325),#637538280,#637538437,#637538615,
#637538398);
#637538610= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538611
);
#637538611= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538612);
#637538612= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538615= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538617),(
#637538622,#637538624),(#637538627,#637538629));
#637538617= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538618,#637538619,
#637538449);
#637538618= CURVE_ELEMENT_LOCATION(#637538431);
#637538619= EULER_ANGLES((0.,0.,0.));
#637538622= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538624= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538627= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538629= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538631= CURVE_3D_ELEMENT_REPRESENTATION('8',(#637538633,#637538431),
#637538433,(#637538317,#637538321),#637538280,#637538437,#637538638,
#637538398);
#637538633= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538634
);
#637538634= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538635);
#637538635= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538638= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538640),(
#637538645,#637538647),(#637538650,#637538652));
#637538640= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538641,#637538642,
#637538449);
#637538641= CURVE_ELEMENT_LOCATION(#637538431);
#637538642= EULER_ANGLES((0.,0.,0.));
#637538645= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538647= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538650= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538652= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538654= CURVE_3D_ELEMENT_REPRESENTATION('7',(#637538656,#637538431),
#637538433,(#637538313,#637538317),#637538280,#637538437,#637538661,
#637538398);
#637538656= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538657
);
#637538657= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538658);
#637538658= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538661= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538663),(
#637538668,#637538670),(#637538673,#637538675));
#637538663= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538664,#637538665,
#637538449);
#637538664= CURVE_ELEMENT_LOCATION(#637538431);
#637538665= EULER_ANGLES((0.,0.,0.));
#637538668= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538670= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538673= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538675= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538677= CURVE_3D_ELEMENT_REPRESENTATION('6',(#637538679,#637538431),
#637538433,(#637538309,#637538313),#637538280,#637538437,#637538684,
#637538398);
#637538679= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538680
);
#637538680= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538681);
#637538681= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538684= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538686),(
#637538691,#637538693),(#637538696,#637538698));
#637538686= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538687,#637538688,
#637538449);
#637538687= CURVE_ELEMENT_LOCATION(#637538431);
#637538688= EULER_ANGLES((0.,0.,0.));
#637538691= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538693= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538696= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538698= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538700= CURVE_3D_ELEMENT_REPRESENTATION('5',(#637538702,#637538431),
#637538433,(#637538305,#637538309),#637538280,#637538437,#637538707,
#637538398);
#637538702= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538703
);
#637538703= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538704);
#637538704= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538707= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538709),(
#637538714,#637538716),(#637538719,#637538721));
#637538709= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538710,#637538711,
#637538449);
#637538710= CURVE_ELEMENT_LOCATION(#637538431);
#637538711= EULER_ANGLES((0.,0.,0.));
#637538714= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538716= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538719= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538721= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538723= CURVE_3D_ELEMENT_REPRESENTATION('4',(#637538725,#637538431),
#637538433,(#637538301,#637538305),#637538280,#637538437,#637538730,
#637538398);
#637538725= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538726
);
#637538726= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538727);
#637538727= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538730= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538732),(
#637538737,#637538739),(#637538742,#637538744));
#637538732= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538733,#637538734,
#637538449);
#637538733= CURVE_ELEMENT_LOCATION(#637538431);
#637538734= EULER_ANGLES((0.,0.,0.));
#637538737= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538739= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538742= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538744= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538746= CURVE_3D_ELEMENT_REPRESENTATION('3',(#637538748,#637538431),
#637538433,(#637538297,#637538301),#637538280,#637538437,#637538753,
#637538398);
#637538748= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538749
);
#637538749= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538750);
#637538750= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538753= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538755),(
#637538760,#637538762),(#637538765,#637538767));
#637538755= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538756,#637538757,
#637538449);
#637538756= CURVE_ELEMENT_LOCATION(#637538431);
#637538757= EULER_ANGLES((0.,0.,0.));
#637538760= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538762= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538765= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538767= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538769= CURVE_3D_ELEMENT_REPRESENTATION('2',(#637538771,#637538431),
#637538433,(#637538293,#637538297),#637538280,#637538437,#637538776,
#637538398);
#637538771= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538772
);
#637538772= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538773);
#637538773= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538776= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538778),(
#637538783,#637538785),(#637538788,#637538790));
#637538778= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538779,#637538780,
#637538449);
#637538779= CURVE_ELEMENT_LOCATION(#637538431);
#637538780= EULER_ANGLES((0.,0.,0.));
#637538783= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538785= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538788= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538790= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538792= CURVE_3D_ELEMENT_REPRESENTATION('1',(#637538794,#637538431),
#637538433,(#637538251,#637538293),#637538280,#637538437,#637538799,
#637538398);
#637538794= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538795
);
#637538795= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538796);
#637538796= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538799= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538801),(
#637538806,#637538808),(#637538811,#637538813));
#637538801= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538802,#637538803,
#637538449);
#637538802= CURVE_ELEMENT_LOCATION(#637538431);
#637538803= EULER_ANGLES((0.,0.,0.));
#637538806= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538808= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538811= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538813= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538815= ID_ATTRIBUTE('MAT1.1',#637538410);
#637538816= DESCRIPTION_ATTRIBUTE('Elasticity',#637538400);
#637538817= DESCRIPTION_ATTRIBUTE('MassDensity',#637538415);
#637538818= DESCRIPTION_ATTRIBUTE('TangentCTE',#637538420);
#637538819= CONTROL(#637538280,'Control.0','FemConvert',
'MSC.NASTRAN JOB CREATED ON 10-JUL-00 AT 06:54:00',('<SOL>101</SOL>',
'TIME 600','CEND','<GLOBALCASE>0</GLOBALCASE>','<SUBCASE>1</SUBCASE>',
'<SUBCASE>2</SUBCASE>','ENDDATA'),('NASTRAN'));
#637538822= CONTROL_LINEAR_STATIC_ANALYSIS_STEP(#637538819,
'STATIC STEP 2',2,#637538823,'',#637538824);
#637538823= SPECIFIED_STATE('STEP DEFAULT','default_initial_state');
#637538824= CONTROL_LINEAR_STATIC_LOAD_INCREMENT_PROCESS('STATIC STEP 2'
,'',#637538825);
#637538825= SPECIFIED_STATE('Step 2 Base Specified State',
'Relating Specified State');
#637538826= OUTPUT_REQUEST_STATE('Step 2 Output Request State','',(
#637538822));
#637538828= NODAL_FREEDOM_VALUES(#637538826,#637538829,#637538282,
#637538831,(UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.)));
#637538829= NODE_GROUP('','ALL',#637538280,(#637538251,#637538293,
#637538297,#637538301,#637538305,#637538309,#637538313,#637538317,
#637538321,#637538325,#637538329,#637538333,#637538337,#637538341,
#637538345,#637538349,#637538353));
#637538831= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.X_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(
.Y_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(.Z_ROTATION.)));
#637538834= SINGLE_POINT_CONSTRAINT_ELEMENT('SPC1_1.0',(#637538836,
#637538822),#637538251,#637538282,(#637538840,#637538841,#637538842,
#637538843,#637538844,#637538845),'');
#637538836= CONTROL_LINEAR_STATIC_ANALYSIS_STEP(#637538819,
'STATIC STEP 1',1,#637538823,'',#637538837);
#637538837= CONTROL_LINEAR_STATIC_LOAD_INCREMENT_PROCESS('STATIC STEP 1'
,'',#637538838);
#637538838= SPECIFIED_STATE('Step 1 Base Specified State',
'Relating Specified State');
#637538840= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.X_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538841= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.Y_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538842= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.Z_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538843= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.X_ROTATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538844= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.Y_ROTATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538845= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.Z_ROTATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538846= SINGLE_POINT_CONSTRAINT_ELEMENT_VALUES(#637538847,#637538834
,#637538848,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)
,CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538847= SPECIFIED_STATE('SPCVALSTATE_1_2','');
#637538848= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.X_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(
.Y_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(.Z_ROTATION.)));
#637538851= SPECIFIED_STATE('SPCCASE_2_2_1','Aggregator SPC 2 Step 1');
#637538852= STATE_RELATIONSHIP(
'SPCCASE_2_2_1 is related to Step 1 Base Specified State','',#637538838,
#637538851);
#637538853= STATE_RELATIONSHIP(
'SPCVALSTATE_1_2 is related to SPCCASE_2_2_1','',#637538851,#637538847);
#637538854= LINEARLY_SUPERIMPOSED_STATE('LOADSTATECOMBINATION_2',
'Overall Factor Combined State');
#637538856= STATE_RELATIONSHIP(
'LOADSTATECOMBINATION_2 is related to Step 2 Base Specified State','',
#637538825,#637538854);
#637538857= STATE_RELATIONSHIP(
'LOADSTATECOMBINATION_2 is related to Step 1 Base Specified State','',
#637538838,#637538854);
#637538858= STATE_COMPONENT('OverallComp','',#637538854,1.);
#637538860= STATE_RELATIONSHIP(
'LOADSTATEITEM_4 is related to OverallComp','',#637538858,#637538861);
#637538861= LINEARLY_SUPERIMPOSED_STATE('LOADSTATEITEM_4',
'Item Factor State');
#637538862= STATE_RELATIONSHIP(
'LOADSTATEITEM_3 is related to OverallComp','',#637538858,#637538863);
#637538863= LINEARLY_SUPERIMPOSED_STATE('LOADSTATEITEM_3',
'Item Factor State');
#637538864= STATE_RELATIONSHIP(
'LOADSTATEITEM_1 is related to OverallComp','',#637538858,#637538865);
#637538865= LINEARLY_SUPERIMPOSED_STATE('LOADSTATEITEM_1',
'Item Factor State');
#637538866= SPECIFIED_STATE('LOADSTATECORE_1',
'Core Loads Specified State');
#637538867= STATE_RELATIONSHIP(
'LOADSTATECORE_1 is related to ItemComp_2_1','',#637538868,#637538866);
#637538868= STATE_COMPONENT('ItemComp_2_1','',#637538865,1.);
#637538870= NODAL_FREEDOM_ACTION_DEFINITION(#637538866,#637538353,
#637538282,#637538871,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-1010.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538871= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.)));
#637538874= SPECIFIED_STATE('LOADSTATECORE_3',
'Core Loads Specified State');
#637538875= STATE_RELATIONSHIP(
'LOADSTATECORE_3 is related to ItemComp_2_3','',#637538876,#637538874);
#637538876= STATE_COMPONENT('ItemComp_2_3','',#637538863,1.);
#637538878= NODAL_FREEDOM_ACTION_DEFINITION(#637538874,#637538329,
#637538282,#637538871,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-10.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538880= SPECIFIED_STATE('LOADSTATECORE_4',
'Core Loads Specified State');
#637538881= STATE_RELATIONSHIP(
'LOADSTATECORE_4 is related to ItemComp_2_4','',#637538882,#637538880);
#637538882= STATE_COMPONENT('ItemComp_2_4','',#637538861,1.);
#637538884= NODAL_FREEDOM_ACTION_DEFINITION(#637538880,#637538349,
#637538282,#637538871,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538886= NODAL_FREEDOM_ACTION_DEFINITION(#637538880,#637538345,
#637538282,#637538871,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538888= NODAL_FREEDOM_ACTION_DEFINITION(#637538880,#637538341,
#637538282,#637538871,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538890= NODAL_FREEDOM_ACTION_DEFINITION(#637538880,#637538337,
#637538282,#637538871,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538892= NODAL_FREEDOM_ACTION_DEFINITION(#637538880,#637538333,
#637538282,#637538871,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538894= OUTPUT_REQUEST_STATE('Step 1 Output Request State','',(
#637538836));
#637538896= NODAL_FREEDOM_VALUES(#637538894,#637538829,#637538282,
#637538831,(UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.)));
#637538898= ID_ATTRIBUTE('ALL',#637538829);
#637538899= SPECIFIED_STATE('SPCCASE_2_2_2','Aggregator SPC 2 Step 2');
#637538900= STATE_RELATIONSHIP(
'SPCCASE_2_2_2 is related to Step 2 Base Specified State','',#637538825,
#637538899);
ENDSEC;
END-ISO-10303-21;
-851
View File
@@ -1,851 +0,0 @@
ISO-10303-21;
HEADER;
/******************************************************************************************
* STEP Physical File produced by: The EXPRESS Data Manager Version 5.01.0100.b03 SimDM : 25 Apr 2012
* Module: EDMstepFileFactory/EDMstandAlone
* Creation date: Mon Jul 09 13:15:29 2012
* Host: AER4WA926171Z
* Database: C:\Documents and Settings\johnsjc2\Desktop\AP209\SimDM2010\DevCM\db\d
* Database version: 5207
* Database creation date: Wed Apr 18 15:33:55 2012
* Schema: AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF
* Model: DataRepository.FemTest
* Model creation date: Mon Jul 09 13:15:29 2012
* Header model:
* EDMuser: superuser
* EDMgroup:
* License ID and type: 5565 : Project license. Expiry date: 31 Dec 2012
* EDMstepFileFactory options: 010000000
******************************************************************************************/
FILE_DESCRIPTION((''),'2;1');
FILE_NAME(
'C:\\Documents and Settings\\johnsjc2\\Desktop\\AP209\\SimDM2010\\DevCM\\db\\d.DataRepository.FemTest'
,
'2012-07-09T13:15:29',
('ANONYMOUS USER'),
('ANONYMOUS ORGANISATION'),
'The EXPRESS Data Manager Version 5.01.0100.b03 SimDM : 25 Apr 2012',
'',
'');
FILE_SCHEMA(('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF'));
ENDSEC;
DATA;
#637538235= APPLICATION_CONTEXT('SimDM');
#637538237= PRODUCT_DEFINITION_CONTEXT('assembly definition',#637538235,
'life cycle stage');
#637538239= PRODUCT_DEFINITION('default-id.0',$,#637538240,#637538244);
#637538240= PRODUCT_DEFINITION_FORMATION('default-id.0','',#637538241);
#637538241= PRODUCT('default-id.0','default-fea-part','',(#637538243));
#637538243= PRODUCT_CONTEXT('design_context',#637538235,'design_context'
);
#637538244= PRODUCT_DEFINITION_CONTEXT(
'product_definition_context_name_1',#637538245,'ANALYSIS-STAGE');
#637538245= APPLICATION_CONTEXT('FEA-ANALYSIS-DOMAIN');
#637538247= PRODUCT_DEFINITION_SHAPE('name',$,#637538239);
#637538248= SHAPE_DEFINITION_REPRESENTATION(#637538247,#637538249);
#637538249= POINT_REPRESENTATION('point_representation_name_1',(
#637538251,#637538359),#637538257);
#637538251= NODE_SET('node_set_name_1',(#637538253,#637538295,#637538299
,#637538303,#637538307,#637538311,#637538315,#637538319,#637538323,
#637538327,#637538331,#637538335,#637538339,#637538343,#637538347,
#637538351,#637538355));
#637538253= NODE('1',(#637538255),#637538257,#637538282);
#637538255= CARTESIAN_POINT('1',(0.,-2.,1.));
#637538257=
/* GEOMETRIC_REPRESENTATION_CONTEXT+GLOBAL_UNIT_ASSIGNED_CONTEXT */(
GEOMETRIC_REPRESENTATION_CONTEXT(3)GLOBAL_UNIT_ASSIGNED_CONTEXT((
#637538260,#637538268,#637538271,#637538265,#637538263,#637538274,
#637538275,#637538278,#637538281,#637538267))REPRESENTATION_CONTEXT(
'CORD2R.1','3d'));
#637538260= SI_ENERGY_UNIT((#637538262,#637538264,#637538266),*,$,
.JOULE.);
#637538262= DERIVED_UNIT_ELEMENT(#637538263,1.);
#637538263= /* MASS_UNIT+SI_UNIT */(MASS_UNIT()NAMED_UNIT(*)SI_UNIT(
.KILO.,.GRAM.));
#637538264= DERIVED_UNIT_ELEMENT(#637538265,2.);
#637538265= /* LENGTH_UNIT+SI_UNIT */(LENGTH_UNIT()NAMED_UNIT(*)SI_UNIT(
$,.METRE.));
#637538266= DERIVED_UNIT_ELEMENT(#637538267,-2.);
#637538267= /* SI_UNIT+TIME_UNIT */(NAMED_UNIT(*)SI_UNIT($,.SECOND.)
TIME_UNIT());
#637538268= SI_FORCE_UNIT((#637538262,#637538270,#637538266),*,$,
.NEWTON.);
#637538270= DERIVED_UNIT_ELEMENT(#637538265,1.);
#637538271= SI_FREQUENCY_UNIT((#637538273),*,$,.HERTZ.);
#637538273= DERIVED_UNIT_ELEMENT(#637538267,-1.);
#637538274= /* PLANE_ANGLE_UNIT+SI_UNIT */(NAMED_UNIT(*)PLANE_ANGLE_UNIT
()SI_UNIT($,.RADIAN.));
#637538275= SI_POWER_UNIT((#637538262,#637538264,#637538277),*,$,.WATT.
);
#637538277= DERIVED_UNIT_ELEMENT(#637538267,-3.);
#637538278= SI_PRESSURE_UNIT((#637538262,#637538280,#637538266),*,$,
.PASCAL.);
#637538280= DERIVED_UNIT_ELEMENT(#637538265,-1.);
#637538281= /* SI_UNIT+THERMODYNAMIC_TEMPERATURE_UNIT */(NAMED_UNIT(*)
SI_UNIT($,.DEGREE_CELSIUS.)THERMODYNAMIC_TEMPERATURE_UNIT());
#637538282= FEA_MODEL_3D('Identification',(#637538284),#637538291,
'NASTRAN BDF Converter v0.0.0',('NASTRAN'),'AnalysisModelType');
#637538284= FEA_AXIS2_PLACEMENT_3D('0',#637538285,#637538287,#637538289,
.CARTESIAN.,'FEA_BASIC_COORD_SYSTEM.0');
#637538285= CARTESIAN_POINT('',(0.,0.,0.));
#637538287= DIRECTION('AxisZ',(0.,0.,1.));
#637538289= DIRECTION('RefX',(1.,0.,0.));
#637538291=
/* GEOMETRIC_REPRESENTATION_CONTEXT+GLOBAL_UNIT_ASSIGNED_CONTEXT */(
GEOMETRIC_REPRESENTATION_CONTEXT(3)GLOBAL_UNIT_ASSIGNED_CONTEXT((
#637538260,#637538268,#637538271,#637538265,#637538263,#637538274,
#637538275,#637538278,#637538281,#637538267))REPRESENTATION_CONTEXT(
'FEA_BASIC_COORD_SYSTEM.0','3d'));
#637538295= NODE('2',(#637538297),#637538257,#637538282);
#637538297= CARTESIAN_POINT('2',(1.,-2.,1.));
#637538299= NODE('3',(#637538301),#637538257,#637538282);
#637538301= CARTESIAN_POINT('3',(2.,-2.,1.));
#637538303= NODE('4',(#637538305),#637538257,#637538282);
#637538305= CARTESIAN_POINT('4',(3.,-2.,1.));
#637538307= NODE('5',(#637538309),#637538257,#637538282);
#637538309= CARTESIAN_POINT('5',(4.,-2.,1.));
#637538311= NODE('6',(#637538313),#637538257,#637538282);
#637538313= CARTESIAN_POINT('6',(5.,-2.,1.));
#637538315= NODE('7',(#637538317),#637538257,#637538282);
#637538317= CARTESIAN_POINT('7',(6.,-2.,1.));
#637538319= NODE('8',(#637538321),#637538257,#637538282);
#637538321= CARTESIAN_POINT('8',(7.,-2.,1.));
#637538323= NODE('9',(#637538325),#637538257,#637538282);
#637538325= CARTESIAN_POINT('9',(8.,-2.,1.));
#637538327= NODE('10',(#637538329),#637538257,#637538282);
#637538329= CARTESIAN_POINT('10',(9.,-2.,1.));
#637538331= NODE('11',(#637538333),#637538257,#637538282);
#637538333= CARTESIAN_POINT('11',(10.,-2.,1.));
#637538335= NODE('12',(#637538337),#637538257,#637538282);
#637538337= CARTESIAN_POINT('12',(11.,-2.,1.));
#637538339= NODE('13',(#637538341),#637538257,#637538282);
#637538341= CARTESIAN_POINT('13',(12.,-2.,1.));
#637538343= NODE('14',(#637538345),#637538257,#637538282);
#637538345= CARTESIAN_POINT('14',(13.,-2.,1.));
#637538347= NODE('15',(#637538349),#637538257,#637538282);
#637538349= CARTESIAN_POINT('15',(14.,-2.,1.));
#637538351= NODE('16',(#637538353),#637538257,#637538282);
#637538353= CARTESIAN_POINT('16',(15.,-2.,1.));
#637538355= NODE('17',(#637538357),#637538257,#637538282);
#637538357= CARTESIAN_POINT('17',(16.,-2.,1.));
#637538359= FEA_AXIS2_PLACEMENT_3D('1',#637538360,#637538362,#637538364,
.CARTESIAN.,'CORD2R.1');
#637538360= CARTESIAN_POINT('',(0.,0.,0.));
#637538362= DIRECTION('AxisZ',(0.,0.,1.));
#637538364= DIRECTION('RefX',(1.,0.,0.));
#637538366= FEA_MODEL_DEFINITION('fea_model_definition_id_1',$,
#637538247,.U.);
#637538367= STRUCTURAL_RESPONSE_PROPERTY(
'structural_response_property_id_1',$,#637538366);
#637538368= STRUCTURAL_RESPONSE_PROPERTY_DEFINITION_REPRESENTATION(
#637538367,#637538282);
#637538369= NAME_ATTRIBUTE('',#637538239);
#637538370= APPLIED_CLASSIFICATION_ASSIGNMENT(#637538371,#637538372,(
#637538239));
#637538371= GROUP('default-gpvv-type',$);
#637538372= CLASSIFICATION_ROLE('view_type',$);
#637538374= APPLIED_IDENTIFICATION_ASSIGNMENT('default-id.0',#637538375,
(#637538240,#637538239,#637538241));
#637538375= IDENTIFICATION_ROLE('default-role',$);
#637538377= APPLIED_ORGANIZATION_ASSIGNMENT(#637538378,#637538379,(
#637538374));
#637538378= ORGANIZATION($,'default-organization',$);
#637538379= ORGANIZATION_ROLE('id context');
#637538381= APPLIED_CLASSIFICATION_ASSIGNMENT(#637538382,#637538383,(
#637538374));
#637538382= GROUP('id',$);
#637538383= CLASSIFICATION_ROLE('',$);
#637538385= APPLICATION_PROTOCOL_DEFINITION('status',
'ap203_configuration_controlled_3d_design_of_mechanical_parts_and_assemblies'
,2011,#637538235);
#637538386= DESCRIPTION_ATTRIBUTE('SimDM',#637538235);
#637538387= ID_ATTRIBUTE('SimDM',#637538235);
#637538388= DIMENSIONAL_EXPONENTS(0.,0.,0.,0.,0.,0.,0.);
#637538389= PRODUCT_RELATED_PRODUCT_CATEGORY('document',$,());
#637538391= PRODUCT_RELATED_PRODUCT_CATEGORY('product',$,(#637538241));
#637538393= DESCRIPTION_ATTRIBUTE('',#637538245);
#637538394= CARTESIAN_POINT('0',(0.,0.,0.));
#637538396= DUMMY_NODE('0',(#637538394),#637538291,#637538282);
#637538398= ITEM_DEFINED_TRANSFORMATION('','',#637538284,#637538359);
#637538399= REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION('','',
#637538282,#637538249,#637538398);
#637538400= ELEMENT_MATERIAL('MAT1.1','Fea Material',(#637538402,
#637538417,#637538422));
#637538402= FEA_MATERIAL_PROPERTY_REPRESENTATION(#637538403,#637538405,
#637538409);
#637538403= MATERIAL_PROPERTY('MAT1.1.0',$,#637538404);
#637538404= CHARACTERIZED_OBJECT('material_property',$);
#637538405= REPRESENTATION('representation_id_2',(#637538407),#637538291
);
#637538407= FEA_LINEAR_ELASTICITY('',FEA_ISOTROPIC_SYMMETRIC_TENSOR4_3D(
(10000000.,0.33)));
#637538409= DATA_ENVIRONMENT('DATA_ENV','Property_conditions',(
#637538411));
#637538411= PROPERTY_DEFINITION_REPRESENTATION(#637538412,#637538414);
#637538412= PROPERTY_DEFINITION('Material Property Definition',$,
#637538413);
#637538413= CHARACTERIZED_OBJECT('property',$);
#637538414= REPRESENTATION('representation_id_1',(#637538416),#637538291
);
#637538416= MEASURE_REPRESENTATION_ITEM('representation_item_name_1',
CONTEXT_DEPENDENT_MEASURE(70.),#637538281);
#637538417= FEA_MATERIAL_PROPERTY_REPRESENTATION(#637538418,#637538419,
#637538409);
#637538418= MATERIAL_PROPERTY('MAT1.1.1',$,#637538404);
#637538419= REPRESENTATION('representation_id_3',(#637538421),#637538291
);
#637538421= FEA_MASS_DENSITY('',0.000254);
#637538422= FEA_MATERIAL_PROPERTY_REPRESENTATION(#637538423,#637538424,
#637538409);
#637538423= MATERIAL_PROPERTY('MAT1.1.2',$,#637538404);
#637538424= REPRESENTATION('representation_id_4',(#637538426),#637538291
);
#637538426= FEA_TANGENTIAL_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION('',
ISOTROPIC_SYMMETRIC_TENSOR2_3D(0.));
#637538427= CURVE_3D_ELEMENT_REPRESENTATION('16',(#637538429,#637538433)
,#637538435,(#637538351,#637538355),#637538282,#637538439,#637538445,
#637538400);
#637538429= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538430
);
#637538430= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538431);
#637538431= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538433= FEA_PARAMETRIC_POINT('',(1.,0.,0.));
#637538435= PARAMETRIC_REPRESENTATION_CONTEXT(
'parametric_representation_context','parametric');
#637538439= CURVE_3D_ELEMENT_DESCRIPTOR(.LINEAR.,'LINEAR_CURVE.CBAR*',((
ENUMERATED_CURVE_ELEMENT_PURPOSE(.AXIAL.)),(
ENUMERATED_CURVE_ELEMENT_PURPOSE(.Y_Y_BENDING.),
ENUMERATED_CURVE_ELEMENT_PURPOSE(.Z_Z_BENDING.)),(
ENUMERATED_CURVE_ELEMENT_PURPOSE(.TORSION.)),(
ENUMERATED_CURVE_ELEMENT_PURPOSE(.X_Y_SHEAR.),
ENUMERATED_CURVE_ELEMENT_PURPOSE(.X_Z_SHEAR.))));
#637538445= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.16','',(#637538447),(
#637538458,#637538460),(#637538463,#637538470));
#637538447= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538448,#637538449,
#637538451);
#637538448= CURVE_ELEMENT_LOCATION(#637538433);
#637538449= EULER_ANGLES((0.,0.,0.));
#637538451= CURVE_ELEMENT_SECTION_DERIVED_DEFINITIONS('PBAR.1_0',0.,8.,(
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)),(2.667,
10.667,0.),0.,CONTEXT_DEPENDENT_MEASURE(0.),(CONTEXT_DEPENDENT_MEASURE(
0.),CONTEXT_DEPENDENT_MEASURE(0.)),(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)),(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.));
#637538458= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538460= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538463= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538465= CURVE_ELEMENT_END_RELEASE_PACKET(
ENUMERATED_CURVE_ELEMENT_FREEDOM(.X_TRANSLATION.),0.);
#637538466= CURVE_ELEMENT_END_RELEASE_PACKET(
ENUMERATED_CURVE_ELEMENT_FREEDOM(.Y_TRANSLATION.),0.);
#637538467= CURVE_ELEMENT_END_RELEASE_PACKET(
ENUMERATED_CURVE_ELEMENT_FREEDOM(.Z_TRANSLATION.),0.);
#637538468= CURVE_ELEMENT_END_RELEASE_PACKET(
ENUMERATED_CURVE_ELEMENT_FREEDOM(.X_ROTATION.),0.);
#637538469= CURVE_ELEMENT_END_RELEASE_PACKET(
ENUMERATED_CURVE_ELEMENT_FREEDOM(.Z_ROTATION.),0.);
#637538470= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538472= CURVE_3D_ELEMENT_REPRESENTATION('15',(#637538474,#637538433)
,#637538435,(#637538347,#637538351),#637538282,#637538439,#637538479,
#637538400);
#637538474= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538475
);
#637538475= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538476);
#637538476= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538479= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.15','',(#637538481),(
#637538486,#637538488),(#637538491,#637538493));
#637538481= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538482,#637538483,
#637538451);
#637538482= CURVE_ELEMENT_LOCATION(#637538433);
#637538483= EULER_ANGLES((0.,0.,0.));
#637538486= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538488= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538491= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538493= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538495= CURVE_3D_ELEMENT_REPRESENTATION('14',(#637538497,#637538433)
,#637538435,(#637538343,#637538347),#637538282,#637538439,#637538502,
#637538400);
#637538497= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538498
);
#637538498= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538499);
#637538499= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538502= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.14','',(#637538504),(
#637538509,#637538511),(#637538514,#637538516));
#637538504= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538505,#637538506,
#637538451);
#637538505= CURVE_ELEMENT_LOCATION(#637538433);
#637538506= EULER_ANGLES((0.,0.,0.));
#637538509= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538511= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538514= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538516= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538518= CURVE_3D_ELEMENT_REPRESENTATION('13',(#637538520,#637538433)
,#637538435,(#637538339,#637538343),#637538282,#637538439,#637538525,
#637538400);
#637538520= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538521
);
#637538521= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538522);
#637538522= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538525= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.13','',(#637538527),(
#637538532,#637538534),(#637538537,#637538539));
#637538527= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538528,#637538529,
#637538451);
#637538528= CURVE_ELEMENT_LOCATION(#637538433);
#637538529= EULER_ANGLES((0.,0.,0.));
#637538532= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538534= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538537= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538539= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538541= CURVE_3D_ELEMENT_REPRESENTATION('12',(#637538543,#637538433)
,#637538435,(#637538335,#637538339),#637538282,#637538439,#637538548,
#637538400);
#637538543= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538544
);
#637538544= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538545);
#637538545= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538548= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.12','',(#637538550),(
#637538555,#637538557),(#637538560,#637538562));
#637538550= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538551,#637538552,
#637538451);
#637538551= CURVE_ELEMENT_LOCATION(#637538433);
#637538552= EULER_ANGLES((0.,0.,0.));
#637538555= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538557= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538560= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538562= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538564= CURVE_3D_ELEMENT_REPRESENTATION('11',(#637538566,#637538433)
,#637538435,(#637538331,#637538335),#637538282,#637538439,#637538571,
#637538400);
#637538566= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538567
);
#637538567= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538568);
#637538568= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538571= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.11','',(#637538573),(
#637538578,#637538580),(#637538583,#637538585));
#637538573= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538574,#637538575,
#637538451);
#637538574= CURVE_ELEMENT_LOCATION(#637538433);
#637538575= EULER_ANGLES((0.,0.,0.));
#637538578= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538580= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538583= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538585= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538587= CURVE_3D_ELEMENT_REPRESENTATION('10',(#637538589,#637538433)
,#637538435,(#637538327,#637538331),#637538282,#637538439,#637538594,
#637538400);
#637538589= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538590
);
#637538590= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538591);
#637538591= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538594= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.10','',(#637538596),(
#637538601,#637538603),(#637538606,#637538608));
#637538596= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538597,#637538598,
#637538451);
#637538597= CURVE_ELEMENT_LOCATION(#637538433);
#637538598= EULER_ANGLES((0.,0.,0.));
#637538601= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538603= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538606= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538608= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538610= CURVE_3D_ELEMENT_REPRESENTATION('9',(#637538612,#637538433),
#637538435,(#637538323,#637538327),#637538282,#637538439,#637538617,
#637538400);
#637538612= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538613
);
#637538613= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538614);
#637538614= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538617= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.9','',(#637538619),(
#637538624,#637538626),(#637538629,#637538631));
#637538619= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538620,#637538621,
#637538451);
#637538620= CURVE_ELEMENT_LOCATION(#637538433);
#637538621= EULER_ANGLES((0.,0.,0.));
#637538624= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538626= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538629= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538631= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538633= CURVE_3D_ELEMENT_REPRESENTATION('8',(#637538635,#637538433),
#637538435,(#637538319,#637538323),#637538282,#637538439,#637538640,
#637538400);
#637538635= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538636
);
#637538636= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538637);
#637538637= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538640= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.8','',(#637538642),(
#637538647,#637538649),(#637538652,#637538654));
#637538642= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538643,#637538644,
#637538451);
#637538643= CURVE_ELEMENT_LOCATION(#637538433);
#637538644= EULER_ANGLES((0.,0.,0.));
#637538647= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538649= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538652= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538654= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538656= CURVE_3D_ELEMENT_REPRESENTATION('7',(#637538658,#637538433),
#637538435,(#637538315,#637538319),#637538282,#637538439,#637538663,
#637538400);
#637538658= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538659
);
#637538659= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538660);
#637538660= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538663= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.7','',(#637538665),(
#637538670,#637538672),(#637538675,#637538677));
#637538665= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538666,#637538667,
#637538451);
#637538666= CURVE_ELEMENT_LOCATION(#637538433);
#637538667= EULER_ANGLES((0.,0.,0.));
#637538670= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538672= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538675= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538677= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538679= CURVE_3D_ELEMENT_REPRESENTATION('6',(#637538681,#637538433),
#637538435,(#637538311,#637538315),#637538282,#637538439,#637538686,
#637538400);
#637538681= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538682
);
#637538682= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538683);
#637538683= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538686= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.6','',(#637538688),(
#637538693,#637538695),(#637538698,#637538700));
#637538688= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538689,#637538690,
#637538451);
#637538689= CURVE_ELEMENT_LOCATION(#637538433);
#637538690= EULER_ANGLES((0.,0.,0.));
#637538693= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538695= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538698= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538700= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538702= CURVE_3D_ELEMENT_REPRESENTATION('5',(#637538704,#637538433),
#637538435,(#637538307,#637538311),#637538282,#637538439,#637538709,
#637538400);
#637538704= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538705
);
#637538705= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538706);
#637538706= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538709= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.5','',(#637538711),(
#637538716,#637538718),(#637538721,#637538723));
#637538711= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538712,#637538713,
#637538451);
#637538712= CURVE_ELEMENT_LOCATION(#637538433);
#637538713= EULER_ANGLES((0.,0.,0.));
#637538716= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538718= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538721= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538723= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538725= CURVE_3D_ELEMENT_REPRESENTATION('4',(#637538727,#637538433),
#637538435,(#637538303,#637538307),#637538282,#637538439,#637538732,
#637538400);
#637538727= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538728
);
#637538728= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538729);
#637538729= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538732= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.4','',(#637538734),(
#637538739,#637538741),(#637538744,#637538746));
#637538734= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538735,#637538736,
#637538451);
#637538735= CURVE_ELEMENT_LOCATION(#637538433);
#637538736= EULER_ANGLES((0.,0.,0.));
#637538739= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538741= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538744= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538746= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538748= CURVE_3D_ELEMENT_REPRESENTATION('3',(#637538750,#637538433),
#637538435,(#637538299,#637538303),#637538282,#637538439,#637538755,
#637538400);
#637538750= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538751
);
#637538751= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538752);
#637538752= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538755= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.3','',(#637538757),(
#637538762,#637538764),(#637538767,#637538769));
#637538757= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538758,#637538759,
#637538451);
#637538758= CURVE_ELEMENT_LOCATION(#637538433);
#637538759= EULER_ANGLES((0.,0.,0.));
#637538762= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538764= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538767= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538769= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538771= CURVE_3D_ELEMENT_REPRESENTATION('2',(#637538773,#637538433),
#637538435,(#637538295,#637538299),#637538282,#637538439,#637538778,
#637538400);
#637538773= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538774
);
#637538774= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538775);
#637538775= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538778= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.2','',(#637538780),(
#637538785,#637538787),(#637538790,#637538792));
#637538780= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538781,#637538782,
#637538451);
#637538781= CURVE_ELEMENT_LOCATION(#637538433);
#637538782= EULER_ANGLES((0.,0.,0.));
#637538785= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538787= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538790= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538792= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538794= CURVE_3D_ELEMENT_REPRESENTATION('1',(#637538796,#637538433),
#637538435,(#637538253,#637538295),#637538282,#637538439,#637538801,
#637538400);
#637538796= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538797
);
#637538797= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538798);
#637538798= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538801= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.1','',(#637538803),(
#637538808,#637538810),(#637538813,#637538815));
#637538803= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538804,#637538805,
#637538451);
#637538804= CURVE_ELEMENT_LOCATION(#637538433);
#637538805= EULER_ANGLES((0.,0.,0.));
#637538808= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538810= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538813= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538815= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538817= ID_ATTRIBUTE('MAT1.1',#637538412);
#637538818= DESCRIPTION_ATTRIBUTE('Elasticity',#637538402);
#637538819= DESCRIPTION_ATTRIBUTE('MassDensity',#637538417);
#637538820= DESCRIPTION_ATTRIBUTE('TangentCTE',#637538422);
#637538821= CONTROL(#637538282,'Control.0','FemConvert',
'MSC.NASTRAN JOB CREATED ON 10-JUL-00 AT 06:54:00',('<SOL>101</SOL>',
'TIME 600','CEND','<GLOBALCASE>0</GLOBALCASE>','<SUBCASE>1</SUBCASE>',
'<SUBCASE>2</SUBCASE>','ENDDATA'),('NASTRAN'));
#637538824= RESULT_LINEAR_STATIC_ANALYSIS_SUB_STEP(#637538821,#637538825
,#637538826);
#637538825= RESULT('Result.0','FemConvert',
'MSC.NASTRAN JOB CREATED ON 10-JUL-00 AT 06:54:00');
#637538826= CALCULATED_STATE('Calculated State for Step 2','');
#637538827= CONTROL_RESULT_RELATIONSHIP(#637538828,#637538824);
#637538828= CONTROL_LINEAR_STATIC_ANALYSIS_STEP(#637538821,
'STATIC STEP 2',2,#637538829,'',#637538830);
#637538829= SPECIFIED_STATE('STEP DEFAULT','default_initial_state');
#637538830= CONTROL_LINEAR_STATIC_LOAD_INCREMENT_PROCESS('STATIC STEP 2'
,'',#637538831);
#637538831= SPECIFIED_STATE('Step 2 Base Specified State',
'Relating Specified State');
#637538832= RESULT_LINEAR_STATIC_ANALYSIS_SUB_STEP(#637538821,#637538825
,#637538833);
#637538833= CALCULATED_STATE('Calculated State for Step 1','');
#637538834= CONTROL_RESULT_RELATIONSHIP(#637538835,#637538832);
#637538835= CONTROL_LINEAR_STATIC_ANALYSIS_STEP(#637538821,
'STATIC STEP 1',1,#637538829,'',#637538836);
#637538836= CONTROL_LINEAR_STATIC_LOAD_INCREMENT_PROCESS('STATIC STEP 1'
,'',#637538837);
#637538837= SPECIFIED_STATE('Step 1 Base Specified State',
'Relating Specified State');
#637538838= SPECIFIED_STATE('SPCCASE_2_2_1','Aggregator SPC 2 Step 1');
#637538839= STATE_RELATIONSHIP(
'SPCCASE_2_2_1 is related to Step 1 Base Specified State','',#637538837,
#637538838);
#637538840= STATE_RELATIONSHIP(
'SPCVALSTATE_1_2 is related to SPCCASE_2_2_1','',#637538838,#637538841);
#637538841= SPECIFIED_STATE('SPCVALSTATE_1_2','');
#637538842= SINGLE_POINT_CONSTRAINT_ELEMENT_VALUES(#637538841,#637538843
,#637538852,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)
,CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538843= SINGLE_POINT_CONSTRAINT_ELEMENT('SPC1_1.0',(#637538835,
#637538828),#637538253,#637538284,(#637538846,#637538847,#637538848,
#637538849,#637538850,#637538851),'');
#637538846= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.X_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538847= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.Y_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538848= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.Z_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538849= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.X_ROTATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538850= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.Y_ROTATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538851= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.Z_ROTATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538852= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.X_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(
.Y_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(.Z_ROTATION.)));
#637538855= LINEARLY_SUPERIMPOSED_STATE('LOADSTATECOMBINATION_2',
'Overall Factor Combined State');
#637538857= STATE_RELATIONSHIP(
'LOADSTATECOMBINATION_2 is related to Step 2 Base Specified State','',
#637538831,#637538855);
#637538858= STATE_RELATIONSHIP(
'LOADSTATECOMBINATION_2 is related to Step 1 Base Specified State','',
#637538837,#637538855);
#637538859= STATE_COMPONENT('OverallComp','',#637538855,1.);
#637538861= STATE_RELATIONSHIP(
'LOADSTATEITEM_4 is related to OverallComp','',#637538859,#637538862);
#637538862= LINEARLY_SUPERIMPOSED_STATE('LOADSTATEITEM_4',
'Item Factor State');
#637538863= STATE_RELATIONSHIP(
'LOADSTATEITEM_3 is related to OverallComp','',#637538859,#637538864);
#637538864= LINEARLY_SUPERIMPOSED_STATE('LOADSTATEITEM_3',
'Item Factor State');
#637538865= STATE_RELATIONSHIP(
'LOADSTATEITEM_1 is related to OverallComp','',#637538859,#637538866);
#637538866= LINEARLY_SUPERIMPOSED_STATE('LOADSTATEITEM_1',
'Item Factor State');
#637538867= SPECIFIED_STATE('LOADSTATECORE_1',
'Core Loads Specified State');
#637538868= STATE_RELATIONSHIP(
'LOADSTATECORE_1 is related to ItemComp_2_1','',#637538869,#637538867);
#637538869= STATE_COMPONENT('ItemComp_2_1','',#637538866,1.);
#637538871= NODAL_FREEDOM_ACTION_DEFINITION(#637538867,#637538355,
#637538284,#637538872,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-1010.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538872= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.)));
#637538875= SPECIFIED_STATE('LOADSTATECORE_3',
'Core Loads Specified State');
#637538876= STATE_RELATIONSHIP(
'LOADSTATECORE_3 is related to ItemComp_2_3','',#637538877,#637538875);
#637538877= STATE_COMPONENT('ItemComp_2_3','',#637538864,1.);
#637538879= NODAL_FREEDOM_ACTION_DEFINITION(#637538875,#637538331,
#637538284,#637538872,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-10.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538881= SPECIFIED_STATE('LOADSTATECORE_4',
'Core Loads Specified State');
#637538882= STATE_RELATIONSHIP(
'LOADSTATECORE_4 is related to ItemComp_2_4','',#637538883,#637538881);
#637538883= STATE_COMPONENT('ItemComp_2_4','',#637538862,1.);
#637538885= NODAL_FREEDOM_ACTION_DEFINITION(#637538881,#637538351,
#637538284,#637538872,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538887= NODAL_FREEDOM_ACTION_DEFINITION(#637538881,#637538347,
#637538284,#637538872,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538889= NODAL_FREEDOM_ACTION_DEFINITION(#637538881,#637538343,
#637538284,#637538872,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538891= NODAL_FREEDOM_ACTION_DEFINITION(#637538881,#637538339,
#637538284,#637538872,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538893= NODAL_FREEDOM_ACTION_DEFINITION(#637538881,#637538335,
#637538284,#637538872,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538895= OUTPUT_REQUEST_STATE('Step 1 Output Request State','',(
#637538835));
#637538897= NODAL_FREEDOM_VALUES(#637538895,#637538898,#637538284,
#637538900,(UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.)));
#637538898= NODE_GROUP('','ALL',#637538282,(#637538253,#637538295,
#637538299,#637538303,#637538307,#637538311,#637538315,#637538319,
#637538323,#637538327,#637538331,#637538335,#637538339,#637538343,
#637538347,#637538351,#637538355));
#637538900= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.X_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(
.Y_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(.Z_ROTATION.)));
#637538903= ID_ATTRIBUTE('ALL',#637538898);
#637538904= SPECIFIED_STATE('SPCCASE_2_2_2','Aggregator SPC 2 Step 2');
#637538905= STATE_RELATIONSHIP(
'SPCCASE_2_2_2 is related to Step 2 Base Specified State','',#637538831,
#637538904);
#637538906= OUTPUT_REQUEST_STATE('Step 2 Output Request State','',(
#637538828));
#637538908= NODAL_FREEDOM_VALUES(#637538906,#637538898,#637538284,
#637538900,(UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.)));
#637538910= NODAL_FREEDOM_VALUES(#637538833,#637538253,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538912= NODAL_FREEDOM_VALUES(#637538833,#637538295,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538914= NODAL_FREEDOM_VALUES(#637538833,#637538299,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538916= NODAL_FREEDOM_VALUES(#637538833,#637538303,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538918= NODAL_FREEDOM_VALUES(#637538833,#637538307,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538920= NODAL_FREEDOM_VALUES(#637538833,#637538311,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538922= NODAL_FREEDOM_VALUES(#637538833,#637538315,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538924= NODAL_FREEDOM_VALUES(#637538833,#637538319,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538926= NODAL_FREEDOM_VALUES(#637538833,#637538323,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538928= NODAL_FREEDOM_VALUES(#637538833,#637538327,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538930= NODAL_FREEDOM_VALUES(#637538833,#637538331,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538932= NODAL_FREEDOM_VALUES(#637538833,#637538335,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538934= NODAL_FREEDOM_VALUES(#637538833,#637538339,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538936= NODAL_FREEDOM_VALUES(#637538833,#637538343,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538938= NODAL_FREEDOM_VALUES(#637538833,#637538347,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538940= NODAL_FREEDOM_VALUES(#637538833,#637538351,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538942= NODAL_FREEDOM_VALUES(#637538833,#637538355,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538944= NODAL_FREEDOM_VALUES(#637538826,#637538253,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538946= NODAL_FREEDOM_VALUES(#637538826,#637538295,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538948= NODAL_FREEDOM_VALUES(#637538826,#637538299,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538950= NODAL_FREEDOM_VALUES(#637538826,#637538303,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538952= NODAL_FREEDOM_VALUES(#637538826,#637538307,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538954= NODAL_FREEDOM_VALUES(#637538826,#637538311,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538956= NODAL_FREEDOM_VALUES(#637538826,#637538315,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538958= NODAL_FREEDOM_VALUES(#637538826,#637538319,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538960= NODAL_FREEDOM_VALUES(#637538826,#637538323,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538962= NODAL_FREEDOM_VALUES(#637538826,#637538327,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538964= NODAL_FREEDOM_VALUES(#637538826,#637538331,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538966= NODAL_FREEDOM_VALUES(#637538826,#637538335,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538968= NODAL_FREEDOM_VALUES(#637538826,#637538339,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538970= NODAL_FREEDOM_VALUES(#637538826,#637538343,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538972= NODAL_FREEDOM_VALUES(#637538826,#637538347,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538974= NODAL_FREEDOM_VALUES(#637538826,#637538351,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538976= NODAL_FREEDOM_VALUES(#637538826,#637538355,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
ENDSEC;
END-ISO-10303-21;
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+21867 -23527
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+5 -3
View File
@@ -1,6 +1,8 @@
SET(sc_MANS
SET(scl_MANS
man/man1/dataprobe.1
man/man1/fedex.1
man/man1/exp2cxx.1
man/man1/fedex_plus.1
man/man1/mkProbe.1
)
if(NOT DEFINED MAN_DIR)
@@ -8,5 +10,5 @@ if(NOT DEFINED MAN_DIR)
endif(NOT DEFINED MAN_DIR)
IF(NOT WIN32)
INSTALL(FILES ${sc_MANS} DESTINATION ${MAN_DIR}/man1)
INSTALL(FILES ${scl_MANS} DESTINATION ${CMAKE_INSTALL_PREFIX}/${MAN_DIR}/man1)
ENDIF(NOT WIN32)
+1 -1
View File
@@ -37,7 +37,7 @@ PROJECT_NUMBER = 3.2
# for a project that appears at the top of each page and should give viewer
# a quick idea about the purpose of the project. Keep the description short.
PROJECT_BRIEF = "STEPcode"
PROJECT_BRIEF = "STEP Class Library"
# With the PROJECT_LOGO tag one can specify an logo or icon that is
# included in the documentation. The maximum height of the logo should not
+4 -4
View File
@@ -68,7 +68,7 @@
<qtHelp collectionFile="./doc/helpcollection.qhc"
projectFile="./doc/helpcollection.qhcp"
storage="./doc/qch" copyAction="copy">
<title>STEPcode</title>
<title>StepClassLibrary</title>
<startPage>qthelp://com.github.mpictor/doc/index.html</startPage>
<!-- See http://doc.trolltech.com/assistant-custom-help-viewer.html for more
settings in the <assistant> section. -->
@@ -100,7 +100,7 @@
-->
<project>
<!-- The name of the project -->
<name>STEPcode</name>
<name>StepClassLibrary</name>
<!-- The version number of the documentation -->
<version>0.2</version>
<!-- Whether to build version specific documentation for the projects or not.
@@ -132,7 +132,7 @@
<input>./src/clutils</input>
<input>./src/exppp</input>
<input>./src/express</input>
<input>./src/exp2cxx</input>
<input>./src/fedex_plus</input>
<input>./src/test</input>-->
<!-- A list of files/paths to exclude. Add one <exclude> tag per path to
exclude. This will automatically be expanded to exclude input directories
@@ -240,7 +240,7 @@
<project>
<name>Fedex Plus</name>
<version> </version>
<input>./src/exp2cxx</input>
<input>./src/fedex_plus</input>
</project>
<project>
<name>Tests</name>
+10 -10
View File
@@ -47,16 +47,16 @@ $mathjax
<!-- add module list -->
<div id="navrow0" class="tabs">
<ul class="tablist">
<li><a href="../../doc.STEPcode/doxygen-html/index.html"><span>Main</span></a></li>
<li><a href="../../doc.STEPcode.CLDAI/doxygen-html/index.html"><span>CLDAI</span></a></li>
<li><a href="../../doc.STEPcode.CLEditor/doxygen-html/index.html"><span>CLEditor</span></a></li>
<li><a href="../../doc.STEPcode.CLProbe-ui/doxygen-html/index.html"><span>CLProbe-ui</span></a></li>
<li><a href="../../doc.STEPcode.CLStepCore/doxygen-html/index.html"><span>CLStepCore</span></a></li>
<li><a href="../../doc.STEPcode.CLUtils/doxygen-html/index.html"><span>CLUtils</span></a></li>
<li><a href="../../doc.STEPcode.ExPPP/doxygen-html/index.html"><span>ExPPP</span></a></li>
<li><a href="../../doc.STEPcode.Express/doxygen-html/index.html"><span>Express</span></a></li>
<li><a href="../../doc.STEPcode.Fedex-Plus/doxygen-html/index.html"><span>Fedex-Plus</span></a></li>
<li><a href="../../doc.STEPcode.Tests/doxygen-html/index.html"><span>Tests</span></a></li>
<li><a href="../../doc.StepClassLibrary/doxygen-html/index.html"><span>Main</span></a></li>
<li><a href="../../doc.StepClassLibrary.CLDAI/doxygen-html/index.html"><span>CLDAI</span></a></li>
<li><a href="../../doc.StepClassLibrary.CLEditor/doxygen-html/index.html"><span>CLEditor</span></a></li>
<li><a href="../../doc.StepClassLibrary.CLProbe-ui/doxygen-html/index.html"><span>CLProbe-ui</span></a></li>
<li><a href="../../doc.StepClassLibrary.CLStepCore/doxygen-html/index.html"><span>CLStepCore</span></a></li>
<li><a href="../../doc.StepClassLibrary.CLUtils/doxygen-html/index.html"><span>CLUtils</span></a></li>
<li><a href="../../doc.StepClassLibrary.ExPPP/doxygen-html/index.html"><span>ExPPP</span></a></li>
<li><a href="../../doc.StepClassLibrary.Express/doxygen-html/index.html"><span>Express</span></a></li>
<li><a href="../../doc.StepClassLibrary.Fedex-Plus/doxygen-html/index.html"><span>Fedex-Plus</span></a></li>
<li><a href="../../doc.StepClassLibrary.Tests/doxygen-html/index.html"><span>Tests</span></a></li>
</ul>
</div>
<!-- end module list -->
+680
View File
@@ -0,0 +1,680 @@
.\" This manual was prepared by United States Government employees as a
.\" part of their official duties and is, therefore, a work of the U.S.
.\" Government and not subject to copyright.
.\"
.\" $Id: dataprobe.1,v 2.1.0.2 1997/10/27 18:37:10 dar Exp $
.TH DATAPROBE 1 "12 June 1995"
.SH NAME
Data Probe - STEP editing tool
.SH SYNOPSIS
.B dp_{schema_name}
[
.B -saveFile
.I file-name
]
[
.B -saveFreq
.I integer
]
[
.B -workFile
.I file-name
]
[
.B -exchangeFile
.I file-name
]
[
.B -restrict
]
.SH DESCRIPTION
.LP
The Validation Testing System (VTS) Data Probe software is a program
for browsing and editing data corresponding to a conceptual model
described using the language Express. A separate program (fedex_plus)
reads in a schema and generates source code to represent the schema in
C++. This code is linked with the libraries in the STEP Class Library
to create a schema specific editor. The editor is X Windows based and
uses the InterViews Toolkit from Stanford.
.SH OPTIONS
.TP
.B \-s \fIfilename\fP, \fB-saveFile \fIfilename\fP
Designates an alternate backup file. The default file is dpAutoSave.wf.
.TP
.B \-sf \fIseconds\fP, \fB-saveFreq \fIseconds\fP
Specifies the frequency with which a backup file will be saved. The default frequency is 30 seconds.
.TP
.B \-wf \fIfilename\fP, \fB-workFile \fIfilename\fP
Specifies a working file to be loaded into the Data Probe.
.TP
.B \-ef \fIfilename\fP, \fB-exchangeFile \fIfilename\fP
Specifies a STEP exchange file to be loaded into the Data Probe.
.TP
.B \-r, \fB-restrict \fP
Restricts the file chooser menu to files not beginning with a '.'.
.SH USAGE
.LP
The Data Probe supports the editing of data in the format specified in
Part 21 of the ISO 10103. It allows the user to create or modify
instance data, to check for consistency with an Express schema and to
examine the relationships of entities within the schema. These
functions are supported in one or more of the following five types of
Data Probe windows:
.nf
Data Probe Window: supports general Data Probe func-
tionalities, including file management, schema list
browsing, and quitting Data Probe.
Entity Type List window: contains a scrollable list
of schema-specific entities for browsing or creating
instances of entities.
Entity Instance List window: contains a scrollable
list of instances of entities. Supports data view-
ing and modification.
STEP Entity Editor window: occurs for each instance
being edited. Supports several data editing opera-
tions including modify, delete and save.
STEP Entity Descriptor window: contains information
pertaining to an entity type including the list of
attributes and subtypes for the selected entity.
Each of these windows is described in detail below.
.fi
.LP
.I
DATA PROBE WINDOW
.nf
The Data Probe window is one of three windows appearing
initially when the Data Probe is run. It is composed of
the following four sections:
1. title
2. menu bar
3. quick reference
4. message bar
Each of these sections is described in detail below:
.I
Data Probe Window title section:
.fi
.LP
The title section shows the name of the schema for which the Data
Probe was created preceeded by the prefix 'DP-'.
.nf
.I
Data Probe Window menu bar section:
The menu bar consists of two pull-down menus labeled
Quit and File Management.
The Quit pull-down menu allows the user to exit Data
Probe. No warnings will be given before exiting.
The File Management pull-down menu allows the user to
perform operations on the following file types:
Exchange Files Data saved to these files must be in
complete STEP file format and must be
provided for all required attributes
in order to be used by application
programs that will rely on this data.
Working Files These files will not be used by appli-
cation programs and serve the purpose
of storing intermediate data for saving
the editing session.
Backup File This file is written regularly during
a Data Probe session to contain the
current Entity Instance List data. The
backup file is written in Working File
form. The default backup file is
dpAutoSave.wf and is written to the
directory where the command to run Data
Probe was issued unless instructed
otherwise by the user (See 'Backup File'
in table below and OPTIONS above).
The File Management pull-down menu supports file manage-
ment and other options as follows:
Options
Available
.I
with Options Description
Exchange File/ read replaces previous contents of
Working File Entity Instance List data
with the data in the file
selected.
write writes Entity Instance List
data to the file selected and
erases the previous contents
of the file, if any.
append writes Entity Instance List
from data to the file selected.
Backup File choose selects an alternate backup
file to which Entity Instance
List data will be periodic-
ally written.
write writes Entity Instance List
data to current backup file
selected.
Entity verify verifies that the instances
Instance List found in the Entity Instance
List are complete according
to the schema specification.
remove removes all instances in the
Entity Instance List which
are marked for deletion.
clear clears all instances found
in the Entity Instance List
regardless of their current
edit state (see the ENTITY
INSTANCE LIST section).
.I
Data Probe Window quick reference section:
This section shows the key bindings and button codes
available in the Step Entity Editor windows to perform the
following operations:
- close existing window
- open a new window
- get value from list
.I
Data Probe Window message bar section:
This section shows any resulting messages from actions
taken in any of the windows. The Clear button on left
enables the user to clear the current message shown.
.fi
.LP
.I
ENTITY TYPE LIST WINDOW
The Entity Type List is the second of the three windows appearing initially when the Data Probe is run. The Entity Type List displays the list of schema-specific entity types. In addition to the operations outlined in 'Using Lists' below, the Entity Type List allows the user to create an instance as follows:
.nf
.I
Creating an Instance
1. Select an entity type from the type list.
2. Select Create
- use Create button or
- type 'C'.
3. A STEP Entity Editor window appears for editing
the entity selected (See the STEP Entity Editor
Window section below).
.fi
.I
ENTITY INSTANCE LIST WINDOW
The Entity Instance List is the third of three windows initially appearing when the Data Probe is run. When an entity is selected from the Entity Type List or when instances are read in from a file, the instanced entities will appear on the Entity Instance List. In addition to the operations outlined in 'Using Lists' below, the Entity Instance List allows the user to view, modify, and save instances of entities.
.nf
.I
Edit State Markers:
.fi
.LP
The selection of any of the preceeding options is represented by an edit state code. An instance can be marked with an edit state option by typing the key which correlates to that option. The marked option is shown in lower case on the left of the selected instance. When the execute button is pressed, all marked options will be executed, reflected by an upper case letter edit state code which replaces the lower case marker to the left of the intance.
Below is a description of Entity List edit state codes and the keys that are used to select them:
KEY OPERATION EDIT STATE
s save complete (no capital letter) -- All (blank)
attribute values associated with the
instance must be valid and all required
attributes must exist.
i save incomplete -- All attribute values I
associated with the instance must be
valid, however all required attributes
may not exist. This allows attribute
values to be saved even though the entity
is incomplete. It also provides a way
for a user to mark an instance as needing
further attention even if all required
attributes exist.
d delete -- the entities in this edit D
state will be deleted when the contents
of the instance list are written to a
file.
m modify -- open an editor window for M
modifying instances.
v view -- open an editor window for view- V
ing only.
.I
STEP ENTITY EDITOR (SEE) WINDOW
The edit state options described above can also be executed from the STEP Entity Editor Window (SEE). The SEE Window is opened whenever the modify or view option is executed from the Entity Instance List or when an entity is created from the Entity Type List. The following are the operations supported in the SEE window:
.nf
.I
Changing the Edit State of an Entity
save instance to a complete state C-x C-s
save instance to an incomplete state C-x C-i
cancel changes to the entity; reverts C-x C-c
all attribute values to the last
saved (complete or incomplete) values
mark instance for deletion C-x C-d
Each of the above options can also be selected by
clicking the corresponding button in the SEE win-
dow.
.I
Selecting an Attribute
Using mouse:
Point the mouse cursor inside the attribute
editing box desired and click the left mouse
button.
Using key bindings:
select next attribute C-n
select previous attribute C-p
.I
Editing an Attribute
Using mouse:
Point the mouse cursor inside the desired editing
box and click the left mouse button to place the
cursor at the desired postion inside the editing
box.
Using key bindings:
move cursor forward C-f
move cursor backward C-b
move cursor to the end C-e
move cursor to the beginning C-a
move cursor one word forward <esc>-f
move cursor one word backward <esc>-b
Delete and undo:
deleting a portion of the attribute
1. Point the mouse cursor inside the desired attri-
bute editing box, click and hold the left mouse
button.
2. Drag the mouse to the left or right to highlight
desired text.
3. Press <delete> or input a value to replace selec-
ted text.
delete a character in place C-d
delete the previous character <delete> or
C-h
select the remainder of the word
following the cursor to be deleted C-w
select everything following the C-k
cursor to be deleted
select the entire text to be deleted C-u
undo attribute (revert attribute to C-x C-u
the last saved value)
Scrolling:
horizontal grab scroll - use left mouse button
1. Point the mouse inside the attribute list.
2. Press and hold the middle mouse button.
3. Slide the mouse left or right to scroll
the window in the same direction.
horizontal rate scroll - use right mouse button
1. Point the mouse inside the attribute list.
2. Press and hold the right mouse button.
3. Slide the mouse left or right to scroll
the window in the same direction.
The following editing actions are permissable on attributes
that are of type entity only:
edit entity - press the edit button (marked e) or type
C-x C-e
If the attribute contains an entity id, the
identified entity will be put on the screen
in a STEP Entity Editor window.
If the attribute is empty, a new entity of
the type corresponding to the attribute type
will be created and displayed on the screen
in a STEP Entity Editor window. The entity
id corresponding to the newly created entity
will be filled in for the attribute.
select marked entity - press the select mark button
(marked m) or type C-x C-m:
The entity id of the selected entity from the
Entity Instance List will be filed in for the
current atttribute.
.fi
.LP
.I
STEP ENTITY DESCRIPTOR WINDOW (SED)
The SED window enables the user to review information regarding an entity type. It may be opened by selecting the Type Information box in the Entity Type List or SEE window (See the Entity Type List and STEP Entity Editor window sections above). A SED window may also be opened from within a SED window as is described below.
.nf
Format of a SED window:
1. Entity Descriptor Boxes
The body of a SED window is composed of entity descrip-
tor boxes. These boxes are shown in order of inheri-
tance starting with the selected entity type at the bot-
tom of the window up to the root entity type shown at the
top of the window. Each entity descriptor box contains a
title bar, an attribute list and a subtype list described
below.
title bar - contains the name of the entity
in bold print at the left corner and the schema
in which the entity is defined at the right corner.
attribute list - a scrollable list of attributes
defined in the corresponding entity shown on the
left side of the descriptor box.
subtype list - a scrollable list of the subtypes
of the corresponding entity shown on the right side
of the descriptor box.
2. Attr. Type subwindow
The Attr. Type subwindow shown at the bottom of the SED
window displays further information regarding a selected
attrtibute.
Using a SED window:
1. Scrolling the attribute/subtype list
a. Place mouse pointer on up/down arrow.
b. Press right mouse button.
2. Viewing a detailed description of an attribute:
a. Place mouse pointer on desired
attribute.
b. Double click mouse button. A detailed description
of the attribute type will be displayed in the
Attr. Type subwindow located at the bottom of the
SED window.
3. Opening a SED window from the current SED window:
a. Place mouse cursor on the desired entity from
an entity subytpe list.
b. Double click the mouse button. A new SED window
will appear for the entity type selected.
3. Collapsing/Uncollapsing a descriptor box
Collapse - show title bar only
Uncollapse - show attribute and subtype lists
a. Place mouse cursor on collapse button of desired
descriptor box.
b. Click left mouse button. This will cause the
descriptor box to switch from uncollapsed to
collapsed or vice-versa depending on the current
state of the descriptor box.
Exiting a SED window:
1. Place mouse pointer on close button on left
top corner of window
2. Press left mouse button
Warning: Do not use the standard close and quit
options provided for windows. This may
cause you to inadvertantly quit the Data
Probe session. Use the close button pro-
vided.
.fi
.LP
.I
USING LISTS
The following instructions are applicable to both the Entity Instance List and the Entity Type List.
.nf
.I
Selecting an Entry
Using mouse:
Positon the mouse on the entry and click the left
mouse button.
Using keystroke commands:
search formward, selects the entry containing C-s
the substring specified in the search window
reverse search, selects the entry containing C-r
the substring specified in the search window
select next entry C-n
select previous entry C-p
select top entry <
select bottom entry >
deselect selected entry C-h
<delete>
.I
Reviewing Information Regarding an Entity Type
Allows the user to view information regarding attributes
and subtypes and supertypes of an entity type using a
STEP ENTITY DESCRIPTOR (SED) window:
Opening a SED window:
1. Select an entity type from list.
2. Select Type Information by placing the
mouse pointer on the Type Information
box and pressing the left mouse button.
For information on the use of the SED window, see the
STEP Entity Editor window section above.
.I
Scrolling Lists
Using mouse:
1. Position the mouse pointer to the scroll bar and
click.
2. Click (and optionally hold) the up mover or down
mover located above and below the scroll bar
respectively to scroll bar.
vertical grab scroll -- use middle mouse button
1. Point the mouse cursor inside the list.
2. Press and hold the right mouse button.
3. Slide the mouse up or down to move the display
up or down as desired.
vertical rate scroll -- use right mouse button
1. Point the mouse cusor inside the list.
2. Press and hold the right mouse button.
3. Slide the mouse up or down to scroll the list in
the desired direction at a rate increasing as the
mouse is moved away from its original position.
Using key bindings:
scroll list to beginning C-a
scroll list to end C-e
scroll up C-b
C-k
scroll down C-f
C-j
page down C-v
' '
half page down C-d
half page up C-u
.fi
.I
USING BUTTONS TO SELECT OPTIONS
Many of the Data Probe options can be selected by using keystroke commands as described. Some options, however may be selected by using the selection buttons which correspond to those options as follows:
.nf
1. Activate pull-down menu (if applicable):
- Place mouse pointer on menu button
- Press right mouse button and hold
2. Select an option
- Place mouse pointer on selection button correspond-
ing to the desired option
- Press left mouse button to activate option
.fi
.SH SEE ALSO
mkProbe(1)
.LP
ISO 10303-11:1994
.I
\Industrial automation systems and integration - Product data \
representation and exchange - Part 11: Description Methods: The \
EXPRESS Language Reference Manual.
.LP
ISO 10303-21:1994
.I
\Industrial automation systems and integration - Product data \
representation and exchange - Part 21: Implementation methods: \
Clear text encoding of the exchange structure.
.LP
Morris, K.C., Sauderd, D., Ressler, S.,
.I
\Validation Testing System: Reusable Software Component Design,
NISTIR 4937, National Institute of Standards and Technology, October
1992.
.LP
Sauder, D.,
.I
\Data Probe Users Guide,
NISTIR 5141, National Institute of Standards and Technology, March
1993.
.SH NOTE
.LP
The source code for the Data Probe was designed with reusability in
mind. The code uses the STEP Class Library (developed at NIST) and
the InterViews Toolkit (from Stanford). The STEP Class Library is
divided into four libraries: Stepcore & Editor, Utilities, General
User Interface, and Probe. Dependencies between these modules has
been minimized so that the executable program, the Data Probe, can be
easily reconfigured to support different conceptual schemas.
All NISTIR documents may be obtained through the National Technical
Information Service (NTIS), Springfield VA 22161, USA. Postscript
files may be obtained through anonymous ftp from ftp.cme.nist.gov (see
pub/step/nptdocs/readme.txt to determine the appropriate file to
download).
@@ -2,12 +2,12 @@
.\" part of their official duties and is, therefore, a work of the U.S.
.\" Government and not subject to copyright.
.\"
.\" $Id: exp2cxx.1,v 2.1.0.2 1998/02/27 23:54:30 sauderd Exp $
.\" $Id: fedex_plus.1,v 2.1.0.2 1998/02/27 23:54:30 sauderd Exp $
.TH FEDEX_PLUS 1 "19 November 1997"
.SH NAME
exp2cxx - EXPRESS compiler and translater
fedex_plus - EXPRESS compiler and translater
.SH SYNOPSIS
exp2cxx [ options ] [ express-file ]
fedex_plus [ options ] [ express-file ]
.nf
Command Arguments:
@@ -19,36 +19,36 @@ Command Arguments:
.fi
.SH DESCRIPTION
.LP
exp2cxx is based on the NIST EXPRESS compiler fedex. exp2cxx
fedex_plus is based on the NIST EXPRESS compiler fedex. fedex_plus
translates an EXPRESS file into C++ code and a class library. The C++
library includes classes for representing all the types and entities
in the input EXPRESS file, and a dictionary for describing those
classes. The translation depends on base classes provided in the NIST
STEP Class Library.
exp2cxx does not create C++ representations of the rules,
fedex_plus does not create C++ representations of the rules,
procedures, or any EXPRESS constructs other than schemas, types and
entities. It supports multiple schemas contained in a single file and
complex entities. It generates code which can be integrated with
orbix and ObjectStore.
Combined with the NIST STEP Class Library, the translator provides a
"C++ working form" of an EXPRESS schema. exp2cxx was designed for
"C++ working form" of an EXPRESS schema. fedex_plus was designed for
use together with a graphical data editing system (see dataprobe(1)),
but care has been taken to keep exp2cxx separate so that it can be
but care has been taken to keep fedex_plus separate so that it can be
used as a component of other software systems.
The exp2cxx compiler makes two passes through the EXPRESS file. In
the first pass exp2cxx reads the syntax of the EXPRESS file and
detects any errors. In the second pass exp2cxx converts the
The fedex_plus compiler makes two passes through the EXPRESS file. In
the first pass fedex_plus reads the syntax of the EXPRESS file and
detects any errors. In the second pass fedex_plus converts the
EXPRESS code into C++ source code. The C++ source code is generated
in files in the directory in which exp2cxx was run. The files are
in files in the directory in which fedex_plus was run. The files are
named according to the schema names in the input EXPRESS file.
.SH OPTIONS
.TP
.B -s|S
Tells exp2cxx to use only single-inheritance, rather than multiple
Tells fedex_plus to use only single-inheritance, rather than multiple
inheritance.
.TP
.B -c|C
@@ -94,7 +94,7 @@ If no arguments are given in the command line, a list and description
of the options available are sent to stdout.
.SH OUTPUT
exp2cxx sends the following to stdout subject to the options
fedex_plus sends the following to stdout subject to the options
specified when executed:
- a statement indicating that the Express schema is being
+195
View File
@@ -0,0 +1,195 @@
.\" This manual was prepared by United States Government employees as a
.\" part of their official duties and is, therefore, a work of the U.S.
.\" Government and not subject to copyright.
.\ "
.\" $Id: mkProbe.1,v 2.1.0.3 1997/10/23 17:03:36 kcm Exp $
.TH MKPROBE 1 "23 October 1997"
.SH NAME
mkProbe - script file used to generate a Data Probe or Part 21 file
reader executable for an EXPRESS schema.
.SH SYNOPSIS
.B mkProbe
[
.B -ilsSpP
]
[
.B -R
.I pdes-root
]
[
.B -E
.I express-path
]
.I express-file schema-name
.SH DESCRIPTION
.LP
mkProbe enables you to create a C++ library based on an EXPRESS file
and an executable Data Probe or Part 21 file reader application. The
Data Probe allows you to examine, input, and modify a data file
corresponding to an EXPRESS schema. The Data Probe generated is
specific to the express-file given as the first argument in the
mkProbe command. The Part 21 file reader simply reads and writes a
Part 21 file and outputs any errors encountered in the file.
.LP
The schema-name argument designates a location in which to place the
executable. The directory selected (see OPTIONS below) is searched
for the schema name provided. If schema-name does not exist, a
directory will be created using the name provided. schema-name is
also used as a suffix for the name of the executable.
.LP
A new directory is created under the directory from which the script
was run. fedex_plus is called from this directory to generate the C++
classes to represent the schema information (a.k.a. the Schema Class
Library.)
The new directory contains the following:
.nf
.ft B
1) the source code for the C++ classes generated by fedex_plus using
the first argument,
2) the object files generated from the source code above,
3) the library created from the object files above,
4) your new Data Probe executable (or p21read if the -p option was
used.)
i.e. under the directory from which the
script was run you will find the
following executable:
{schema-name}/dp_{schema-name}
(or {schema-name}/p21read_{schema-name})
.fi
.ft R
.SH OPTIONS
.TP
.B -i
Indicates that the new Data Probe should be installed into the PDES
root directory. If -i is not specified the new Data Probe will be
created in the directory from which the mkProbe script is run.
.TP
.B -l
Tells the script to only generate the library for the schema, and
not to create the Data Probe application.
.TP
.B -p
.PD 0
.TP
.B -P
Tells the script to generate the Part 21 file reader for the schema,
rather than the Data Probe application.
.TP
.B -s
.PD 0
.TP
.B -S
Tells fedex_plus to use only single-inheritance, rather than multiple
inheritance.
.PD
.TP
.BI -R " pdes_root"
Set the PDES root directory. This is the directory that mkProbe will
consider the root of the source tree.
The PDES root directory can also be defined by the environment
variable PDES_ROOT. This variable should be set using the appropriate
shell command. For example, C shell users would give the command
.nf
.ft B
setenv PDES_ROOT ~pdes
.fi
.ft R
If the
.B -r
option is not given, and the PDES_ROOT environment variable is not
set, mkProbe looks for the directory /proj/pdevel to use as the root.
.TP
.BI -E " express-path"
Specifies an EXPRESS_PATH environment variable to be used when
fedex_plus is executed in mkProbe. If this option is not set, mkProbe
will use the current EXPRESS_PATH environment variable. For more
information, see the documentation on the
.I NIST EXPRESS Toolkit.
.TP
.I express-file
The Express file used to create the schema specific Data Probe.
.TP
.I schema-name
A schema name which is used for naming a new directory and the Data
Probe executable.
.SH EXAMPLES
.nf
.ft B
Input command line location and name
----------------------------------------------------
mkProbe part41.exp pt41 ./pt41/dp_pt41
mkProbe -p part41.exp pt41 ./pt41/p21read_pt41
mkProbe -i part41.exp pt41 $PDES_ROOT/arch/Probes/pt41/dp_pt41
.ft R
.SH OUTPUT
If errors are detected, the output generated shows the following:
- Errors in input
- Compilation errors
If no errors are encountered, the output generated shows
the following:
- The name of the new Data Probe generated
- Instructions for running Data Probe
.SH SEE ALSO
fedex_plus(1)
.LP
http://scl.nist.gov
.LP
ISO 10303-11:1994
.I
\Industrial Automation Systems and Integration - Product Data \
Representation and Exchange - Part 11: Description Methods: The \
EXPRESS Language Reference Manual.
.LP
Morris, K.C., Sauderd, D., Ressler, S.,
.I
\Validation Testing System: Reusable Software Component Design,
NISTIR 4937, National Institute of Standards and Technology, October
1992.
.LP
Sauder, D.,
.I
\Data Probe Users Guide,
NISTIR 5141, National Institute of Standards and Technology, March
1993.
.SH NOTE
.LP
All NISTIR documents may be obtained through the National Technical
Information Service (NTIS), Springfield VA 22161, USA or through the
web. See http://scl.nist.gov for a listing of related
documentation.
-91
View File
@@ -1,91 +0,0 @@
#
# CMakeLists.txt for AP203 Minimum
#
# This file is released to the public domain. Any part of this file may be
# freely copied in part or in full for any purpose. No acknowledgment is required
# for the use of this file.
#
PROJECT( AP203Minimum )
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
# Set STEPCODE_ROOT_DIR to point to the root of the STEPcode source tree.
if( NOT DEFINED STEPCODE_ROOT_DIR )
message( FATAL_ERROR "STEPCODE_ROOT_DIR is not defined! Set via cmake-gui or on command line:\n cmake .. -DSTEPCODE_ROOT_DIR=/path/to/sc" )
endif( NOT DEFINED STEPCODE_ROOT_DIR )
# STEPCODE_ROOT_DIR is relative or absolute path?
if( EXISTS "${CMAKE_BINARY_DIR}/${STEPCODE_ROOT_DIR}/SC_VERSION.txt" )
set( STEPCODE_ROOT_DIR "${CMAKE_BINARY_DIR}/${STEPCODE_ROOT_DIR}" )
message( "** STEPCODE_ROOT_DIR is a relative path; converted to absolute path: ${STEPCODE_ROOT_DIR}." )
else()
if( NOT EXISTS "${STEPCODE_ROOT_DIR}/SC_VERSION.txt" )
message( FATAL_ERROR "**** Cannot locate STEPCODE_ROOT_DIR - try an absolute path." )
endif( NOT EXISTS "${STEPCODE_ROOT_DIR}/SC_VERSION.txt" )
endif( EXISTS "${CMAKE_BINARY_DIR}/${STEPCODE_ROOT_DIR}/SC_VERSION.txt" )
# Use STEPcode as library, but build from this build process.
set( SC_IS_SUBBUILD TRUE )
# Build type, DEBUG or RELEASE
if( NOT DEFINED CMAKE_BUILD_TYPE )
set( CMAKE_BUILD_TYPE Debug )
endif( NOT DEFINED CMAKE_BUILD_TYPE )
set( SC_BUILD_TYPE ${CMAKE_BUILD_TYPE} )
# Path to STEPcode
set( STEPCODE_BUILD_DIR ${CMAKE_BINARY_DIR}/sc CACHE PATH "STEPcode build subdir" )
# STEP schema to build and link against.
set( SCHEMA ap203 )
set( SC_BUILD_SCHEMAS ${SCHEMA} CACHE INTERNAL "Schema, internal, immutable" FORCE )
# Parse out schema name and library.
set( SCHEMA_PATH "${STEPCODE_ROOT_DIR}/data/${SCHEMA}/*.exp" )
file( GLOB SCHEMA_FILE "${SCHEMA_PATH}" )
if( NOT EXISTS ${SCHEMA_FILE} )
message( FATAL_ERROR "Cannot find the schema; cannot continue. Looked for ${SCHEMA_PATH} from ${CMAKE_CURRENT_LIST_DIR}" )
endif( NOT EXISTS ${SCHEMA_FILE} )
get_filename_component( SCHEMA_SN ${SCHEMA_FILE} NAME )
string( REGEX REPLACE "\(.*\).[Ee][Xx][Pp]" "\\1" SCHEMA_LINK_NAME ${SCHEMA_SN} )
set( STEPCODE_LIBRARIES base stepcore stepeditor stepdai steputils sdai_${SCHEMA_LINK_NAME} )
# Add STEPCode project to CMake build.
add_subdirectory( ${STEPCODE_ROOT_DIR} "${CMAKE_CURRENT_BINARY_DIR}/sc" EXCLUDE_FROM_ALL )
# Set up STEPcode include directories.
set( STEPCODE_INCLUDE_DIR
${STEPCODE_ROOT_DIR}/src/base
${STEPCODE_ROOT_DIR}/src/clstepcore
${STEPCODE_ROOT_DIR}/src/cldai
${STEPCODE_ROOT_DIR}/src/clutils
${STEPCODE_ROOT_DIR}/src/cleditor
${STEPCODE_BUILD_DIR}/include
${STEPCODE_ROOT_DIR}/include
${CMAKE_BINARY_DIR}
)
# Reset sane values for build destination. Otherwise, everything ends up in ${CMAKE_BINARY_DIR}/sc
set( CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib )
set( CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin )
include_directories(
${STEPCODE_INCLUDE_DIR}
)
# Application sources and headers
set( SRCS
ap203min.cpp
)
set( HDRS
)
add_executable( ${PROJECT_NAME} ${SRCS} ${HDRS} )
target_link_libraries( ${PROJECT_NAME} ${STEPCODE_LIBRARIES} )
set_target_properties( ${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "-I${STEPCODE_BUILD_DIR}/data/${SCHEMA_LINK_NAME}" )
-723
View File
@@ -1,723 +0,0 @@
//*****************************************************************************
// AP203 Minimum
//
// This program is intended to serve as a tutorial example for programmers
// interested in learning about ISO 10303 (STEP), the STEPcode project, and
// the AP203 portion of STEP.
//
// This program creates and connects the minimum set of entities required
// to form a valid AP203 STEP file. Inspiration for this program came from
// Appendix B of 'Recommended Practices for AP 203' released to the public
// domain in 1998 by PDES Inc. The recommended practices document is
// available online at:
//
// http://www.steptools.com/support/stdev_docs/express/ap203/recprac203v8.pdf
//
// The recommended practices document states:
//
// "This document has been developed by the PDES, Inc. Industry
// consortium to aid in accelerating the implementation of the
// STEP standard. It has not been copyrighted to allow for the
// free exchange of the information. PDES, Inc. Requests that
// anyone using this information provide acknowledgment that
// PDES, Inc. was the original author."
//
// In the same spirit, this program is released to the public domain. Any
// part of this program may be freely copied in part or in full for any
// purpose. No acknowledgment is required for the use of this code.
//
// This program was written by Rob McDonald in October 2013. Since that
// time, it has been maintained by the STEPcode project.
//
//****************************************************************************/
// This program uses CMake to build Makefiles or other project files. It
// includes a CMakeLists.txt program that also builds STEPcode as a sub-build.
// To compile, you must tell CMake where your STEPcode source tree is located
// by setting STEPCODE_ROOT_DIR. To compile:
//
// $ pwd
// .../stepcode/example/ap203min
// $ mkdir build
// $ cd build
// $ cmake .. -DSTEPCODE_ROOT_DIR=../../..
// $ make
// $ cd bin
// $ ls
// AP203Minimum
// $./AP203Minimum
// AP203Minimum outfile.stp
extern void
SchemaInit( class Registry & );
#include <STEPfile.h>
#include <sdai.h>
#include <STEPattribute.h>
#include <ExpDict.h>
#include <Registry.h>
#include <errordesc.h>
#include <STEPcomplex.h>
#include <SdaiHeaderSchema.h>
#include "schema.h"
#include <SdaiCONFIG_CONTROL_DESIGN.h>
#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif
enum LenEnum { MM, CM, M, IN, FT, YD };
enum AngEnum { RAD, DEG };
STEPcomplex * Geometric_Context( Registry * registry, InstMgr * instance_list, const LenEnum & len, const AngEnum & angle, const char * tolstr ) {
int instance_cnt = 0;
STEPattribute * attr;
STEPcomplex * stepcomplex;
SdaiDimensional_exponents * dimensional_exp = new SdaiDimensional_exponents();
dimensional_exp->length_exponent_( 0.0 );
dimensional_exp->mass_exponent_( 0.0 );
dimensional_exp->time_exponent_( 0.0 );
dimensional_exp->electric_current_exponent_( 0.0 );
dimensional_exp->thermodynamic_temperature_exponent_( 0.0 );
dimensional_exp->amount_of_substance_exponent_( 0.0 );
dimensional_exp->luminous_intensity_exponent_( 0.0 );
instance_list->Append( ( SDAI_Application_instance * ) dimensional_exp, completeSE );
instance_cnt++;
STEPcomplex * ua_length;
// First set up metric units if appropriate. Default to mm.
// If imperial units, set up mm to be used as base to define imperial units.
Si_prefix pfx = Si_prefix__milli;
switch( len ) {
case CM:
pfx = Si_prefix__centi;
break;
case M:
pfx = Si_prefix_unset;
break;
}
const char * ua_length_types[4] = { "length_unit", "named_unit", "si_unit", "*" };
ua_length = new STEPcomplex( registry, ( const char ** ) ua_length_types, instance_cnt );
stepcomplex = ua_length->head;
while( stepcomplex ) {
if( !strcmp( stepcomplex->EntityName(), "Si_Unit" ) ) {
stepcomplex->ResetAttributes();
while( ( attr = stepcomplex->NextAttribute() ) != NULL ) {
if( !strcmp( attr->Name(), "prefix" ) ) {
attr->Enum( new SdaiSi_prefix_var( pfx ) );
}
if( !strcmp( attr->Name(), "name" ) ) {
attr->Enum( new SdaiSi_unit_name_var( Si_unit_name__metre ) );
}
}
}
stepcomplex = stepcomplex->sc;
}
instance_list->Append( ( SDAI_Application_instance * ) ua_length, completeSE );
instance_cnt++;
// If imperial, create conversion based unit.
if( len >= IN ) {
STEPcomplex * len_mm = ua_length;
char lenname[10];
double lenconv;
switch( len ) {
case IN:
strcat( lenname, "'INCH'\0" );
lenconv = 25.4;
break;
case FT:
strcat( lenname, "'FOOT'\0" );
lenconv = 25.4 * 12.0;
break;
case YD:
strcat( lenname, "'YARD'\0" );
lenconv = 25.4 * 36.0;
break;
}
SdaiUnit * len_unit = new SdaiUnit( ( SdaiNamed_unit * ) len_mm );
SdaiMeasure_value * len_measure_value = new SdaiMeasure_value( lenconv, config_control_design::t_measure_value );
len_measure_value->SetUnderlyingType( config_control_design::t_length_measure );
SdaiLength_measure_with_unit * len_measure_with_unit = new SdaiLength_measure_with_unit();
len_measure_with_unit->value_component_( len_measure_value );
len_measure_with_unit->unit_component_( len_unit );
instance_list->Append( ( SDAI_Application_instance * ) len_measure_with_unit, completeSE );
instance_cnt++;
SdaiDimensional_exponents * dimensional_exp_len = new SdaiDimensional_exponents();
dimensional_exp_len->length_exponent_( 1.0 );
dimensional_exp_len->mass_exponent_( 0.0 );
dimensional_exp_len->time_exponent_( 0.0 );
dimensional_exp_len->electric_current_exponent_( 0.0 );
dimensional_exp_len->thermodynamic_temperature_exponent_( 0.0 );
dimensional_exp_len->amount_of_substance_exponent_( 0.0 );
dimensional_exp_len->luminous_intensity_exponent_( 0.0 );
instance_list->Append( ( SDAI_Application_instance * ) dimensional_exp_len, completeSE );
instance_cnt++;
const char * ua_conv_len_types[4] = { "conversion_based_unit", "named_unit", "length_unit", "*" };
ua_length = new STEPcomplex( registry, ( const char ** ) ua_conv_len_types, instance_cnt );
stepcomplex = ua_length->head;
while( stepcomplex ) {
if( !strcmp( stepcomplex->EntityName(), "Conversion_Based_Unit" ) ) {
stepcomplex->ResetAttributes();
while( ( attr = stepcomplex->NextAttribute() ) != NULL ) {
if( !strcmp( attr->Name(), "name" ) ) {
attr->StrToVal( lenname );
}
if( !strcmp( attr->Name(), "conversion_factor" ) ) {
attr->Entity( ( STEPentity * )( len_measure_with_unit ) );
}
}
}
if( !strcmp( stepcomplex->EntityName(), "Named_Unit" ) ) {
stepcomplex->ResetAttributes();
while( ( attr = stepcomplex->NextAttribute() ) != NULL ) {
if( !strcmp( attr->Name(), "dimensions" ) ) {
attr->Entity( ( STEPentity * )( dimensional_exp_len ) );
}
}
}
stepcomplex = stepcomplex->sc;
}
instance_list->Append( ( SDAI_Application_instance * ) ua_length, completeSE );
instance_cnt++;
}
SdaiUncertainty_measure_with_unit * uncertainty = ( SdaiUncertainty_measure_with_unit * )registry->ObjCreate( "UNCERTAINTY_MEASURE_WITH_UNIT" );
uncertainty->name_( "'DISTANCE_ACCURACY_VALUE'" );
uncertainty->description_( "'Threshold below which geometry imperfections (such as overlaps) are not considered errors.'" );
SdaiUnit * tol_unit = new SdaiUnit( ( SdaiNamed_unit * ) ua_length );
uncertainty->ResetAttributes();
{
while( ( attr = uncertainty->NextAttribute() ) != NULL ) {
if( !strcmp( attr->Name(), "unit_component" ) ) {
attr->Select( tol_unit );
}
if( !strcmp( attr->Name(), "value_component" ) ) {
attr->StrToVal( tolstr );
}
}
}
instance_list->Append( ( SDAI_Application_instance * ) uncertainty, completeSE );
instance_cnt++;
// First set up radians as base angle unit.
const char * ua_plane_angle_types[4] = { "named_unit", "plane_angle_unit", "si_unit", "*" };
STEPcomplex * ua_plane_angle = new STEPcomplex( registry, ( const char ** ) ua_plane_angle_types, instance_cnt );
stepcomplex = ua_plane_angle->head;
while( stepcomplex ) {
if( !strcmp( stepcomplex->EntityName(), "Si_Unit" ) ) {
stepcomplex->ResetAttributes();
while( ( attr = stepcomplex->NextAttribute() ) != NULL ) {
if( !strcmp( attr->Name(), "name" ) ) {
attr->Enum( new SdaiSi_unit_name_var( Si_unit_name__radian ) );
}
}
}
stepcomplex = stepcomplex->sc;
}
instance_list->Append( ( SDAI_Application_instance * ) ua_plane_angle, completeSE );
instance_cnt++;
// If degrees, create conversion based unit.
if( angle == DEG ) {
STEPcomplex * ang_rad = ua_plane_angle;
const double angconv = ( 3.14159265358979323846264338327950 / 180.0 );
SdaiUnit * p_ang_unit = new SdaiUnit( ( SdaiNamed_unit * ) ang_rad );
SdaiMeasure_value * p_ang_measure_value = new SdaiMeasure_value( angconv, config_control_design::t_measure_value );
p_ang_measure_value->SetUnderlyingType( config_control_design::t_plane_angle_measure );
SdaiPlane_angle_measure_with_unit * p_ang_measure_with_unit = new SdaiPlane_angle_measure_with_unit();
p_ang_measure_with_unit->value_component_( p_ang_measure_value );
p_ang_measure_with_unit->unit_component_( p_ang_unit );
instance_list->Append( ( SDAI_Application_instance * ) p_ang_measure_with_unit, completeSE );
instance_cnt++;
const char * ua_conv_angle_types[4] = { "conversion_based_unit", "named_unit", "plane_angle_unit", "*" };
ua_plane_angle = new STEPcomplex( registry, ( const char ** ) ua_conv_angle_types, instance_cnt );
stepcomplex = ua_plane_angle->head;
while( stepcomplex ) {
if( !strcmp( stepcomplex->EntityName(), "Conversion_Based_Unit" ) ) {
stepcomplex->ResetAttributes();
while( ( attr = stepcomplex->NextAttribute() ) != NULL ) {
if( !strcmp( attr->Name(), "name" ) ) {
attr->StrToVal( "'DEGREES'" );
}
if( !strcmp( attr->Name(), "conversion_factor" ) ) {
attr->Entity( ( STEPentity * )( p_ang_measure_with_unit ) );
}
}
}
if( !strcmp( stepcomplex->EntityName(), "Named_Unit" ) ) {
stepcomplex->ResetAttributes();
while( ( attr = stepcomplex->NextAttribute() ) != NULL ) {
if( !strcmp( attr->Name(), "dimensions" ) ) {
attr->Entity( ( STEPentity * )( dimensional_exp ) );
}
}
}
stepcomplex = stepcomplex->sc;
}
instance_list->Append( ( SDAI_Application_instance * ) ua_plane_angle, completeSE );
instance_cnt++;
}
const char * ua_solid_angle_types[4] = { "named_unit", "si_unit", "solid_angle_unit", "*" };
STEPcomplex * ua_solid_angle = new STEPcomplex( registry, ( const char ** ) ua_solid_angle_types, instance_cnt );
stepcomplex = ua_solid_angle->head;
while( stepcomplex ) {
if( !strcmp( stepcomplex->EntityName(), "Si_Unit" ) ) {
stepcomplex->ResetAttributes();
while( ( attr = stepcomplex->NextAttribute() ) != NULL ) {
if( !strcmp( attr->Name(), "name" ) ) {
attr->Enum( new SdaiSi_unit_name_var( Si_unit_name__steradian ) );
}
}
}
stepcomplex = stepcomplex->sc;
}
instance_list->Append( ( SDAI_Application_instance * ) ua_solid_angle, completeSE );
instance_cnt++;
// All units set up, stored in: ua_length, ua_plane_angle, ua_solid_angle
const char * entNmArr[5] = { "geometric_representation_context", "global_uncertainty_assigned_context", "global_unit_assigned_context", "representation_context", "*" };
STEPcomplex * complex_entity = new STEPcomplex( registry, ( const char ** ) entNmArr, instance_cnt );
stepcomplex = complex_entity->head;
while( stepcomplex ) {
if( !strcmp( stepcomplex->EntityName(), "Geometric_Representation_Context" ) ) {
stepcomplex->ResetAttributes();
while( ( attr = stepcomplex->NextAttribute() ) != NULL ) {
if( !strcmp( attr->Name(), "coordinate_space_dimension" ) ) {
attr->StrToVal( "3" );
}
}
}
if( !strcmp( stepcomplex->EntityName(), "Global_Uncertainty_Assigned_Context" ) ) {
stepcomplex->ResetAttributes();
while( ( attr = stepcomplex->NextAttribute() ) != NULL ) {
if( !strcmp( attr->Name(), "uncertainty" ) ) {
EntityAggregate * unc_agg = new EntityAggregate();
unc_agg->AddNode( new EntityNode( ( SDAI_Application_instance * ) uncertainty ) );
attr->Aggregate( unc_agg );
}
}
}
if( !strcmp( stepcomplex->EntityName(), "Global_Unit_Assigned_Context" ) ) {
stepcomplex->ResetAttributes();
while( ( attr = stepcomplex->NextAttribute() ) != NULL ) {
std::string attrval;
if( !strcmp( attr->Name(), "units" ) ) {
EntityAggregate * unit_assigned_agg = new EntityAggregate();
unit_assigned_agg->AddNode( new EntityNode( ( SDAI_Application_instance * ) ua_length ) );
unit_assigned_agg->AddNode( new EntityNode( ( SDAI_Application_instance * ) ua_plane_angle ) );
unit_assigned_agg->AddNode( new EntityNode( ( SDAI_Application_instance * ) ua_solid_angle ) );
attr->Aggregate( unit_assigned_agg );
}
}
}
if( !strcmp( stepcomplex->EntityName(), "Representation_Context" ) ) {
stepcomplex->ResetAttributes();
while( ( attr = stepcomplex->NextAttribute() ) != NULL ) {
if( !strcmp( attr->Name(), "context_identifier" ) ) {
attr->StrToVal( "'STANDARD'" );
}
if( !strcmp( attr->Name(), "context_type" ) ) {
attr->StrToVal( "'3D'" );
}
}
}
stepcomplex = stepcomplex->sc;
}
instance_list->Append( ( SDAI_Application_instance * ) complex_entity, completeSE );
instance_cnt++;
return complex_entity;
}
SdaiCartesian_point * MakePoint( Registry * registry, InstMgr * instance_list, const double & x, const double & y, const double & z ) {
SdaiCartesian_point * pnt = ( SdaiCartesian_point * ) registry->ObjCreate( "CARTESIAN_POINT" );
pnt->name_( "''" );
RealAggregate * coords = pnt->coordinates_();
RealNode * xnode = new RealNode();
xnode->value = x;
coords->AddNode( xnode );
RealNode * ynode = new RealNode();
ynode->value = y;
coords->AddNode( ynode );
RealNode * znode = new RealNode();
znode->value = z;
coords->AddNode( znode );
instance_list->Append( ( SDAI_Application_instance * ) pnt, completeSE );
return pnt;
}
SdaiDirection * MakeDirection( Registry * registry, InstMgr * instance_list, const double & x, const double & y, const double & z ) {
SdaiDirection * dir = ( SdaiDirection * ) registry->ObjCreate( "DIRECTION" );
dir->name_( "''" );
RealAggregate * components = dir->direction_ratios_();
RealNode * xnode = new RealNode();
xnode->value = x;
components->AddNode( xnode );
RealNode * ynode = new RealNode();
ynode->value = y;
components->AddNode( ynode );
RealNode * znode = new RealNode();
znode->value = z;
components->AddNode( znode );
instance_list->Append( ( SDAI_Application_instance * ) dir, completeSE );
return dir;
}
SdaiAxis2_placement_3d * DefaultAxis( Registry * registry, InstMgr * instance_list ) {
SdaiCartesian_point * pnt = MakePoint( registry, instance_list, 0.0, 0.0, 0.0 );
SdaiDirection * axis = MakeDirection( registry, instance_list, 0.0, 0.0, 1.0 );
SdaiDirection * refd = MakeDirection( registry, instance_list, 1.0, 0.0, 0.0 );
SdaiAxis2_placement_3d * placement = ( SdaiAxis2_placement_3d * ) registry->ObjCreate( "AXIS2_PLACEMENT_3D" );
placement->name_( "''" );
placement->location_( pnt );
placement->axis_( axis );
placement->ref_direction_( refd );
instance_list->Append( ( SDAI_Application_instance * ) placement, completeSE );
return placement;
}
SdaiDate_and_time * DateTime( Registry * registry, InstMgr * instance_list ) {
SdaiCalendar_date * caldate = ( SdaiCalendar_date * ) registry->ObjCreate( "CALENDAR_DATE" );
instance_list->Append( ( SDAI_Application_instance * ) caldate, completeSE );
caldate->year_component_( 2000 );
caldate->month_component_( 1 );
caldate->day_component_( 1 );
SdaiCoordinated_universal_time_offset * tzone = ( SdaiCoordinated_universal_time_offset * ) registry->ObjCreate( "COORDINATED_UNIVERSAL_TIME_OFFSET" );
instance_list->Append( ( SDAI_Application_instance * ) tzone, completeSE );
tzone->hour_offset_( 0 );
tzone->minute_offset_( 0 );
tzone->sense_( Ahead_or_behind__behind );
SdaiLocal_time * loctime = ( SdaiLocal_time * ) registry->ObjCreate( "LOCAL_TIME" );
instance_list->Append( ( SDAI_Application_instance * ) loctime, completeSE );
loctime->hour_component_( 12 );
loctime->minute_component_( 0 );
loctime->second_component_( 0 );
loctime->zone_( tzone );
SdaiDate_and_time * date_time = ( SdaiDate_and_time * ) registry->ObjCreate( "DATE_AND_TIME" );
instance_list->Append( ( SDAI_Application_instance * )date_time, completeSE );
date_time->date_component_( caldate );
date_time->time_component_( loctime );
return date_time;
}
SdaiSecurity_classification * Classification( Registry * registry, InstMgr * instance_list, SdaiPerson_and_organization * per_org, SdaiDate_and_time * date_time, SdaiProduct_definition_formation_with_specified_source * prod_def_form ) {
SdaiSecurity_classification_level * level = ( SdaiSecurity_classification_level * ) registry->ObjCreate( "SECURITY_CLASSIFICATION_LEVEL" );
instance_list->Append( ( SDAI_Application_instance * ) level, completeSE );
level->name_( "'unclassified'" );
SdaiSecurity_classification * clas = ( SdaiSecurity_classification * ) registry->ObjCreate( "SECURITY_CLASSIFICATION" );
instance_list->Append( ( SDAI_Application_instance * ) clas, completeSE );
clas->name_( "''" );
clas->purpose_( "''" );
clas->security_level_( level );
SdaiCc_design_security_classification * des_class = ( SdaiCc_design_security_classification * ) registry->ObjCreate( "CC_DESIGN_SECURITY_CLASSIFICATION" );
instance_list->Append( ( SDAI_Application_instance * ) des_class, completeSE );
des_class->assigned_security_classification_( clas );
des_class->items_()->AddNode( new EntityNode( ( SDAI_Application_instance * ) prod_def_form ) );
SdaiPerson_and_organization_role * class_role = ( SdaiPerson_and_organization_role * ) registry->ObjCreate( "PERSON_AND_ORGANIZATION_ROLE" );
instance_list->Append( ( SDAI_Application_instance * ) class_role, completeSE );
class_role->name_( "'classification_officer'" );
SdaiCc_design_person_and_organization_assignment * class_personorg = ( SdaiCc_design_person_and_organization_assignment * ) registry->ObjCreate( "CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT" );
instance_list->Append( ( SDAI_Application_instance * ) class_personorg, completeSE );
class_personorg->assigned_person_and_organization_( per_org );
class_personorg->items_()->AddNode( new EntityNode( ( SDAI_Application_instance * ) clas ) );
class_personorg->role_( class_role );
SdaiDate_time_role * class_datetime = ( SdaiDate_time_role * ) registry->ObjCreate( "DATE_TIME_ROLE" );
instance_list->Append( ( SDAI_Application_instance * ) class_datetime, completeSE );
class_datetime->name_( "'classification_date'" );
SdaiCc_design_date_and_time_assignment * assign = ( SdaiCc_design_date_and_time_assignment * ) registry->ObjCreate( "CC_DESIGN_DATE_AND_TIME_ASSIGNMENT" );
instance_list->Append( ( SDAI_Application_instance * ) assign, completeSE );
assign->assigned_date_and_time_( date_time );
assign->items_()->AddNode( new EntityNode( ( SDAI_Application_instance * ) clas ) );
assign->role_( class_datetime );
return clas;
}
int main( void ) {
// The registry contains information about types present in the current schema; SchemaInit is a function in the schema-specific SDAI library
Registry * registry = new Registry( SchemaInit );
// The InstMgr holds instances that have been created or that have been loaded from a file
InstMgr * instance_list = new InstMgr();
// Increment FileId so entities start at #1 instead of #0.
instance_list->NextFileId();
// STEPfile takes care of reading and writing Part 21 files
STEPfile * sfile = new STEPfile( *registry, *instance_list, "", false );
registry->ResetSchemas();
registry->ResetEntities();
// Build file header
InstMgr * header_instances = sfile->HeaderInstances();
SdaiFile_name * fn = ( SdaiFile_name * ) sfile->HeaderDefaultFileName();
header_instances->Append( ( SDAI_Application_instance * ) fn, completeSE );
fn->name_( "'outfile.stp'" );
fn->time_stamp_( "''" );
fn->author_()->AddNode( new StringNode( "''" ) );
fn->organization_()->AddNode( new StringNode( "''" ) );
fn->preprocessor_version_( "''" );
fn->originating_system_( "''" );
fn->authorization_( "''" );
SdaiFile_description * fd = ( SdaiFile_description * ) sfile->HeaderDefaultFileDescription();
header_instances->Append( ( SDAI_Application_instance * ) fd, completeSE );
fd->description_()->AddNode( new StringNode( "''" ) );
fd->implementation_level_( "'1'" );
SdaiFile_schema * fs = ( SdaiFile_schema * ) sfile->HeaderDefaultFileSchema();
header_instances->Append( ( SDAI_Application_instance * ) fs, completeSE );
fs->schema_identifiers_()->AddNode( new StringNode( "'CONFIG_CONTROL_DESIGN'" ) );
// Build file data. The entities have been created and added in order such that no entity
// references a later entity. This is not required, but has been done to give a logical
// flow to the source and the resulting STEP file.
// Stand-in date and time.
SdaiDate_and_time * date_time = DateTime( registry, instance_list );
// Global units and tolerance.
STEPcomplex * context = Geometric_Context( registry, instance_list, MM, DEG, "0.0001" );
// Primary coordinate system.
SdaiAxis2_placement_3d * orig_transform = DefaultAxis( registry, instance_list );
// Basic context through product and shape representation
SdaiApplication_context * app_context = ( SdaiApplication_context * ) registry->ObjCreate( "APPLICATION_CONTEXT" );
instance_list->Append( ( SDAI_Application_instance * ) app_context, completeSE );
app_context->application_( "'configuration controlled 3d designs of mechanical parts and assemblies'" );
SdaiMechanical_context * mech_context = ( SdaiMechanical_context * ) registry->ObjCreate( "MECHANICAL_CONTEXT" );
instance_list->Append( ( SDAI_Application_instance * ) mech_context, completeSE );
mech_context->name_( "''" );
mech_context->discipline_type_( "'mechanical'" );
mech_context->frame_of_reference_( app_context );
SdaiApplication_protocol_definition * app_protocol = ( SdaiApplication_protocol_definition * ) registry->ObjCreate( "APPLICATION_PROTOCOL_DEFINITION" );
instance_list->Append( ( SDAI_Application_instance * ) app_protocol, completeSE );
app_protocol->status_( "'international standard'" );
app_protocol->application_protocol_year_( 1994 );
app_protocol->application_interpreted_model_schema_name_( "'config_control_design'" );
app_protocol->application_( app_context );
SdaiDesign_context * design_context = ( SdaiDesign_context * ) registry->ObjCreate( "DESIGN_CONTEXT" );
instance_list->Append( ( SDAI_Application_instance * ) design_context, completeSE );
design_context->name_( "''" );
design_context->life_cycle_stage_( "'design'" );
design_context->frame_of_reference_( app_context );
SdaiProduct * prod = ( SdaiProduct * ) registry->ObjCreate( "PRODUCT" );
instance_list->Append( ( SDAI_Application_instance * ) prod, completeSE );
prod->id_( "''" );
prod->name_( "'prodname'" );
prod->description_( "''" );
prod->frame_of_reference_()->AddNode( new EntityNode( ( SDAI_Application_instance * ) mech_context ) );
SdaiProduct_related_product_category * prodcat = ( SdaiProduct_related_product_category * ) registry->ObjCreate( "PRODUCT_RELATED_PRODUCT_CATEGORY" );
instance_list->Append( ( SDAI_Application_instance * ) prodcat, completeSE );
prodcat->name_( "'assembly'" );
prodcat->description_( "''" );
prodcat->products_()->AddNode( new EntityNode( ( SDAI_Application_instance * ) prod ) );
SdaiProduct_definition_formation_with_specified_source * prod_def_form = ( SdaiProduct_definition_formation_with_specified_source * ) registry->ObjCreate( "PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE" );
instance_list->Append( ( SDAI_Application_instance * ) prod_def_form, completeSE );
prod_def_form->id_( "''" );
prod_def_form->description_( "''" );
prod_def_form->of_product_( prod );
prod_def_form->make_or_buy_( Source__made );
SdaiProduct_definition * prod_def = ( SdaiProduct_definition * ) registry->ObjCreate( "PRODUCT_DEFINITION" );
instance_list->Append( ( SDAI_Application_instance * ) prod_def, completeSE );
prod_def->id_( "''" );
prod_def->description_( "''" );
prod_def->frame_of_reference_( design_context );
prod_def->formation_( prod_def_form );
SdaiProduct_definition_shape * pshape = ( SdaiProduct_definition_shape * ) registry->ObjCreate( "PRODUCT_DEFINITION_SHAPE" );
instance_list->Append( ( SDAI_Application_instance * ) pshape, completeSE );
pshape->name_( "''" );
pshape->description_( "'ProductShapeDescription'" );
pshape->definition_( new SdaiCharacterized_definition( new SdaiCharacterized_product_definition( prod_def ) ) );
SdaiShape_representation * shape_rep = ( SdaiShape_representation * ) registry->ObjCreate( "SHAPE_REPRESENTATION" );
instance_list->Append( ( SDAI_Application_instance * ) shape_rep, completeSE );
shape_rep->name_( "''" ); // Document?
shape_rep->items_()->AddNode( new EntityNode( ( SDAI_Application_instance * ) orig_transform ) );
shape_rep->context_of_items_( ( SdaiRepresentation_context * ) context );
SdaiShape_definition_representation * shape_def_rep = ( SdaiShape_definition_representation * ) registry->ObjCreate( "SHAPE_DEFINITION_REPRESENTATION" );
instance_list->Append( ( SDAI_Application_instance * ) shape_def_rep, completeSE );
shape_def_rep->definition_( pshape );
shape_def_rep->used_representation_( shape_rep );
// Stand-in person and org.
SdaiPerson * person = ( SdaiPerson * ) registry->ObjCreate( "PERSON" );
instance_list->Append( ( SDAI_Application_instance * ) person, completeSE );
person->id_( "''" );
person->last_name_( "'Doe'" );
person->first_name_( "'John'" );
SdaiOrganization * org = ( SdaiOrganization * ) registry->ObjCreate( "ORGANIZATION" );
instance_list->Append( ( SDAI_Application_instance * ) org, completeSE );
org->id_( "''" );
org->name_( "''" );
org->description_( "''" );
SdaiPerson_and_organization * per_org = ( SdaiPerson_and_organization * ) registry->ObjCreate( "PERSON_AND_ORGANIZATION" );
instance_list->Append( ( SDAI_Application_instance * ) per_org, completeSE );
per_org->the_person_( person );
per_org->the_organization_( org );
// Required roles.
SdaiPerson_and_organization_role * creator_role = ( SdaiPerson_and_organization_role * ) registry->ObjCreate( "PERSON_AND_ORGANIZATION_ROLE" );
instance_list->Append( ( SDAI_Application_instance * ) creator_role, completeSE );
creator_role->name_( "'creator'" );
SdaiPerson_and_organization_role * owner_role = ( SdaiPerson_and_organization_role * ) registry->ObjCreate( "PERSON_AND_ORGANIZATION_ROLE" );
instance_list->Append( ( SDAI_Application_instance * ) owner_role, completeSE );
owner_role->name_( "'design_owner'" );
SdaiPerson_and_organization_role * supplier_role = ( SdaiPerson_and_organization_role * ) registry->ObjCreate( "PERSON_AND_ORGANIZATION_ROLE" );
instance_list->Append( ( SDAI_Application_instance * ) supplier_role, completeSE );
supplier_role->name_( "'design_supplier'" );
// Basic approval.
SdaiApproval_status * approval_status = ( SdaiApproval_status * ) registry->ObjCreate( "APPROVAL_STATUS" );
instance_list->Append( ( SDAI_Application_instance * ) approval_status, completeSE );
approval_status->name_( "'approved'" );
SdaiApproval * approval = ( SdaiApproval * ) registry->ObjCreate( "APPROVAL" );
instance_list->Append( ( SDAI_Application_instance * ) approval, completeSE );
approval->status_( approval_status );
approval->level_( "''" );
SdaiApproval_date_time * app_date_time = ( SdaiApproval_date_time * ) registry->ObjCreate( "APPROVAL_DATE_TIME" );
instance_list->Append( ( SDAI_Application_instance * ) app_date_time, completeSE );
app_date_time->date_time_( new SdaiDate_time_select( date_time ) );
app_date_time->dated_approval_( approval );
SdaiApproval_role * app_role = ( SdaiApproval_role * ) registry->ObjCreate( "APPROVAL_ROLE" );
instance_list->Append( ( SDAI_Application_instance * ) app_role, completeSE );
app_role->role_( "'approver'" );
SdaiApproval_person_organization * app_per_org = ( SdaiApproval_person_organization * ) registry->ObjCreate( "APPROVAL_PERSON_ORGANIZATION" );
instance_list->Append( ( SDAI_Application_instance * ) app_per_org, completeSE );
app_per_org->person_organization_( new SdaiPerson_organization_select( per_org ) );
app_per_org->authorized_approval_( approval );
app_per_org->role_( app_role );
// Basic Classification.
SdaiSecurity_classification * clas = Classification( registry, instance_list, per_org, date_time, prod_def_form );
// Basic CC approval.
SdaiCc_design_approval * desapproval = ( SdaiCc_design_approval * ) registry->ObjCreate( "CC_DESIGN_APPROVAL" );
instance_list->Append( ( SDAI_Application_instance * ) desapproval, completeSE );
desapproval->assigned_approval_( approval );
desapproval->items_()->AddNode( new EntityNode( ( SDAI_Application_instance * ) prod_def ) );
desapproval->items_()->AddNode( new EntityNode( ( SDAI_Application_instance * ) prod_def_form ) );
desapproval->items_()->AddNode( new EntityNode( ( SDAI_Application_instance * ) clas ) );
SdaiCc_design_person_and_organization_assignment * creatorpersonorg = ( SdaiCc_design_person_and_organization_assignment * ) registry->ObjCreate( "CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT" );
instance_list->Append( ( SDAI_Application_instance * ) creatorpersonorg, completeSE );
creatorpersonorg->assigned_person_and_organization_( per_org );
creatorpersonorg->items_()->AddNode( new EntityNode( ( SDAI_Application_instance * ) prod_def ) );
creatorpersonorg->items_()->AddNode( new EntityNode( ( SDAI_Application_instance * ) prod_def_form ) );
creatorpersonorg->role_( creator_role );
SdaiCc_design_person_and_organization_assignment * supplierpersonorg = ( SdaiCc_design_person_and_organization_assignment * ) registry->ObjCreate( "CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT" );
instance_list->Append( ( SDAI_Application_instance * ) supplierpersonorg, completeSE );
supplierpersonorg->assigned_person_and_organization_( per_org );
supplierpersonorg->items_()->AddNode( new EntityNode( ( SDAI_Application_instance * ) prod_def_form ) );
supplierpersonorg->role_( supplier_role );
SdaiDate_time_role * datetimerole = ( SdaiDate_time_role * ) registry->ObjCreate( "DATE_TIME_ROLE" );
instance_list->Append( ( SDAI_Application_instance * ) datetimerole, completeSE );
datetimerole->name_( "'creation_date'" );
SdaiCc_design_date_and_time_assignment * assign = ( SdaiCc_design_date_and_time_assignment * ) registry->ObjCreate( "CC_DESIGN_DATE_AND_TIME_ASSIGNMENT" );
instance_list->Append( ( SDAI_Application_instance * ) assign, completeSE );
assign->assigned_date_and_time_( date_time );
assign->items_()->AddNode( new EntityNode( ( SDAI_Application_instance * ) prod_def ) );
assign->role_( datetimerole );
SdaiCc_design_person_and_organization_assignment * ownerpersonorg = ( SdaiCc_design_person_and_organization_assignment * ) registry->ObjCreate( "CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT" );
instance_list->Append( ( SDAI_Application_instance * ) ownerpersonorg, completeSE );
ownerpersonorg->assigned_person_and_organization_( per_org );
ownerpersonorg->items_()->AddNode( new EntityNode( ( SDAI_Application_instance * ) prod ) );
ownerpersonorg->role_( owner_role );
sfile->WriteExchangeFile( "outfile.stp" );
if( sfile->Error().severity() < SEVERITY_USERMSG ) {
sfile->Error().PrintContents( cout );
}
header_instances->DeleteInstances();
instance_list->DeleteInstances();
delete registry;
delete instance_list;
delete sfile;
printf( "Done!\n" );
}
+10 -14
View File
@@ -2,8 +2,11 @@ SET(express_HDRS
express/alg.h
express/basic.h
express/caseitem.h
express/dict.h
express/entity.h
express/de_end.h
express/decstart.h
express/defstart.h
express/dict.h
express/entity.h
express/error.h
express/expbasic.h
express/expr.h
@@ -21,20 +24,13 @@ SET(express_HDRS
express/type.h
express/variable.h
)
install(FILES ${express_HDRS}
DESTINATION ${INCLUDE_INSTALL_DIR}/stepcode/express)
install(FILES ${express_HDRS} DESTINATION include/express)
SET(exppp_HDRS
exppp/exppp.h
)
install(FILES ${exppp_HDRS}
DESTINATION ${INCLUDE_INSTALL_DIR}/stepcode/exppp)
install(FILES ${exppp_HDRS} DESTINATION include/exppp)
install(FILES ordered_attrs.h
sc_export.h
sc_stdbool.h
DESTINATION ${INCLUDE_INSTALL_DIR}/stepcode)
install(FILES ${SC_BINARY_DIR}/${INCLUDE_INSTALL_DIR}/sc_cf.h
${SC_BINARY_DIR}/${INCLUDE_INSTALL_DIR}/sc_version_string.h
DESTINATION ${INCLUDE_INSTALL_DIR}/stepcode)
SET(SCL_noinst_HEADERS
sclprefixes.h
)
+53 -65
View File
@@ -1,70 +1,58 @@
#ifndef EXPPP_H
#define EXPPP_H
#include <scl_export.h>
#include <sc_stdbool.h>
extern SCL_EXPPP_EXPORT int exppp_nesting_indent; /* default nesting indent */
extern SCL_EXPPP_EXPORT int exppp_continuation_indent; /* default nesting indent for */
/* continuation lines */
extern SCL_EXPPP_EXPORT int exppp_linelength; /* leave some slop for closing */
/* parens. \n is not included in */
/* this count either */
extern SCL_EXPPP_EXPORT bool exppp_rmpp; /* if true, create rmpp */
extern SCL_EXPPP_EXPORT bool exppp_alphabetize; /* if true, alphabetize */
extern SCL_EXPPP_EXPORT bool exppp_terse; /* don't describe action to stdout */
extern SCL_EXPPP_EXPORT bool exppp_reference_info; /* if true, add commentary */
/* about where things came from */
extern SCL_EXPPP_EXPORT bool exppp_preserve_comments; /* if true, preserve comments where */
/* possible */
extern SCL_EXPPP_EXPORT char * exppp_output_filename; /* force output filename */
#include <sc_export.h>
SCL_EXPPP_EXPORT void EXPRESSout( Express e );
#include "../express/expbasic.h"
#include "../express/express.h"
SCL_EXPPP_EXPORT void ENTITYout( Entity e );
SCL_EXPPP_EXPORT void EXPRout( Expression expr );
SCL_EXPPP_EXPORT void FUNCout( Function f );
SCL_EXPPP_EXPORT void PROCout( Procedure p );
SCL_EXPPP_EXPORT void RULEout( Rule r );
SCL_EXPPP_EXPORT char * SCHEMAout( Schema s );
SCL_EXPPP_EXPORT void SCHEMAref_out( Schema s );
SCL_EXPPP_EXPORT void STMTout( Statement s );
SCL_EXPPP_EXPORT void TYPEout( Type t );
SCL_EXPPP_EXPORT void TYPEhead_out( Type t );
SCL_EXPPP_EXPORT void TYPEbody_out( Type t );
SCL_EXPPP_EXPORT void WHEREout( Linked_List w );
extern SC_EXPPP_EXPORT const int exppp_nesting_indent; /**< default nesting indent */
extern SC_EXPPP_EXPORT const int exppp_continuation_indent; /**< default nesting indent for continuation lines */
extern SC_EXPPP_EXPORT int exppp_linelength; /**< leave some slop for closing parens.
* \n is not included in this count either */
extern SC_EXPPP_EXPORT bool exppp_alphabetize; /**< if true, alphabetize */
extern SC_EXPPP_EXPORT bool exppp_terse; /**< don't describe action to stdout */
extern SC_EXPPP_EXPORT bool exppp_reference_info; /**< if true, add commentary about where things came from */
extern SC_EXPPP_EXPORT char * exppp_output_filename; /**< force output filename */
extern SC_EXPPP_EXPORT bool exppp_output_filename_reset; /**< if true, force output filename */
extern SC_EXPPP_EXPORT bool exppp_print_to_stdout; /**< if true, print to stdout */
extern SC_EXPPP_EXPORT bool exppp_aggressively_wrap_consts; /**< for constants, print one item per line */
extern SC_EXPPP_EXPORT bool exppp_tail_comment; /**< print tail comment, such as END_ENTITY; --entity_name */
SCL_EXPPP_EXPORT char * REFto_string( Dictionary refdict, Linked_List reflist, char * type, int level );
SCL_EXPPP_EXPORT char * ENTITYto_string( Entity e );
SCL_EXPPP_EXPORT char * SUBTYPEto_string( Expression e );
SCL_EXPPP_EXPORT char * EXPRto_string( Expression expr );
SCL_EXPPP_EXPORT char * FUNCto_string( Function f );
SCL_EXPPP_EXPORT char * PROCto_string( Procedure p );
SCL_EXPPP_EXPORT char * RULEto_string( Rule r );
SCL_EXPPP_EXPORT char * SCHEMAref_to_string( Schema s );
SCL_EXPPP_EXPORT char * STMTto_string( Statement s );
SCL_EXPPP_EXPORT char * TYPEto_string( Type t );
SCL_EXPPP_EXPORT char * TYPEhead_to_string( Type t );
SCL_EXPPP_EXPORT char * TYPEbody_to_string( Type t );
SCL_EXPPP_EXPORT char * WHEREto_string( Linked_List w );
SC_EXPPP_EXPORT void EXPRESSout( Express e );
SC_EXPPP_EXPORT void ENTITYout( Entity e );
SC_EXPPP_EXPORT void EXPRout( Expression expr );
SC_EXPPP_EXPORT void FUNCout( Function f );
SC_EXPPP_EXPORT void PROCout( Procedure p );
SC_EXPPP_EXPORT void RULEout( Rule r );
SC_EXPPP_EXPORT char * SCHEMAout( Schema s );
SC_EXPPP_EXPORT void SCHEMAref_out( Schema s );
SC_EXPPP_EXPORT void STMTout( Statement s );
SC_EXPPP_EXPORT void TYPEout( Type t );
SC_EXPPP_EXPORT void TYPEhead_out( Type t );
SC_EXPPP_EXPORT void TYPEbody_out( Type t );
SC_EXPPP_EXPORT void WHEREout( Linked_List w );
SC_EXPPP_EXPORT char * REFto_string( Dictionary refdict, Linked_List reflist, char * type, int level );
SC_EXPPP_EXPORT char * ENTITYto_string( Entity e );
SC_EXPPP_EXPORT char * SUBTYPEto_string( Expression e );
SC_EXPPP_EXPORT char * EXPRto_string( Expression expr );
SC_EXPPP_EXPORT char * FUNCto_string( Function f );
SC_EXPPP_EXPORT char * PROCto_string( Procedure p );
SC_EXPPP_EXPORT char * RULEto_string( Rule r );
SC_EXPPP_EXPORT char * SCHEMAref_to_string( Schema s );
SC_EXPPP_EXPORT char * STMTto_string( Statement s );
SC_EXPPP_EXPORT char * TYPEto_string( Type t );
SC_EXPPP_EXPORT char * TYPEhead_to_string( Type t );
SC_EXPPP_EXPORT char * TYPEbody_to_string( Type t );
SC_EXPPP_EXPORT char * WHEREto_string( Linked_List w );
SC_EXPPP_EXPORT int REFto_buffer( Dictionary refdict, Linked_List reflist, char * type, int level, char * buffer, int length );
SC_EXPPP_EXPORT int ENTITYto_buffer( Entity e, char * buffer, int length );
SC_EXPPP_EXPORT int EXPRto_buffer( Expression e, char * buffer, int length );
SC_EXPPP_EXPORT int FUNCto_buffer( Function e, char * buffer, int length );
SC_EXPPP_EXPORT int PROCto_buffer( Procedure e, char * buffer, int length );
SC_EXPPP_EXPORT int RULEto_buffer( Rule e, char * buffer, int length );
SC_EXPPP_EXPORT int SCHEMAref_to_buffer( Schema s, char * buffer, int length );
SC_EXPPP_EXPORT int STMTto_buffer( Statement s, char * buffer, int length );
SC_EXPPP_EXPORT int TYPEto_buffer( Type t, char * buffer, int length );
SC_EXPPP_EXPORT int TYPEhead_to_buffer( Type t, char * buffer, int length );
SC_EXPPP_EXPORT int TYPEbody_to_buffer( Type t, char * buffer, int length );
SC_EXPPP_EXPORT int WHEREto_buffer( Linked_List w, char * buffer, int length );
SC_EXPPP_EXPORT int EXPRlength( Expression e );
extern SC_EXPPP_EXPORT void tail_comment( const char * name );
extern SC_EXPPP_EXPORT int count_newlines( char * s );
#endif
SCL_EXPPP_EXPORT int REFto_buffer( Dictionary refdict, Linked_List reflist, char * type, int level, char * buffer, int length );
SCL_EXPPP_EXPORT int ENTITYto_buffer( Entity e, char * buffer, int length );
SCL_EXPPP_EXPORT int EXPRto_buffer( Expression e, char * buffer, int length );
SCL_EXPPP_EXPORT int FUNCto_buffer( Function e, char * buffer, int length );
SCL_EXPPP_EXPORT int PROCto_buffer( Procedure e, char * buffer, int length );
SCL_EXPPP_EXPORT int RULEto_buffer( Rule e, char * buffer, int length );
SCL_EXPPP_EXPORT int SCHEMAref_to_buffer( Schema s, char * buffer, int length );
SCL_EXPPP_EXPORT int STMTto_buffer( Statement s, char * buffer, int length );
SCL_EXPPP_EXPORT int TYPEto_buffer( Type t, char * buffer, int length );
SCL_EXPPP_EXPORT int TYPEhead_to_buffer( Type t, char * buffer, int length );
SCL_EXPPP_EXPORT int TYPEbody_to_buffer( Type t, char * buffer, int length );
SCL_EXPPP_EXPORT int WHEREto_buffer( Linked_List w, char * buffer, int length );
+25 -8
View File
@@ -37,6 +37,10 @@
*
*/
/*************/
/* constants */
/*************/
/*****************/
/* packages used */
/*****************/
@@ -55,6 +59,10 @@ typedef struct Scope_ * Function;
typedef struct Scope_ * Rule;
typedef struct Where_ * Where;
/****************/
/* modules used */
/****************/
/***************************/
/* hidden type definitions */
/***************************/
@@ -109,11 +117,19 @@ struct Where_ {
/* global variables */
/********************/
extern SC_EXPRESS_EXPORT struct freelist_head ALG_fl;
extern SC_EXPRESS_EXPORT struct freelist_head FUNC_fl;
extern SC_EXPRESS_EXPORT struct freelist_head RULE_fl;
extern SC_EXPRESS_EXPORT struct freelist_head PROC_fl;
extern SC_EXPRESS_EXPORT struct freelist_head WHERE_fl;
#ifdef ALGORITHM_C
#include "defstart.h"
#else
#include "decstart.h"
#endif /* ALGORITHM_C */
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head ALG_fl;
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head FUNC_fl;
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head RULE_fl;
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head PROC_fl;
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head WHERE_fl;
#include "de_end.h"
/******************************/
/* macro function definitions */
@@ -161,8 +177,9 @@ extern SC_EXPRESS_EXPORT struct freelist_head WHERE_fl;
/* function prototypes */
/***********************/
extern SC_EXPRESS_EXPORT Scope ALGcreate PROTO( ( char ) );
extern SC_EXPRESS_EXPORT void ALGinitialize PROTO( ( void ) );
extern SC_EXPRESS_EXPORT void ALGput_full_text PROTO( ( Scope, int, int ) );
extern SCL_EXPRESS_EXPORT Scope ALGcreate PROTO( ( char ) );
extern SCL_EXPRESS_EXPORT void ALGinitialize PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT void ALGput_full_text PROTO( ( Scope, int, int ) );
#endif /* ALGORITHM_H */
+3 -3
View File
@@ -71,8 +71,8 @@
*
*/
#include <sc_cf.h>
#include <sc_export.h>
#include <scl_cf.h>
#include <scl_export.h>
#include <stdio.h>
/******************************/
@@ -82,7 +82,7 @@
#ifdef HAVE_STDBOOL_H
# include <stdbool.h>
#else
# include <sc_stdbool.h>
# include <scl_stdbool.h>
#endif
/************************/
+11 -3
View File
@@ -70,7 +70,15 @@ struct Case_Item_ {
/* global variables */
/********************/
extern SC_EXPRESS_EXPORT struct freelist_head CASE_IT_fl;
#ifdef CASE_ITEM_C
#include "defstart.h"
#else
#include "decstart.h"
#endif /*CASE_ITEM_C*/
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head CASE_IT_fl;
#include "de_end.h"
/******************************/
/* macro function definitions */
@@ -86,7 +94,7 @@ extern SC_EXPRESS_EXPORT struct freelist_head CASE_IT_fl;
#define CASE_IT_new() (struct Case_Item_ *)MEM_new(&CASE_IT_fl)
#define CASE_IT_destroy(x) MEM_destroy(&CASE_IT_fl,(Freelist *)(Generic)x)
extern SC_EXPRESS_EXPORT Case_Item CASE_ITcreate PROTO( ( Linked_List, struct Statement_ * ) );
extern SC_EXPRESS_EXPORT void CASE_ITinitialize PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT Case_Item CASE_ITcreate PROTO( ( Linked_List, struct Statement_ * ) );
extern SCL_EXPRESS_EXPORT void CASE_ITinitialize PROTO( ( void ) );
#endif /*CASE_ITEM_H*/
+18 -10
View File
@@ -72,7 +72,15 @@ typedef HashEntry DictionaryEntry;
/* global variables */
/********************/
extern SC_EXPRESS_EXPORT char DICT_type; /**< set as a side-effect of DICT lookup routines to type of object found */
#ifdef DICTIONARY_C
#include "defstart.h"
#else
#include "decstart.h"
#endif /*DICTIONARY_C*/
GLOBAL SCL_EXPRESS_EXPORT char DICT_type; /**< set as a side-effect of DICT lookup routines to type of object found */
#include "de_end.h"
/*******************************/
/* macro function definitions */
@@ -97,14 +105,14 @@ extern SC_EXPRESS_EXPORT char DICT_type; /**< set as a side-effect of DICT look
/* function prototypes */
/***********************/
extern SC_EXPRESS_EXPORT void DICTinitialize PROTO( ( void ) );
extern SC_EXPRESS_EXPORT void DICTcleanup PROTO( ( void ) );
extern SC_EXPRESS_EXPORT int DICTdefine PROTO( ( Dictionary, char *, Generic, Symbol *, char ) );
extern SC_EXPRESS_EXPORT int DICT_define PROTO( ( Dictionary, char *, Generic, Symbol *, char ) );
extern SC_EXPRESS_EXPORT void DICTundefine PROTO( ( Dictionary, char * ) );
extern SC_EXPRESS_EXPORT Generic DICTlookup PROTO( ( Dictionary, char * ) );
extern SC_EXPRESS_EXPORT Generic DICTlookup_symbol PROTO( ( Dictionary, char *, Symbol ** ) );
extern SC_EXPRESS_EXPORT Generic DICTdo PROTO( ( DictionaryEntry * ) );
extern SC_EXPRESS_EXPORT void DICTprint PROTO( ( Dictionary ) );
extern SCL_EXPRESS_EXPORT void DICTinitialize PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT void DICTcleanup PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT int DICTdefine PROTO( ( Dictionary, char *, Generic, Symbol *, char ) );
extern SCL_EXPRESS_EXPORT int DICT_define PROTO( ( Dictionary, char *, Generic, Symbol *, char ) );
extern SCL_EXPRESS_EXPORT void DICTundefine PROTO( ( Dictionary, char * ) );
extern SCL_EXPRESS_EXPORT Generic DICTlookup PROTO( ( Dictionary, char * ) );
extern SCL_EXPRESS_EXPORT Generic DICTlookup_symbol PROTO( ( Dictionary, char *, Symbol ** ) );
extern SCL_EXPRESS_EXPORT Generic DICTdo PROTO( ( DictionaryEntry * ) );
extern SCL_EXPRESS_EXPORT void DICTprint PROTO( ( Dictionary ) );
#endif /*DICTIONARY_H*/
+26 -17
View File
@@ -60,7 +60,7 @@
/* packages used */
/*****************/
#include <sc_export.h>
#include <scl_export.h>
#include "expbasic.h" /* get basic definitions */
#include "symbol.h"
#include "scope.h"
@@ -102,8 +102,17 @@ struct Entity_ {
/* global variables */
/********************/
extern SC_EXPRESS_EXPORT struct freelist_head ENTITY_fl;
extern SC_EXPRESS_EXPORT int ENTITY_MARK;
#ifdef ENTITY_C
#include "defstart.h"
#else
#include "decstart.h"
#endif /* ENTITY_C */
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head ENTITY_fl;
GLOBAL SCL_EXPRESS_EXPORT int ENTITY_MARK INITIALLY( 0 );
#include "de_end.h"
/******************************/
/* macro function definitions */
@@ -140,19 +149,19 @@ extern SC_EXPRESS_EXPORT int ENTITY_MARK;
/* function prototypes */
/***********************/
extern SC_EXPRESS_EXPORT struct Scope_ * ENTITYcreate PROTO( ( struct Symbol_ * ) );
extern SC_EXPRESS_EXPORT void ENTITYinitialize PROTO( ( void ) );
extern SC_EXPRESS_EXPORT void ENTITYadd_attribute PROTO( ( struct Scope_ *, struct Variable_ * ) );
extern SC_EXPRESS_EXPORT struct Scope_ * ENTITYcopy PROTO( ( struct Scope_ * ) );
extern SC_EXPRESS_EXPORT Entity ENTITYfind_inherited_entity PROTO( ( struct Scope_ *, char *, int ) );
extern SC_EXPRESS_EXPORT Variable ENTITYfind_inherited_attribute PROTO( ( struct Scope_ *, char *, struct Symbol_ ** ) );
extern SC_EXPRESS_EXPORT Variable ENTITYresolve_attr_ref PROTO( ( Entity, Symbol *, Symbol * ) );
extern SC_EXPRESS_EXPORT bool ENTITYhas_immediate_supertype PROTO( ( Entity, Entity ) );
extern SC_EXPRESS_EXPORT Variable ENTITYget_named_attribute PROTO( ( Entity, char * ) );
extern SC_EXPRESS_EXPORT Linked_List ENTITYget_all_attributes PROTO( ( Entity ) );
extern SC_EXPRESS_EXPORT bool ENTITYhas_supertype PROTO( ( Entity, Entity ) );
extern SC_EXPRESS_EXPORT void ENTITYadd_instance PROTO( ( Entity, Generic ) );
extern SC_EXPRESS_EXPORT int ENTITYget_initial_offset PROTO( ( Entity ) );
extern SC_EXPRESS_EXPORT int ENTITYdeclares_variable PROTO( ( Entity, struct Variable_ * ) );
extern SCL_EXPRESS_EXPORT struct Scope_ * ENTITYcreate PROTO( ( struct Symbol_ * ) );
extern SCL_EXPRESS_EXPORT void ENTITYinitialize PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT void ENTITYadd_attribute PROTO( ( struct Scope_ *, struct Variable_ * ) );
extern SCL_EXPRESS_EXPORT struct Scope_ * ENTITYcopy PROTO( ( struct Scope_ * ) );
extern SCL_EXPRESS_EXPORT Entity ENTITYfind_inherited_entity PROTO( ( struct Scope_ *, char *, int ) );
extern SCL_EXPRESS_EXPORT Variable ENTITYfind_inherited_attribute PROTO( ( struct Scope_ *, char *, struct Symbol_ ** ) );
extern SCL_EXPRESS_EXPORT Variable ENTITYresolve_attr_ref PROTO( ( Entity, Symbol *, Symbol * ) );
extern SCL_EXPRESS_EXPORT bool ENTITYhas_immediate_supertype PROTO( ( Entity, Entity ) );
extern SCL_EXPRESS_EXPORT Variable ENTITYget_named_attribute PROTO( ( Entity, char * ) );
extern SCL_EXPRESS_EXPORT Linked_List ENTITYget_all_attributes PROTO( ( Entity ) );
extern SCL_EXPRESS_EXPORT bool ENTITYhas_supertype PROTO( ( Entity, Entity ) );
extern SCL_EXPRESS_EXPORT void ENTITYadd_instance PROTO( ( Entity, Generic ) );
extern SCL_EXPRESS_EXPORT int ENTITYget_initial_offset PROTO( ( Entity ) );
extern SCL_EXPRESS_EXPORT bool ENTITYdeclares_variable PROTO( ( Entity, struct Variable_ * ) );
#endif /* ENTITY_H */
+50 -35
View File
@@ -28,7 +28,7 @@
* prettied up interface to print_objects_when_running
*/
#include <sc_export.h>
#include <scl_export.h>
#include "basic.h" /* get basic definitions */
#include <setjmp.h>
@@ -66,7 +66,6 @@ typedef struct Error_ {
bool enabled;
Severity severity;
char * message;
int serial; /* used to give each type of error a unique identifier */
} * Error;
typedef struct Error_Warning_ {
@@ -82,29 +81,37 @@ typedef struct Error_Warning_ {
/* global variables */
/********************/
extern SC_EXPRESS_EXPORT bool __ERROR_buffer_errors;
extern SC_EXPRESS_EXPORT char * current_filename;
#ifdef ERROR_C
#include "defstart.h"
#else
#include "decstart.h"
#endif /* ERROR_C */
GLOBAL SCL_EXPRESS_EXPORT bool __ERROR_buffer_errors INITIALLY( false );
GLOBAL SCL_EXPRESS_EXPORT char * current_filename INITIALLY( "stdin" );
/* flag to remember whether non-warning errors have occurred */
extern SC_EXPRESS_EXPORT bool ERRORoccurred;
GLOBAL SCL_EXPRESS_EXPORT bool ERRORoccurred INITIALLY( false );
extern SC_EXPRESS_EXPORT Error experrc;
extern SC_EXPRESS_EXPORT Error ERROR_subordinate_failed;
extern SC_EXPRESS_EXPORT Error ERROR_syntax_expecting;
GLOBAL SCL_EXPRESS_EXPORT Error experrc INITIALLY( ERROR_none );
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_subordinate_failed INITIALLY( ERROR_none );
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_syntax_expecting INITIALLY( ERROR_none );
/* all of these are 1 if true, 0 if false switches */
/* for debugging fedex */
extern SC_EXPRESS_EXPORT int ERRORdebugging;
GLOBAL SCL_EXPRESS_EXPORT int ERRORdebugging INITIALLY( 0 );
/* for debugging malloc during resolution */
extern SC_EXPRESS_EXPORT int malloc_debug_resolve;
GLOBAL SCL_EXPRESS_EXPORT int malloc_debug_resolve INITIALLY( 0 );
/* for debugging yacc/lex */
extern SC_EXPRESS_EXPORT int debug;
GLOBAL SCL_EXPRESS_EXPORT int debug INITIALLY( 0 );
extern SC_EXPRESS_EXPORT struct Linked_List_ * ERRORwarnings;
extern SC_EXPRESS_EXPORT struct freelist_head ERROR_OPT_fl;
GLOBAL SCL_EXPRESS_EXPORT struct Linked_List_ * ERRORwarnings;
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head ERROR_OPT_fl;
extern SC_EXPRESS_EXPORT void ( *ERRORusage_function )( void );
GLOBAL SCL_EXPRESS_EXPORT void ( *ERRORusage_function ) PROTO( ( void ) );
#include "de_end.h"
/******************************/
/* macro function definitions */
@@ -118,14 +125,16 @@ extern SC_EXPRESS_EXPORT void ( *ERRORusage_function )( void );
/***********************/
#if defined(__MSVC__) || defined(__BORLAND__)
extern SC_EXPRESS_EXPORT void ERROR_start_message_buffer PROTO( ( void ) );
extern SC_EXPRESS_EXPORT void ERROR_flush_message_buffer PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT void ERROR_start_message_buffer PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT void ERROR_flush_message_buffer PROTO( ( void ) );
#endif
/********************/
/* Inline functions */
/********************/
#if supports_inline_functions || defined(ERROR_C)
static_inline void ERRORdisable( Error error ) {
if( error != ERROR_none ) {
error->enabled = false;
@@ -167,32 +176,38 @@ static_inline void ERRORflush_messages( void ) {
}
}
#endif /*supports_inline_functions || defined(ERROR_C)*/
/***********************/
/* function prototypes */
/***********************/
extern SC_EXPRESS_EXPORT void ERRORinitialize PROTO( ( void ) );
extern SC_EXPRESS_EXPORT void ERRORinitialize_after_LIST PROTO( ( void ) );
extern SC_EXPRESS_EXPORT void ERRORcleanup PROTO( ( void ) );
extern SC_EXPRESS_EXPORT void ERRORnospace PROTO( ( void ) );
extern SC_EXPRESS_EXPORT void ERRORabort PROTO( ( int ) );
extern SC_EXPRESS_EXPORT Error ERRORcreate PROTO( ( char *, Severity ) );
extern SC_EXPRESS_EXPORT void ERRORreport PROTO( ( Error, ... ) );
extern SC_EXPRESS_EXPORT void ERRORdestroy PROTO( ( Error ) );
extern SCL_EXPRESS_EXPORT void ERRORinitialize PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT void ERRORinitialize_after_LIST PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT void ERRORcleanup PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT void ERRORnospace PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT void ERRORabort PROTO( ( int ) );
extern SCL_EXPRESS_EXPORT Error ERRORcreate PROTO( ( char *, Severity ) );
extern SCL_EXPRESS_EXPORT void ERRORreport PROTO( ( Error, ... ) );
extern SCL_EXPRESS_EXPORT void ERRORdestroy PROTO( ( Error ) );
struct Symbol_; /* mention Symbol to avoid warning on following line */
extern SC_EXPRESS_EXPORT void ERRORreport_with_symbol PROTO( ( Error, struct Symbol_ *, ... ) );
extern SC_EXPRESS_EXPORT void ERRORreport_with_line PROTO( ( Error, int, ... ) );
#if !defined(__MSVC__) && !defined(__BORLAND__)
extern SC_EXPRESS_EXPORT void ERROR_start_message_buffer PROTO( ( void ) );
extern SC_EXPRESS_EXPORT void ERROR_flush_message_buffer PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT void ERRORreport_with_symbol PROTO( ( Error, struct Symbol_ *, ... ) );
extern SCL_EXPRESS_EXPORT void ERRORreport_with_line PROTO( ( Error, int, ... ) );
#if !supports_inline_functions
extern SCL_EXPRESS_EXPORT void ERRORbuffer_messages PROTO( ( bool ) );
extern SCL_EXPRESS_EXPORT void ERRORflush_messages PROTO( ( void ) );
#endif
extern SC_EXPRESS_EXPORT void ERRORcreate_warning PROTO( ( char *, Error ) );
extern SC_EXPRESS_EXPORT void ERRORset_warning PROTO( ( char *, int ) );
extern SC_EXPRESS_EXPORT void ERRORset_all_warnings PROTO( ( int ) );
extern SC_EXPRESS_EXPORT void ERRORsafe PROTO( ( jmp_buf env ) );
extern SC_EXPRESS_EXPORT void ERRORunsafe PROTO( ( void ) );
#if !defined(__MSVC__) && !defined(__BORLAND__)
extern SCL_EXPRESS_EXPORT void ERROR_start_message_buffer PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT void ERROR_flush_message_buffer PROTO( ( void ) );
#endif
extern SCL_EXPRESS_EXPORT void ERRORcreate_warning PROTO( ( char *, Error ) );
extern SCL_EXPRESS_EXPORT void ERRORset_warning PROTO( ( char *, int ) );
extern SCL_EXPRESS_EXPORT void ERRORset_all_warnings PROTO( ( int ) );
extern SCL_EXPRESS_EXPORT void ERRORsafe PROTO( ( jmp_buf env ) );
extern SCL_EXPRESS_EXPORT void ERRORunsafe PROTO( ( void ) );
#endif /* ERROR_H */
+3 -2
View File
@@ -1,3 +1,4 @@
/*
* This software was developed by U.S. Government employees as part of
* their official duties and is not subject to copyright.
@@ -126,8 +127,8 @@ typedef char * Binary;
#define OBJ_EXPRESSION 'x' /**< so far only enums get looked up by name & */
#define OBJ_ENUM 'x' /**< appear this way, perhaps they should be variables? */
#define OBJ_AMBIG_ENUM 'z' /**< enumerations of the same name which are
* visible in the same scope when qualified
* z is of no mnemonic significance (so far) */
* visible in the same scope when qualified
* z is of no mnemonic significance (so far) */
#define IS_ENUM(x) (((x) == OBJ_ENUM) || ((x) == OBJ_AMBIG_ENUM))
/** these represent a different way of selecting classes of objects
+56 -28
View File
@@ -1,7 +1,7 @@
#ifndef EXPRESSION_H
#define EXPRESSION_H
/*********************************************************************//**
/** **********************************************************************
** Module: Expression \file expr.h
** Description: This module implements the Expression abstraction.
** Several types of expressions are supported: identifiers,
@@ -60,7 +60,7 @@
/* packages used */
/*****************/
#include <sc_export.h>
#include <scl_export.h>
#include <math.h>
#include "expbasic.h" /* get basic definitions */
@@ -142,7 +142,7 @@ struct Funcall {
union expr_union {
int integer;
double real;
float real;
char * attribute; /**< inverse .... for 'attr' */
char * binary;
int logical;
@@ -185,23 +185,31 @@ struct EXPop_entry {
/* global variables */
/********************/
extern SC_EXPRESS_EXPORT struct EXPop_entry EXPop_table[OP_LAST];
#ifdef EXPRESSION_C
#include "defstart.h"
#else
#include "decstart.h"
#endif /*EXPRESSION_C*/
extern SC_EXPRESS_EXPORT Expression LITERAL_E;
extern SC_EXPRESS_EXPORT Expression LITERAL_INFINITY;
extern SC_EXPRESS_EXPORT Expression LITERAL_PI;
extern SC_EXPRESS_EXPORT Expression LITERAL_ZERO;
extern SC_EXPRESS_EXPORT Expression LITERAL_ONE;
GLOBAL SCL_EXPRESS_EXPORT struct EXPop_entry EXPop_table[OP_LAST];
extern SC_EXPRESS_EXPORT Error ERROR_bad_qualification;
extern SC_EXPRESS_EXPORT Error ERROR_integer_expression_expected;
extern SC_EXPRESS_EXPORT Error ERROR_implicit_downcast;
extern SC_EXPRESS_EXPORT Error ERROR_ambig_implicit_downcast;
GLOBAL SCL_EXPRESS_EXPORT Expression LITERAL_E INITIALLY( EXPRESSION_NULL );
GLOBAL SCL_EXPRESS_EXPORT Expression LITERAL_INFINITY INITIALLY( EXPRESSION_NULL );
GLOBAL SCL_EXPRESS_EXPORT Expression LITERAL_PI INITIALLY( EXPRESSION_NULL );
GLOBAL SCL_EXPRESS_EXPORT Expression LITERAL_ZERO INITIALLY( EXPRESSION_NULL );
GLOBAL SCL_EXPRESS_EXPORT Expression LITERAL_ONE;
extern SC_EXPRESS_EXPORT struct freelist_head EXP_fl;
extern SC_EXPRESS_EXPORT struct freelist_head OP_fl;
extern SC_EXPRESS_EXPORT struct freelist_head QUERY_fl;
extern SC_EXPRESS_EXPORT struct freelist_head QUAL_ATTR_fl;
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_bad_qualification INITIALLY( ERROR_none );
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_integer_expression_expected INITIALLY( ERROR_none );
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_implicit_downcast INITIALLY( ERROR_none );
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_ambig_implicit_downcast INITIALLY( ERROR_none );
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head EXP_fl;
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head OP_fl;
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head QUERY_fl;
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head QUAL_ATTR_fl;
#include "de_end.h"
/******************************/
/* macro function definitions */
@@ -254,16 +262,36 @@ extern SC_EXPRESS_EXPORT struct freelist_head QUAL_ATTR_fl;
/* function prototypes */
/***********************/
extern SC_EXPRESS_EXPORT Expression EXPcreate PROTO( ( Type ) );
extern SC_EXPRESS_EXPORT Expression EXPcreate_simple PROTO( ( Type ) );
extern SC_EXPRESS_EXPORT Expression EXPcreate_from_symbol PROTO( ( Type, Symbol * ) );
extern SC_EXPRESS_EXPORT Expression UN_EXPcreate PROTO( ( Op_Code, Expression ) );
extern SC_EXPRESS_EXPORT Expression BIN_EXPcreate PROTO( ( Op_Code, Expression, Expression ) );
extern SC_EXPRESS_EXPORT Expression TERN_EXPcreate PROTO( ( Op_Code, Expression, Expression, Expression ) );
extern SC_EXPRESS_EXPORT Expression QUERYcreate PROTO( ( Symbol *, Expression ) );
extern SC_EXPRESS_EXPORT void EXPinitialize PROTO( ( void ) );
extern SC_EXPRESS_EXPORT void EXPcleanup PROTO( ( void ) );
extern SC_EXPRESS_EXPORT Type EXPtype PROTO( ( Expression, struct Scope_ * ) );
extern SC_EXPRESS_EXPORT int EXPget_integer_value PROTO( ( Expression ) );
extern SCL_EXPRESS_EXPORT Expression EXPcreate PROTO( ( Type ) );
extern SCL_EXPRESS_EXPORT Expression EXPcreate_simple PROTO( ( Type ) );
extern SCL_EXPRESS_EXPORT Expression EXPcreate_from_symbol PROTO( ( Type, Symbol * ) );
extern SCL_EXPRESS_EXPORT Expression UN_EXPcreate PROTO( ( Op_Code, Expression ) );
extern SCL_EXPRESS_EXPORT Expression BIN_EXPcreate PROTO( ( Op_Code, Expression, Expression ) );
extern SCL_EXPRESS_EXPORT Expression TERN_EXPcreate PROTO( ( Op_Code, Expression, Expression, Expression ) );
extern SCL_EXPRESS_EXPORT Expression QUERYcreate PROTO( ( Symbol *, Expression ) );
extern SCL_EXPRESS_EXPORT void EXPinitialize PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT void EXPcleanup PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT Type EXPtype PROTO( ( Expression, struct Scope_ * ) );
extern SCL_EXPRESS_EXPORT int EXPget_integer_value PROTO( ( Expression ) );
/********************/
/* inline functions */
/********************/
#if supports_inline_functions || defined(EXPRESSION_C)
static_inline
int
OPget_number_of_operands( Op_Code op ) {
if( ( op == OP_NEGATE ) || ( op == OP_NOT ) ) {
return 1;
} else if( op == OP_SUBCOMPONENT ) {
return 3;
} else {
return 2;
}
}
#endif /* supports_inline_functions || defined(EXPRESSION_C) */
#endif /*EXPRESSION_H*/
+169 -154
View File
@@ -88,153 +88,169 @@ struct Express_ {
/* global variables */
/********************/
extern SC_EXPRESS_EXPORT char * input_filename;
extern SC_EXPRESS_EXPORT Linked_List EXPRESS_path;
extern SC_EXPRESS_EXPORT int EXPRESSpass;
#ifdef EXPRESS_C
# define GLOBAL
# define INITIALLY(value) = value
#else
# define GLOBAL extern
# define INITIALLY(value)
#endif /*EXPRESS_C*/
extern SC_EXPRESS_EXPORT void ( *EXPRESSinit_args ) PROTO( ( int, char ** ) );
extern SC_EXPRESS_EXPORT void ( *EXPRESSinit_parse ) PROTO( ( void ) );
extern SC_EXPRESS_EXPORT int ( *EXPRESSfail ) PROTO( ( Express ) );
extern SC_EXPRESS_EXPORT int ( *EXPRESSsucceed ) PROTO( ( Express ) );
extern SC_EXPRESS_EXPORT void ( *EXPRESSbackend ) PROTO( ( Express ) );
extern SC_EXPRESS_EXPORT char * EXPRESSprogram_name;
extern char EXPRESSgetopt_options[]; /* initialized elsewhere */
extern SC_EXPRESS_EXPORT int ( *EXPRESSgetopt ) PROTO( ( int, char * ) );
extern SC_EXPRESS_EXPORT bool EXPRESSignore_duplicate_schemas;
#ifdef YYDEBUG
extern SCL_EXPRESS_EXPORT int yydebug;
extern SCL_EXPRESS_EXPORT int yydbg_upper_limit;
extern SCL_EXPRESS_EXPORT int yydbg_lower_limit;
extern SCL_EXPRESS_EXPORT int yydbg_verbose;
#endif
extern SC_EXPRESS_EXPORT Dictionary EXPRESSbuiltins; /* procedures/functions */
GLOBAL SCL_EXPRESS_EXPORT Linked_List EXPRESS_path;
GLOBAL SCL_EXPRESS_EXPORT int EXPRESSpass;
extern SC_EXPRESS_EXPORT Error ERROR_bail_out;
extern SC_EXPRESS_EXPORT Error ERROR_syntax;
extern SC_EXPRESS_EXPORT Error ERROR_unlabelled_param_type;
extern SC_EXPRESS_EXPORT Error ERROR_file_unreadable;
extern SC_EXPRESS_EXPORT Error ERROR_file_unwriteable;
extern SC_EXPRESS_EXPORT Error ERROR_warn_unsupported_lang_feat;
extern SC_EXPRESS_EXPORT Error ERROR_warn_small_real;
GLOBAL SCL_EXPRESS_EXPORT void ( *EXPRESSinit_args ) PROTO( ( int, char ** ) ) INITIALLY( 0 );
GLOBAL SCL_EXPRESS_EXPORT void ( *EXPRESSinit_parse ) PROTO( ( void ) ) INITIALLY( 0 );
GLOBAL SCL_EXPRESS_EXPORT int ( *EXPRESSfail ) PROTO( ( Express ) ) INITIALLY( 0 );
GLOBAL SCL_EXPRESS_EXPORT int ( *EXPRESSsucceed ) PROTO( ( Express ) ) INITIALLY( 0 );
GLOBAL SCL_EXPRESS_EXPORT void ( *EXPRESSbackend ) PROTO( ( Express ) ) INITIALLY( 0 );
GLOBAL SCL_EXPRESS_EXPORT char * EXPRESSprogram_name;
extern char EXPRESSgetopt_options[256]; /**< initialized elsewhere */
GLOBAL SCL_EXPRESS_EXPORT int ( *EXPRESSgetopt ) PROTO( ( int, char * ) ) INITIALLY( 0 );
GLOBAL SCL_EXPRESS_EXPORT bool EXPRESSignore_duplicate_schemas INITIALLY( false );
extern SC_EXPRESS_EXPORT struct Scope_ * FUNC_NVL;
extern SC_EXPRESS_EXPORT struct Scope_ * FUNC_USEDIN;
GLOBAL SCL_EXPRESS_EXPORT Dictionary EXPRESSbuiltins; /**< procedures/functions */
extern SC_EXPRESS_EXPORT char * KW_ABS;
extern SC_EXPRESS_EXPORT char * KW_ABSTRACT;
extern SC_EXPRESS_EXPORT char * KW_ACOS;
extern SC_EXPRESS_EXPORT char * KW_AGGREGATE;
extern SC_EXPRESS_EXPORT char * KW_ALIAS;
extern SC_EXPRESS_EXPORT char * KW_AND;
extern SC_EXPRESS_EXPORT char * KW_ANDOR;
extern SC_EXPRESS_EXPORT char * KW_ARRAY;
extern SC_EXPRESS_EXPORT char * KW_AS;
extern SC_EXPRESS_EXPORT char * KW_ASIN;
extern SC_EXPRESS_EXPORT char * KW_ATAN;
extern SC_EXPRESS_EXPORT char * KW_BAG;
extern SC_EXPRESS_EXPORT char * KW_BEGIN;
extern SC_EXPRESS_EXPORT char * KW_BINARY;
extern SC_EXPRESS_EXPORT char * KW_BLENGTH;
extern SC_EXPRESS_EXPORT char * KW_BOOLEAN;
extern SC_EXPRESS_EXPORT char * KW_BY;
extern SC_EXPRESS_EXPORT char * KW_CASE;
extern SC_EXPRESS_EXPORT char * KW_CONST_E;
extern SC_EXPRESS_EXPORT char * KW_CONSTANT;
extern SC_EXPRESS_EXPORT char * KW_CONTEXT;
extern SC_EXPRESS_EXPORT char * KW_COS;
extern SC_EXPRESS_EXPORT char * KW_DERIVE;
extern SC_EXPRESS_EXPORT char * KW_DIV;
extern SC_EXPRESS_EXPORT char * KW_ELSE;
extern SC_EXPRESS_EXPORT char * KW_END;
extern SC_EXPRESS_EXPORT char * KW_END_ALIAS;
extern SC_EXPRESS_EXPORT char * KW_END_CASE;
extern SC_EXPRESS_EXPORT char * KW_END_CONSTANT;
extern SC_EXPRESS_EXPORT char * KW_END_CONTEXT;
extern SC_EXPRESS_EXPORT char * KW_END_ENTITY;
extern SC_EXPRESS_EXPORT char * KW_END_FUNCTION;
extern SC_EXPRESS_EXPORT char * KW_END_IF;
extern SC_EXPRESS_EXPORT char * KW_END_LOCAL;
extern SC_EXPRESS_EXPORT char * KW_END_MODEL;
extern SC_EXPRESS_EXPORT char * KW_END_PROCEDURE;
extern SC_EXPRESS_EXPORT char * KW_END_REPEAT;
extern SC_EXPRESS_EXPORT char * KW_END_RULE;
extern SC_EXPRESS_EXPORT char * KW_END_SCHEMA;
extern SC_EXPRESS_EXPORT char * KW_END_TYPE;
extern SC_EXPRESS_EXPORT char * KW_ENTITY;
extern SC_EXPRESS_EXPORT char * KW_ENUMERATION;
extern SC_EXPRESS_EXPORT char * KW_ESCAPE;
extern SC_EXPRESS_EXPORT char * KW_EXISTS;
extern SC_EXPRESS_EXPORT char * KW_EXP;
extern SC_EXPRESS_EXPORT char * KW_FALSE;
extern SC_EXPRESS_EXPORT char * KW_FIXED;
extern SC_EXPRESS_EXPORT char * KW_FOR;
extern SC_EXPRESS_EXPORT char * KW_FORMAT;
extern SC_EXPRESS_EXPORT char * KW_FROM;
extern SC_EXPRESS_EXPORT char * KW_FUNCTION;
extern SC_EXPRESS_EXPORT char * KW_GENERIC;
extern SC_EXPRESS_EXPORT char * KW_HIBOUND;
extern SC_EXPRESS_EXPORT char * KW_HIINDEX;
extern SC_EXPRESS_EXPORT char * KW_IF;
extern SC_EXPRESS_EXPORT char * KW_IN;
extern SC_EXPRESS_EXPORT char * KW_INCLUDE;
extern SC_EXPRESS_EXPORT char * KW_INSERT;
extern SC_EXPRESS_EXPORT char * KW_INTEGER;
extern SC_EXPRESS_EXPORT char * KW_INVERSE;
extern SC_EXPRESS_EXPORT char * KW_LENGTH;
extern SC_EXPRESS_EXPORT char * KW_LIKE;
extern SC_EXPRESS_EXPORT char * KW_LIST;
extern SC_EXPRESS_EXPORT char * KW_LOBOUND;
extern SC_EXPRESS_EXPORT char * KW_LOCAL;
extern SC_EXPRESS_EXPORT char * KW_LOG;
extern SC_EXPRESS_EXPORT char * KW_LOG10;
extern SC_EXPRESS_EXPORT char * KW_LOG2;
extern SC_EXPRESS_EXPORT char * KW_LOGICAL;
extern SC_EXPRESS_EXPORT char * KW_LOINDEX;
extern SC_EXPRESS_EXPORT char * KW_MOD;
extern SC_EXPRESS_EXPORT char * KW_MODEL;
extern SC_EXPRESS_EXPORT char * KW_NOT;
extern SC_EXPRESS_EXPORT char * KW_NUMBER;
extern SC_EXPRESS_EXPORT char * KW_NVL;
extern SC_EXPRESS_EXPORT char * KW_ODD;
extern SC_EXPRESS_EXPORT char * KW_OF;
extern SC_EXPRESS_EXPORT char * KW_ONEOF;
extern SC_EXPRESS_EXPORT char * KW_OPTIONAL;
extern SC_EXPRESS_EXPORT char * KW_OR;
extern SC_EXPRESS_EXPORT char * KW_OTHERWISE;
extern SC_EXPRESS_EXPORT char * KW_PI;
extern SC_EXPRESS_EXPORT char * KW_PROCEDURE;
extern SC_EXPRESS_EXPORT char * KW_QUERY;
extern SC_EXPRESS_EXPORT char * KW_REAL;
extern SC_EXPRESS_EXPORT char * KW_REFERENCE;
extern SC_EXPRESS_EXPORT char * KW_REMOVE;
extern SC_EXPRESS_EXPORT char * KW_REPEAT;
extern SC_EXPRESS_EXPORT char * KW_RETURN;
extern SC_EXPRESS_EXPORT char * KW_ROLESOF;
extern SC_EXPRESS_EXPORT char * KW_RULE;
extern SC_EXPRESS_EXPORT char * KW_SCHEMA;
extern SC_EXPRESS_EXPORT char * KW_SELECT;
extern SC_EXPRESS_EXPORT char * KW_SELF;
extern SC_EXPRESS_EXPORT char * KW_SET;
extern SC_EXPRESS_EXPORT char * KW_SIN;
extern SC_EXPRESS_EXPORT char * KW_SIZEOF;
extern SC_EXPRESS_EXPORT char * KW_SKIP;
extern SC_EXPRESS_EXPORT char * KW_SQRT;
extern SC_EXPRESS_EXPORT char * KW_STRING;
extern SC_EXPRESS_EXPORT char * KW_SUBTYPE;
extern SC_EXPRESS_EXPORT char * KW_SUPERTYPE;
extern SC_EXPRESS_EXPORT char * KW_TAN;
extern SC_EXPRESS_EXPORT char * KW_THEN;
extern SC_EXPRESS_EXPORT char * KW_TO;
extern SC_EXPRESS_EXPORT char * KW_TRUE;
extern SC_EXPRESS_EXPORT char * KW_TYPE;
extern SC_EXPRESS_EXPORT char * KW_TYPEOF;
extern SC_EXPRESS_EXPORT char * KW_UNIQUE;
extern SC_EXPRESS_EXPORT char * KW_UNKNOWN;
extern SC_EXPRESS_EXPORT char * KW_UNTIL;
extern SC_EXPRESS_EXPORT char * KW_USE;
extern SC_EXPRESS_EXPORT char * KW_USEDIN;
extern SC_EXPRESS_EXPORT char * KW_VALUE;
extern SC_EXPRESS_EXPORT char * KW_VALUE_IN;
extern SC_EXPRESS_EXPORT char * KW_VALUE_UNIQUE;
extern SC_EXPRESS_EXPORT char * KW_VAR;
extern SC_EXPRESS_EXPORT char * KW_WHERE;
extern SC_EXPRESS_EXPORT char * KW_WHILE;
extern SC_EXPRESS_EXPORT char * KW_XOR;
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_bail_out INITIALLY( ERROR_none );
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_syntax INITIALLY( ERROR_none );
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_unlabelled_param_type INITIALLY( ERROR_none );
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_file_unreadable;
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_file_unwriteable;
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_warn_unsupported_lang_feat;
GLOBAL SCL_EXPRESS_EXPORT struct Scope_ * FUNC_NVL;
GLOBAL SCL_EXPRESS_EXPORT struct Scope_ * FUNC_USEDIN;
GLOBAL SCL_EXPRESS_EXPORT char * KW_ABS INITIALLY( "ABS" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_ABSTRACT INITIALLY( "ABSTRACT" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_ACOS INITIALLY( "ACOS" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_AGGREGATE INITIALLY( "AGGREGATE" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_ALIAS INITIALLY( "ALIAS" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_AND INITIALLY( "AND" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_ANDOR INITIALLY( "ANDOR" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_ARRAY INITIALLY( "ARRAY" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_AS INITIALLY( "AS" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_ASIN INITIALLY( "ASIN" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_ATAN INITIALLY( "ATAN" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_BAG INITIALLY( "BAG" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_BEGIN INITIALLY( "BEGIN" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_BINARY INITIALLY( "BINARY" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_BLENGTH INITIALLY( "BLENGTH" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_BOOLEAN INITIALLY( "BOOLEAN" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_BY INITIALLY( "BY" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_CASE INITIALLY( "CASE" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_CONST_E INITIALLY( "CONST_E" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_CONSTANT INITIALLY( "CONSTANT" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_CONTEXT INITIALLY( "CONTEXT" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_COS INITIALLY( "COS" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_DERIVE INITIALLY( "DERIVE" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_DIV INITIALLY( "DIV" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_ELSE INITIALLY( "ELSE" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_END INITIALLY( "END" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_END_ALIAS INITIALLY( "END_ALIAS" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_END_CASE INITIALLY( "END_CASE" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_END_CONSTANT INITIALLY( "END_CONSTANT" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_END_CONTEXT INITIALLY( "END_CONTEXT" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_END_ENTITY INITIALLY( "END_ENTITY" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_END_FUNCTION INITIALLY( "END_FUNCTION" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_END_IF INITIALLY( "END_IF" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_END_LOCAL INITIALLY( "END_LOCAL" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_END_MODEL INITIALLY( "END_MODEL" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_END_PROCEDURE INITIALLY( "END_PROCEDURE" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_END_REPEAT INITIALLY( "END_REPEAT" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_END_RULE INITIALLY( "END_RULE" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_END_SCHEMA INITIALLY( "END_SCHEMA" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_END_TYPE INITIALLY( "END_TYPE" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_ENTITY INITIALLY( "ENTITY" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_ENUMERATION INITIALLY( "ENUMERATION" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_ESCAPE INITIALLY( "ESCAPE" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_EXISTS INITIALLY( "EXISTS" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_EXP INITIALLY( "EXP" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_FALSE INITIALLY( "FALSE" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_FIXED INITIALLY( "FIXED" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_FOR INITIALLY( "FOR" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_FORMAT INITIALLY( "FORMAT" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_FROM INITIALLY( "FROM" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_FUNCTION INITIALLY( "FUNCTION" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_GENERIC INITIALLY( "GENERIC" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_HIBOUND INITIALLY( "HIBOUND" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_HIINDEX INITIALLY( "HIINDEX" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_IF INITIALLY( "IF" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_IN INITIALLY( "IN" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_INCLUDE INITIALLY( "INCLUDE" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_INSERT INITIALLY( "INSERT" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_INTEGER INITIALLY( "INTEGER" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_INVERSE INITIALLY( "INVERSE" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_LENGTH INITIALLY( "LENGTH" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_LIKE INITIALLY( "LIKE" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_LIST INITIALLY( "LIST" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_LOBOUND INITIALLY( "LOBOUND" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_LOCAL INITIALLY( "LOCAL" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_LOG INITIALLY( "LOG" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_LOG10 INITIALLY( "LOG10" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_LOG2 INITIALLY( "LOG2" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_LOGICAL INITIALLY( "LOGICAL" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_LOINDEX INITIALLY( "LOINDEX" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_MOD INITIALLY( "MOD" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_MODEL INITIALLY( "MODEL" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_NOT INITIALLY( "NOT" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_NUMBER INITIALLY( "NUMBER" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_NVL INITIALLY( "NVL" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_ODD INITIALLY( "ODD" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_OF INITIALLY( "OF" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_ONEOF INITIALLY( "ONEOF" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_OPTIONAL INITIALLY( "OPTIONAL" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_OR INITIALLY( "OR" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_OTHERWISE INITIALLY( "OTHERWISE" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_PI INITIALLY( "PI" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_PROCEDURE INITIALLY( "PROCEDURE" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_QUERY INITIALLY( "QUERY" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_REAL INITIALLY( "REAL" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_REFERENCE INITIALLY( "REFERENCE" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_REMOVE INITIALLY( "REMOVE" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_REPEAT INITIALLY( "REPEAT" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_RETURN INITIALLY( "RETURN" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_ROLESOF INITIALLY( "ROLESOF" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_RULE INITIALLY( "RULE" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_SCHEMA INITIALLY( "SCHEMA" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_SELECT INITIALLY( "SELECT" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_SELF INITIALLY( "SELF" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_SET INITIALLY( "SET" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_SIN INITIALLY( "SIN" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_SIZEOF INITIALLY( "SIZEOF" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_SKIP INITIALLY( "SKIP" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_SQRT INITIALLY( "SQRT" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_STRING INITIALLY( "STRING" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_SUBTYPE INITIALLY( "SUBTYPE" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_SUPERTYPE INITIALLY( "SUPERTYPE" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_TAN INITIALLY( "TAN" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_THEN INITIALLY( "THEN" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_TO INITIALLY( "TO" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_TRUE INITIALLY( "TRUE" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_TYPE INITIALLY( "TYPE" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_TYPEOF INITIALLY( "TYPEOF" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_UNIQUE INITIALLY( "UNIQUE" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_UNKNOWN INITIALLY( "UNKNOWN" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_UNTIL INITIALLY( "UNTIL" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_USE INITIALLY( "USE" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_USEDIN INITIALLY( "USEDIN" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_VALUE INITIALLY( "VALUE" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_VALUE_IN INITIALLY( "VALUE_IN" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_VALUE_UNIQUE INITIALLY( "VALUE_UNIQUE" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_VAR INITIALLY( "VAR" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_WHERE INITIALLY( "WHERE" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_WHILE INITIALLY( "WHILE" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_XOR INITIALLY( "XOR" );
#undef GLOBAL
#undef INITIALLY
/******************************/
/* macro function definitions */
@@ -249,17 +265,16 @@ extern SC_EXPRESS_EXPORT char * KW_XOR;
/* function prototypes */
/***********************/
extern SC_EXPRESS_EXPORT Express EXPRESScreate PROTO( ( void ) );
extern SC_EXPRESS_EXPORT void EXPRESSdestroy PROTO( ( Express ) );
extern SC_EXPRESS_EXPORT void EXPRESSparse PROTO( ( Express, FILE *, char * ) );
extern SC_EXPRESS_EXPORT void EXPRESSinitialize PROTO( ( void ) );
extern SC_EXPRESS_EXPORT void EXPRESScleanup PROTO( ( void ) );
extern SC_EXPRESS_EXPORT void EXPRESSresolve PROTO( ( Express ) );
extern SC_EXPRESS_EXPORT char * EXPRESSversion PROTO( ( void ) );
extern SC_EXPRESS_EXPORT int EXPRESS_fail PROTO( ( Express ) );
extern SC_EXPRESS_EXPORT int EXPRESS_succeed PROTO( ( Express ) );
extern void EXPRESSinit_init PROTO( ( void ) );
extern SC_EXPRESS_EXPORT void EXPRESSusage( int _exit ); /**< exit unless _exit is non-zero */
extern SC_EXPRESS_EXPORT void build_complex( Express );
extern SCL_EXPRESS_EXPORT Express EXPRESScreate PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT void EXPRESSdestroy PROTO( ( Express ) );
extern SCL_EXPRESS_EXPORT void EXPRESSparse PROTO( ( Express, FILE *, char * ) );
extern SCL_EXPRESS_EXPORT void EXPRESSinitialize PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT void EXPRESScleanup PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT void EXPRESSresolve PROTO( ( Express ) );
extern SCL_EXPRESS_EXPORT char * EXPRESSversion PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT int EXPRESS_fail PROTO( ( Express ) );
extern SCL_EXPRESS_EXPORT int EXPRESS_succeed PROTO( ( Express ) );
extern void EXPRESSinit_init PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT void build_complex( Express );
#endif /*EXPRESS_H*/
+27 -12
View File
@@ -100,7 +100,11 @@
/* packages used */
/*****************/
#include <sc_export.h>
#include <scl_export.h>
#ifdef HASH_C
#include <assert.h>
#endif /*HASH_C*/
#include "memory.h"
/************/
@@ -131,7 +135,7 @@ typedef struct Hash_Table_ {
#endif
unsigned int p; /**< Next bucket to be split */
unsigned int maxp; /**< upper bound on p during expansion */
unsigned int KeyCount; /**< current # keys */
long KeyCount; /**< current # keys */
unsigned int SegmentCount; /**< current # segments */
unsigned int MinLoadFactor;
unsigned int MaxLoadFactor;
@@ -156,8 +160,19 @@ typedef struct {
/* global variables */
/********************/
extern SC_EXPRESS_EXPORT struct freelist_head HASH_Table_fl;
extern SC_EXPRESS_EXPORT struct freelist_head HASH_Element_fl;
#ifdef HASH_C
# define GLOBAL
# define INITIALLY(value) = value
#else
# define GLOBAL extern
# define INITIALLY(value)
#endif /*HASH_C*/
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head HASH_Table_fl;
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head HASH_Element_fl;
#undef GLOBAL
#undef INITIALLY
/******************************/
/* macro function definitions */
@@ -193,13 +208,13 @@ This change only seems to have affected hash.h and hash.c
/* function prototypes */
/***********************/
extern SC_EXPRESS_EXPORT void HASHinitialize PROTO( ( void ) );
extern SC_EXPRESS_EXPORT Hash_Table HASHcreate PROTO( ( unsigned ) );
extern SC_EXPRESS_EXPORT Hash_Table HASHcopy PROTO( ( Hash_Table ) );
extern SC_EXPRESS_EXPORT void HASHdestroy PROTO( ( Hash_Table ) );
extern SC_EXPRESS_EXPORT Element HASHsearch PROTO( ( Hash_Table, Element, Action ) );
extern SC_EXPRESS_EXPORT void HASHlistinit PROTO( ( Hash_Table, HashEntry * ) );
extern SC_EXPRESS_EXPORT void HASHlistinit_by_type PROTO( ( Hash_Table, HashEntry *, char ) );
extern SC_EXPRESS_EXPORT Element HASHlist PROTO( ( HashEntry * ) );
extern SCL_EXPRESS_EXPORT void HASHinitialize PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT Hash_Table HASHcreate PROTO( ( unsigned ) );
extern SCL_EXPRESS_EXPORT Hash_Table HASHcopy PROTO( ( Hash_Table ) );
extern SCL_EXPRESS_EXPORT void HASHdestroy PROTO( ( Hash_Table ) );
extern SCL_EXPRESS_EXPORT Element HASHsearch PROTO( ( Hash_Table, Element, Action ) );
extern SCL_EXPRESS_EXPORT void HASHlistinit PROTO( ( Hash_Table, HashEntry * ) );
extern SCL_EXPRESS_EXPORT void HASHlistinit_by_type PROTO( ( Hash_Table, HashEntry *, char ) );
extern SCL_EXPRESS_EXPORT Element HASHlist PROTO( ( HashEntry * ) );
#endif /*HASH_H*/
+91 -30
View File
@@ -38,7 +38,7 @@
/* packages used */
/*****************/
#include <sc_export.h>
#include <scl_export.h>
#include <ctype.h>
#include "basic.h"
#include "error.h"
@@ -68,19 +68,31 @@ typedef struct Scan_Buffer {
/* global variables */
/********************/
extern SC_EXPRESS_EXPORT Scan_Buffer SCAN_buffers[SCAN_NESTING_DEPTH];
extern SC_EXPRESS_EXPORT int SCAN_current_buffer;
extern SC_EXPRESS_EXPORT char * SCANcurrent;
#ifdef LEX_ACTIONS_C
# define GLOBAL
# define INITIALLY(value) = value
#else
# define GLOBAL extern
# define INITIALLY(value)
#endif /* LEX_ACTIONS_C */
extern SC_EXPRESS_EXPORT Error ERROR_include_file;
extern SC_EXPRESS_EXPORT Error ERROR_unmatched_close_comment;
extern SC_EXPRESS_EXPORT Error ERROR_unmatched_open_comment;
extern SC_EXPRESS_EXPORT Error ERROR_unterminated_string;
extern SC_EXPRESS_EXPORT Error ERROR_encoded_string_bad_digit;
extern SC_EXPRESS_EXPORT Error ERROR_encoded_string_bad_count;
extern SC_EXPRESS_EXPORT Error ERROR_bad_identifier;
extern SC_EXPRESS_EXPORT Error ERROR_unexpected_character;
extern SC_EXPRESS_EXPORT Error ERROR_nonascii_char;
GLOBAL SCL_EXPRESS_EXPORT Scan_Buffer SCAN_buffers[SCAN_NESTING_DEPTH];
GLOBAL SCL_EXPRESS_EXPORT int SCAN_current_buffer INITIALLY( 0 );
GLOBAL SCL_EXPRESS_EXPORT char * SCANcurrent;
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_include_file INITIALLY( ERROR_none );
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_unmatched_close_comment INITIALLY( ERROR_none );
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_unmatched_open_comment INITIALLY( ERROR_none );
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_unterminated_string INITIALLY( ERROR_none );
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_encoded_string_bad_digit INITIALLY( ERROR_none );
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_encoded_string_bad_count INITIALLY( ERROR_none );
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_bad_identifier INITIALLY( ERROR_none );
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_unexpected_character INITIALLY( ERROR_none );
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_nonascii_char;
#undef GLOBAL
#undef INITIALLY
/******************************/
/* macro function definitions */
@@ -99,22 +111,71 @@ extern SC_EXPRESS_EXPORT Error ERROR_nonascii_char;
/* function prototypes */
/***********************/
extern SC_EXPRESS_EXPORT void SCANinitialize PROTO( ( void ) );
extern SC_EXPRESS_EXPORT void SCANcleanup( void );
extern SC_EXPRESS_EXPORT int SCANprocess_real_literal PROTO( ( const char * ) );
extern SC_EXPRESS_EXPORT int SCANprocess_integer_literal PROTO( ( const char * ) );
extern SC_EXPRESS_EXPORT int SCANprocess_binary_literal PROTO( ( const char * ) );
extern SC_EXPRESS_EXPORT int SCANprocess_logical_literal PROTO( ( char * ) );
extern SC_EXPRESS_EXPORT int SCANprocess_identifier_or_keyword PROTO( ( const char * ) );
extern SC_EXPRESS_EXPORT int SCANprocess_string PROTO( ( const char * ) );
extern SC_EXPRESS_EXPORT int SCANprocess_encoded_string PROTO( ( const char * ) );
extern SC_EXPRESS_EXPORT int SCANprocess_semicolon PROTO( ( const char *, int ) );
extern SC_EXPRESS_EXPORT void SCANsave_comment PROTO( ( const char * ) );
extern SC_EXPRESS_EXPORT bool SCANread PROTO( ( void ) );
extern SC_EXPRESS_EXPORT void SCANinclude_file PROTO( ( char * ) );
SC_EXPRESS_EXPORT void SCANlowerize PROTO( ( char * ) );
SC_EXPRESS_EXPORT void SCANupperize PROTO( ( char * ) );
extern SC_EXPRESS_EXPORT char * SCANstrdup PROTO( ( const char * ) );
extern SC_EXPRESS_EXPORT long SCANtell PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT int yylex PROTO( ( void ) ); /* the scanner */
extern SCL_EXPRESS_EXPORT void SCANinitialize PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT int SCANprocess_real_literal PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT int SCANprocess_integer_literal PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT int SCANprocess_binary_literal PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT int SCANprocess_logical_literal PROTO( ( char * ) );
extern SCL_EXPRESS_EXPORT int SCANprocess_identifier_or_keyword PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT int SCANprocess_string PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT int SCANprocess_encoded_string PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT int SCANprocess_semicolon PROTO( ( int ) );
extern SCL_EXPRESS_EXPORT void SCANsave_comment PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT bool SCANread PROTO( ( void ) );
#if macros_bit_the_dust
extern SCL_EXPRESS_EXPORT void SCANdefine_macro PROTO( ( char *, char * ) );
#endif
extern SCL_EXPRESS_EXPORT void SCANinclude_file PROTO( ( char * ) );
SCL_EXPRESS_EXPORT void SCANlowerize PROTO( ( char * ) );
SCL_EXPRESS_EXPORT void SCANupperize PROTO( ( char * ) );
extern SCL_EXPRESS_EXPORT char * SCANstrdup PROTO( ( char * ) );
extern SCL_EXPRESS_EXPORT long SCANtell PROTO( ( void ) );
/*******************************/
/* inline function definitions */
/*******************************/
#if supports_inline_functions || defined(LEX_ACTIONS_C)
static_inline
int
SCANnextchar( char * buffer ) {
extern bool SCANread( void );
#ifdef keep_nul
static int escaped = 0;
#endif
if( SCANtext_ready || SCANread() ) {
#ifdef keep_nul
if( !*SCANcurrent ) {
buffer[0] = SCAN_ESCAPE;
*SCANcurrent = '0';
return 1;
} else if( ( *SCANcurrent == SCAN_ESCAPE ) && !escaped ) {
escaped = 1;
buffer[0] = SCAN_ESCAPE;
return 1;
}
SCANbuffer.numRead--;
#endif
buffer[0] = *( SCANcurrent++ );
#ifdef __MSVC__
if( !__isascii( buffer[0] ) ) {
#else
if( !isascii( buffer[0] ) ) {
#endif
ERRORreport_with_line( ERROR_nonascii_char, yylineno,
0xff & buffer[0] );
buffer[0] = ' '; /* substitute space */
}
return 1;
} else {
return 0;
}
}
#endif /* supports_inline_functions || defined(LEX_ACTIONS_C) */
#endif /* LEX_ACTIONS_H */
+72 -35
View File
@@ -36,7 +36,7 @@
/* packages used */
/*****************/
#include <sc_export.h>
#include <scl_export.h>
#include "basic.h"
#include "memory.h"
@@ -70,9 +70,18 @@ struct Linked_List_ {
/* global variables */
/********************/
extern SC_EXPRESS_EXPORT Error ERROR_empty_list;
extern SC_EXPRESS_EXPORT struct freelist_head LINK_fl;
extern SC_EXPRESS_EXPORT struct freelist_head LIST_fl;
#ifdef LINKED_LIST_C
#include "defstart.h"
#else
#include "decstart.h"
#endif /*LINKED_LIST_C*/
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_empty_list INITIALLY( ERROR_none );
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head LINK_fl;
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head LIST_fl;
GLOBAL SCL_EXPRESS_EXPORT Linked_List LINK__l; /* for LISTcreate_with macro - ugh */
#include "de_end.h"
/******************************/
/* macro function definitions */
@@ -83,25 +92,24 @@ extern SC_EXPRESS_EXPORT struct freelist_head LIST_fl;
#define LIST_new() (struct Linked_List_ *)MEM_new(&LIST_fl)
#define LIST_destroy(x) MEM_destroy(&LIST_fl,(Freelist *)(Generic)x)
/** following could be optimized */
#define LISTcreate_with(x) (LINK__l = LISTcreate()),\
LISTadd(LINK__l,x),\
LINK_l)
/** accessing links */
#define LINKdata(link) (link)->data
#define LINKnext(link) (link)->next
#define LINKprev(link) (link)->prev
/** iteration */
#define LISTdo(list, elt, type) LISTdo_n( list, elt, type, a )
/** LISTdo_n: LISTdo with nesting
* parameter 'uniq' changes the variable names, allowing us to nest it without -Wshadow warnings
*/
#define LISTdo_n(list, elt, type, uniq) \
{struct Linked_List_ * _ ## uniq ## l = (list); \
type elt; \
Link _ ## uniq ## p; \
if( _ ## uniq ## l ) { \
for( _ ## uniq ## p = _ ## uniq ## l->mark; \
( _ ## uniq ## p = _ ## uniq ## p->next ) != _ ## uniq ## l->mark; ) { \
( elt ) = ( type ) ( ( _ ## uniq ## p )->data );
#define LISTdo(list, elt, type) \
{struct Linked_List_ * __l = (list); \
type elt; \
Link __p; \
if (__l) { \
for (__p = __l->mark; (__p = __p->next) != __l->mark; ) { \
(elt) = (type)((__p)->data);
#define LISTdo_links(list, link) \
{Linked_List __i = (list); \
@@ -116,29 +124,58 @@ extern SC_EXPRESS_EXPORT struct freelist_head LIST_fl;
(((struct Linked_List_*)list)->mark->next->data)
/** function aliases */
#define LISTadd(list, item) LISTadd_last(list, item)
#define LISTadd_all(list, items) \
LISTdo(items, e, Generic) { \
LISTadd_last(list, e); \
} LISTod;
LISTdo(items, e, Generic) \
LISTadd(list, e); \
LISTod;
/***********************/
/* function prototypes */
/***********************/
extern SC_EXPRESS_EXPORT void LISTinitialize PROTO( ( void ) );
extern SC_EXPRESS_EXPORT void LISTcleanup PROTO( ( void ) );
extern SC_EXPRESS_EXPORT Linked_List LISTcreate PROTO( ( void ) );
extern SC_EXPRESS_EXPORT Linked_List LISTcopy PROTO( ( Linked_List ) );
extern SC_EXPRESS_EXPORT Generic LISTadd_first PROTO( ( Linked_List, Generic ) );
extern SC_EXPRESS_EXPORT Generic LISTadd_last PROTO( ( Linked_List, Generic ) );
extern SC_EXPRESS_EXPORT Generic LISTadd_after PROTO( ( Linked_List, Link, Generic ) );
extern SC_EXPRESS_EXPORT Generic LISTadd_before PROTO( ( Linked_List, Link, Generic ) );
extern SC_EXPRESS_EXPORT Generic LISTremove_first PROTO( ( Linked_List ) );
extern SC_EXPRESS_EXPORT Generic LISTget_first PROTO( ( Linked_List ) );
extern SC_EXPRESS_EXPORT Generic LISTget_second PROTO( ( Linked_List ) );
extern SC_EXPRESS_EXPORT Generic LISTget_nth PROTO( ( Linked_List, int ) );
extern SC_EXPRESS_EXPORT void LISTfree PROTO( ( Linked_List ) );
extern SC_EXPRESS_EXPORT int LISTget_length PROTO( ( Linked_List ) );
extern SC_EXPRESS_EXPORT bool LISTempty( Linked_List list );
extern SCL_EXPRESS_EXPORT void LISTinitialize PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT void LISTcleanup PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT Linked_List LISTcreate PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT Linked_List LISTcopy PROTO( ( Linked_List ) );
extern SCL_EXPRESS_EXPORT Generic LISTadd_first PROTO( ( Linked_List, Generic ) );
extern SCL_EXPRESS_EXPORT Generic LISTadd_last PROTO( ( Linked_List, Generic ) );
extern SCL_EXPRESS_EXPORT Generic LISTadd_after PROTO( ( Linked_List, Link, Generic ) );
extern SCL_EXPRESS_EXPORT Generic LISTadd_before PROTO( ( Linked_List, Link, Generic ) );
extern SCL_EXPRESS_EXPORT Generic LISTremove_first PROTO( ( Linked_List ) );
extern SCL_EXPRESS_EXPORT Generic LISTremove PROTO( ( Linked_List, Link ) );
extern SCL_EXPRESS_EXPORT Generic LISTget_first PROTO( ( Linked_List ) );
extern SCL_EXPRESS_EXPORT Generic LISTget_second PROTO( ( Linked_List ) );
extern SCL_EXPRESS_EXPORT Generic LISTget_nth PROTO( ( Linked_List, int ) );
extern SCL_EXPRESS_EXPORT void LISTfree PROTO( ( Linked_List ) );
extern SCL_EXPRESS_EXPORT int LISTget_length PROTO( ( Linked_List ) );
/*******************************/
/* inline function definitions */
/*******************************/
#if !defined(__BORLAND__)
#if supports_inline_functions || defined(LINKED_LIST_C)
static_inline
bool
LISTempty( Linked_List list ) {
if( !list ) {
return true;
}
if( list->mark->next == list->mark ) {
return true;
}
return false;
}
#endif /* supports_inline_functions || defined(LINKED_LIST_C) */
#else
extern SCL_EXPRESS_EXPORT bool LISTempty( Linked_List list );
#endif
#endif /*LINKED_LIST_H*/
+16 -7
View File
@@ -28,7 +28,7 @@
/* packages used */
/*****************/
#include <sc_export.h>
#include <scl_export.h>
/** \file memory.h - defs for fixed size block memory allocator */
@@ -53,7 +53,7 @@ struct freelist_head {
int size; /**< size of a single elt incl. next ptr */
int bytes; /**< if we run out, allocate memory by this many bytes */
Freelist * freelist;
#ifdef SPACE_PROFILE
#if SPACE_PROFILE
int count;
#endif
};
@@ -62,11 +62,18 @@ char * nnew();
#include "error.h"
/* should be MEMORY_C but there is none, so we'll tie it to express.c */
#ifdef EXPRESS_C
#include "defstart.h"
#else
#include "decstart.h"
#endif /* EXPRESS_C */
/***********************************************/
/* space allocation macros with error package: */
/***********************************************/
extern SC_EXPRESS_EXPORT int yylineno;
extern int yylineno;
/** CALLOC grabs and initializes to all 0s space for the indicated
* number of instances of the indicated type */
@@ -75,10 +82,12 @@ extern SC_EXPRESS_EXPORT int yylineno;
fprintf(stderr,"fedex: out of space");\
} else {}
SC_EXPRESS_EXPORT void _MEMinitialize PROTO( ( void ) );
SC_EXPRESS_EXPORT void MEMinitialize PROTO( ( struct freelist_head * flh, unsigned int size, int alloc1, int alloc2 ) );
SC_EXPRESS_EXPORT void MEM_destroy PROTO( ( struct freelist_head *, Freelist * ) );
SC_EXPRESS_EXPORT Generic MEM_new PROTO( ( struct freelist_head * ) );
SCL_EXPRESS_EXPORT void _MEMinitialize PROTO( ( void ) );
SCL_EXPRESS_EXPORT void MEMinitialize PROTO( ( struct freelist_head *, int, int, int ) );
SCL_EXPRESS_EXPORT void MEM_destroy PROTO( ( struct freelist_head *, Freelist * ) );
SCL_EXPRESS_EXPORT Generic MEM_new PROTO( ( struct freelist_head * ) );
#include "de_end.h"
#endif /* MEMORY_H */
+16 -6
View File
@@ -55,7 +55,7 @@
/* packages used */
/*****************/
#include <sc_export.h>
#include <scl_export.h>
#include "basic.h" /* get basic definitions */
#include "symbol.h"
@@ -81,7 +81,15 @@ struct Object {
/* global variables */
/********************/
extern SC_EXPRESS_EXPORT struct Object * OBJ;
#ifdef OBJECT_C
#include "defstart.h"
#else
#include "decstart.h"
#endif /*OBJECT_C */
GLOBAL SCL_EXPRESS_EXPORT struct Object * OBJ;
#include "de_end.h"
/******************************/
/* macro function definitions */
@@ -93,13 +101,15 @@ extern SC_EXPRESS_EXPORT struct Object * OBJ;
#define OBJtype_is_oneof(_type_,class) (OBJ[(int)_type_].bits & (class))
#define OBJget_name(obj,type) (OBJget_symbol(obj,type)->name)
/* removed #define statements for obsolete fn macros OBJequal OBJfree OBJreference OBJget_data */
/***********************/
/* function prototypes */
/***********************/
extern SC_EXPRESS_EXPORT void OBJinitialize PROTO( ( void ) );
extern SC_EXPRESS_EXPORT void OBJcleanup PROTO( ( void ) );
extern SC_EXPRESS_EXPORT void OBJcreate PROTO( ( char, struct Symbol_ * ( * )( Generic ), char *, int ) );
extern SC_EXPRESS_EXPORT Symbol * UNK_get_symbol PROTO( ( Generic x ) );
extern SCL_EXPRESS_EXPORT void OBJinitialize PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT void OBJcleanup PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT void OBJcreate PROTO( ( char, struct Symbol_ * ( * )( Generic ), char *, int ) );
extern SCL_EXPRESS_EXPORT Symbol * UNK_get_symbol PROTO( ( Generic x ) );
#endif /*OBJECT_H*/
+32 -24
View File
@@ -28,7 +28,7 @@
* Initial revision
*/
#include <sc_export.h>
#include <scl_export.h>
#include "expbasic.h" /* get basic definitions */
#include "type.h"
#include "variable.h"
@@ -45,27 +45,35 @@
/* global variables */
/********************/
extern SC_EXPRESS_EXPORT int print_objects_while_running;
#ifdef RESOLVE_C
# define GLOBAL
# define INITIALLY(value) = value
#else
# define GLOBAL extern
# define INITIALLY(value)
#endif /*RESOLVE_C*/
extern SC_EXPRESS_EXPORT Error ERROR_undefined_attribute;
extern SC_EXPRESS_EXPORT Error ERROR_undefined_type;
extern SC_EXPRESS_EXPORT Error ERROR_undefined_schema;
extern SC_EXPRESS_EXPORT Error ERROR_unknown_attr_in_entity;
extern SC_EXPRESS_EXPORT Error ERROR_unknown_subtype;
extern SC_EXPRESS_EXPORT Error ERROR_unknown_supertype;
extern SC_EXPRESS_EXPORT Error ERROR_circular_reference;
extern SC_EXPRESS_EXPORT Error ERROR_ambiguous_attribute;
extern SC_EXPRESS_EXPORT Error ERROR_ambiguous_group;
GLOBAL SCL_EXPRESS_EXPORT int print_objects_while_running INITIALLY( 0 );
extern SC_EXPRESS_EXPORT Error WARNING_case_skip_label;
extern SC_EXPRESS_EXPORT Error WARNING_fn_skip_branch;
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_undefined_attribute INITIALLY( ERROR_none );
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_undefined_type INITIALLY( ERROR_none );
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_undefined_schema INITIALLY( ERROR_none );
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_unknown_attr_in_entity INITIALLY( ERROR_none );
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_unknown_subtype INITIALLY( ERROR_none );
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_unknown_supertype INITIALLY( ERROR_none );
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_circular_reference INITIALLY( ERROR_none );
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_ambiguous_attribute INITIALLY( ERROR_none );
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_ambiguous_group INITIALLY( ERROR_none );
#undef GLOBAL
#undef INITIALLY
/* macros */
/* cheaper doing the check here, then inside the function call. Return */
/* immediately for RESOLVED, FAILED_TO_RESOLVE, and RESOLVE_IN_PROGRESS */
#define TYPEresolve(t) if (is_resolvable((*(t)))) TYPE_resolve((t))
#define VARresolve_types(v) if (is_resolvable((v)->name)) VAR_resolve_types((v))
#define TYPEresolve(t,s) if (is_resolvable((*(t)))) TYPE_resolve((t))
#define VARresolve_types(v,s) if (is_resolvable((v)->name)) VAR_resolve_types((v),(s))
#define VARresolve_expressions(v,s) if (is_resolvable((v)->name)) VAR_resolve_expressions((v),(s))
#define EXPresolve(expr,scope,type) if (!is_resolved(expr)) EXP_resolve(expr,scope,type)
@@ -73,14 +81,14 @@ extern SC_EXPRESS_EXPORT Error WARNING_fn_skip_branch;
/* function prototypes */
/***********************/
extern SC_EXPRESS_EXPORT void RESOLVEinitialize PROTO( ( void ) );
extern SC_EXPRESS_EXPORT void RESOLVEcleanup PROTO( ( void ) );
extern SC_EXPRESS_EXPORT void SCOPEresolve_expressions_statements PROTO( ( Scope ) );
extern SC_EXPRESS_EXPORT void SCOPEresolve_subsupers PROTO( ( Scope ) );
extern SC_EXPRESS_EXPORT void SCOPEresolve_types PROTO( ( Scope ) );
extern SC_EXPRESS_EXPORT void TYPE_resolve PROTO( ( Type * ) );
extern SC_EXPRESS_EXPORT void EXP_resolve PROTO( ( Expression, Scope, Type ) );
extern SC_EXPRESS_EXPORT void ALGresolve PROTO( ( Scope ) );
extern SC_EXPRESS_EXPORT void SCHEMAresolve PROTO( ( Scope ) );
extern SCL_EXPRESS_EXPORT void RESOLVEinitialize PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT void RESOLVEcleanup PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT void SCOPEresolve_expressions_statements PROTO( ( Scope ) );
extern SCL_EXPRESS_EXPORT void SCOPEresolve_subsupers PROTO( ( Scope ) );
extern SCL_EXPRESS_EXPORT void SCOPEresolve_types PROTO( ( Scope ) );
extern SCL_EXPRESS_EXPORT void TYPE_resolve PROTO( ( Type * ) );
extern SCL_EXPRESS_EXPORT void EXP_resolve PROTO( ( Expression, Scope, Type ) );
extern SCL_EXPRESS_EXPORT void ALGresolve PROTO( ( Scope ) );
extern SCL_EXPRESS_EXPORT void SCHEMAresolve PROTO( ( Scope ) );
#endif /*RESOLVE_H*/

Some files were not shown because too many files have changed in this diff Show More